| 
    
     |  | ▼miya さん: 
 あまりエレガントではないかもしれませんが、、、
 
 少数以下が有るか無いかを判定して、Format関数を別々に呼出すと言うのは
 どうでしょう?
 
 このコードを
 >      myC.Value = Format(Cells(myC.Tag, 1), "#0.##")
 
 こんなカンジにしてみる、、、
 If Cells(myC.Tag, 1) = Fix(Cells(myC.Tag, 1)) Then
 myC.Value = Format(Cells(myC.Tag, 1), "#0.##")
 Else
 myC.Value = Format(Cells(myC.Tag, 1), "#0")
 'または myC.Value = CStr(Cells(myC.Tag, 1))
 End If
 
 >セルの値が整数「10」の場合、テキストボックスに表示される値が
 >「 10. 」と小数点が表示してしまいます。
 >整数はそのままで、小数点がある場合は
 >下2桁までの表示にしたいのですが
 >どうすればよいでしょうか?
 
 セル参照のコードが冗長になって気になる場合は、変数に取ってもいいと思います。
 #好みや、Single型の使用が許されるかで色々でしょうが、、、
 #こんなカンジにも書けます。
 
 Dim myC       As Control
 Dim bPoint     As Boolean
 Dim sglCellValue  As Single
 For Each myC In Controls
 'Tagに設定値があれば
 If myC.Tag <> "" Then
 'セルの値をとる
 sglCellValue = CSng(Val(Cells(myC.Tag, 1)))
 '小数点以下があるか判定
 bPoint = sglCellValue <> Fix(sglCellValue)
 '整形して表示
 myC.Value = Format(Cells(myC.Tag, 1), IIf(bPoint, "#0.##", "#0"))
 End If
 Next
 
 
 |  |