- ベストアンサー
ExcelのVB:足算
53 54 3 4 24 25 6 7 71 72 と左から右に足算(+1)したいのですが、 例えば、 For l = 1 To 12 A(l) = Sheet1.Cells(2 + l, 1) Next l でセルを読み込み(1列3,4,5,・・・・行目) For i = 1 To 12 l = 1 GoSub abc Sheet1.Cells(i + 2, 5) = A(l) l = l + 1 Next i Exit Sub abc: A(l) = A(l) + 1 Return で足算したのを5列目の3、4、5、6、・・・・行目に出力します。 このプログラムでは、上手く足算されませんでした。 どこが悪いのでしょうか?教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
For i = 1 To 12 l = 1 GoSub abc Sheet1.Cells(i + 2, 5) = A(l) この部分ですが、l = 1 はFor~Next文の外に出しておかないと、毎回 l = 1 が実行されてしまいます。下記のような順序にすれば良いと思います。 l = 1 For i = 1 To 12 GoSub abc Sheet1.Cells(i + 2, 5) = A(l) ご参考になれば幸いです。
その他の回答 (1)
- taknt
- ベストアンサー率19% (1556/7783)
GoSub abc Sheet1.Cells(i + 2, 5) = A(l) の部分を Sheet1.Cells(i + 2, 5) = Sheet1.Cells(i + 2, 5) +1 に 変えてみたらどうでしょうか?
お礼
よく見たら間違えてました。 こんなミスでは、プログラマーにはなれないですね。(T_T) ありがとうございました。