- 締切済み
グリッドの使い方について
VB初心者です。 Excelからデータをグリッドに取り込んでグリッドで計算しているのですが、x(i, j) = MSFlexGrid1.TextMatrix(i, j) の文がいろいろ入力してみたのですが、エラーが出てしまいます。 それと計算するときに最初のセルを(3,3)などにしたい時にどうすれば良いのかわかりません。 教えていただければ幸いです。よろしくお願いします。 Dim goukei(10) As Double Dim x(20, 10) As Double For i = 1 To 20 For j = 1 To 10 x(i, j) = MSFlexGrid1.TextMatrix(i, j) Next j Next i For j = 1 To 10 goukei(j) = 0 Next j For i = 1 To 20 For j = 1 To 10 goukei(j) = goukei(j) + x(i, j) Next j Next i For j = 1 To 10 Text1.Text = goukei(j) Next j
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- uruz
- ベストアンサー率49% (417/840)
VB6ですか? こういう場合エラーメッセージをちゃんと書きましょう たぶん「型が一致しません」だと思うのですが・・・ TextMatrix(i, j) で得られるのはString型の値です。 代入先がDouble型ですので数値に変換できなければ上記のエラーが発生します Private Const OffsetR = 3 Private Const OffsetC = 3 Private InText as String Dim goukei(10) As Double Dim x(20, 10) As Double For i = 1 To 20 For j = 1 To 10 InText = MSFlexGrid1.TextMatrix(i + OffsetR, j + OffsetC) 'InTextが数値に変換可能か調べる If IsNumeric(InText) Then x(i, j) = CDbl(InText) Else x(i, j) = 0 End If Next j Next i