• 締切済み

グリッドの使い方について

 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

みんなの回答

  • uruz
  • ベストアンサー率49% (417/840)
回答No.1

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

関連するQ&A