[リストへもどる]
一括表示

投稿時間:2002/12/19(Thu) 18:17
投稿者名:むろむろ
Eメール:
URL :
タイトル:
MSFlexGridでの計算(文字列?)
以前教えて頂いたTextMatrixでMSFlexGridのセルを取得し、計算結果を
表示しています。
で、Format$で、表示形式を"#,###0"として表示されているものをさらに
計算をすると正しい計算結果がでません。
この場合はFormatとして出しておいた方が良いのでしょうか?

TextMatrix(3,1)の位置の計算として下記の記述をしています。
  Format$(Val(.TextMatrix(2, 1)) * 20000, "#,##0")
  その計算結果に「120,000」と出ています。
で、
Format$(Val(.TextMatrix(3,1)) *1.05, "#,##0") として
他のセルに出したいのですが、うまく計算されません。
TextMatrix(3,1)の「120,000」を数値として扱ってくれないのでしょうか?

          

投稿時間:2002/12/19(Thu) 22:21
投稿者名:花ちゃん
Eメール:
URL :
タイトル:
Re: MSFlexGridでの計算(文字列?)
うまく行かないコードを投稿して下さると、回答がつき易いと思うのですが?
その部分だけを再現できるコードを作って見て下さい。
案外それで解決出来るかも知れませんし、他の人がすぐそれを再現できればレスが早いと思います。
(下記のように)

FormにMSFlexGridコントロールを貼付て、下記コードを試して見て下さい。

Private Sub Form_Load()
    With MSFlexGrid1
        .Cols = 3
        .Rows = 6
        .TextMatrix(2, 1) = 6
        .TextMatrix(3, 1) = Format$(CSng(.TextMatrix(2, 1)) * 20000, "#,##0")
        .TextMatrix(4, 1) = Format$(CSng(.TextMatrix(3, 1)) * 1.05, "#,##0")
    End With
End Sub

CSng についてはヘルプかここの[VB簡易リファレンス]を見て下さい。
又、イミディエイトウィンドウで ?val("120,000") と入力して[Enter]キーを押して見て下さい。

投稿時間:2002/12/20(Fri) 10:06
投稿者名:むろむろ
Eメール:
URL :
タイトル:
解決
花ちゃん様、有難うございます。
今後、気を付けたいと思います。