
処理したい内容はA列に数字1~10まで数字を
A1のセルから順番に入力させるという処理を
For Next を使用して実行させたいのですが上手くいきません。ソースは以下になります。
Sub 記入()
Dim i As Integer
Dim n As Integer
n = 0
For i = 1 To 10
n = n + i
Next
>Range("A" + n) = n
End Sub
>の部分でエラーになります。ここの部分を
A1
A2
A3
・
・
列番号
と A + ○ を繰り返しでカウント変数 n で繰り返しをさせたいのですが、どう処理すればよろしいですか? アドバイスお願いします。
No.4
- 回答日時:
>Range("A" + n) = n
文字列と数字の加算となるので「"A" + n」の部分でエラーになります。
文字列の連結でしたら「"A" & n」としてください。
それと繰り返して処理するなら、RengeをFor~Nextの中に入れないといけません。
Sub 記入()
Dim i As Integer
Dim n As Integer
n = 0
For i = 1 To 10
n = n + i
Range("A" & n) = n 'ここに移動
Next
End Sub
それとソースを見ていて気になったのですが、セルの行番号をそのまま表示するだけでよいのですか?
例えば
A1→1
A2→2
A3→3
であれば上記で問題ありませんが
A1→5
A2→6
A3→7
といったように、行番号と違うカウント変数を入れるようであれば、別に変数を作ってRangeのところの右辺の変数nを作った変数に入れ替える必要があります。
(関係なかったら申し訳ないです)
No.3
- 回答日時:
雑感。
>VB初心者です
表題について質問内容がエクセルVBAですので、VBAとするか
エクセルVBAと書くべし。
>Range("A" + n) = n
各セルに書きこむのだから、For Nextのループ内に入れるべし。
>("A" + n)
文字列結合は+より、&を使うべし。
この方法が旨く行くのは、このケースに限ると思うべし。
文字列で作れば、コーディグや操作と同じ効果があるとは
限らない。むしろない場合が多い。
>Range("A" + n)
Range(”A1”)より、今後使うパターンの主力を
Cells(i,j)をお勧めします。
>n = n + i
1づつ増やすはずで、n = n + 1が適当でしょう。
むしろiを直接使う手もある。
Sub 記入()
Dim i As Integer
Dim n As Integer
n = 0
For i = 1 To 10
n = n + 1
Range("A" & n) = n
Next
End Sub
または
Sub 記入()
Dim i As Integer
For i = 1 To 10
Range("A" & i) = i
Next
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Excel(エクセル) VBAで組み合わせ算出やCOUNTIFSの処理を高速化したいです。 4 2022/04/07 02:38
- Excel(エクセル) Excelにて、フォルダ内のTextファイルをマクロで統合すると文字化けしてしまう時の解消コード 4 2023/01/01 07:32
- Excel(エクセル) B列に文字がはいったらA列に数字が入るマクロードを完成させたい 4 2023/04/21 01:58
- Visual Basic(VBA) Sheet2からオートフィルターで売上日を抽出した件数をカウントし、その件数をSheet1のセルB1 2 2023/01/12 12:24
- Visual Basic(VBA) ExcelVBAで、index、match関数を使用して、指定範囲に出力したい 3 2022/10/18 21:53
- Visual Basic(VBA) VBA横データを縦にしたいです 2 2023/08/08 19:38
- Visual Basic(VBA) ExcelVBAで質問です。離れた二次元配列を一つにしたい 4 2022/07/26 19:06
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
- Visual Basic(VBA) excel vbaでvlooupの変数がわかりません。 7 2022/05/30 09:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
vbaのエラー対応(実行時エラー...
-
IF文に時間(何時から何時ま...
-
private subモジュールを他のモ...
-
順番に処理させたい
-
シグナル 6(SIGABRT)とは?
-
【Vb.net】プリンタジョブの取得
-
どう増強すべきか
-
マクロで、次のコードへ行く前...
-
VB初心者です For Nextの構文...
-
VBAでのマクロ実行中のオーバー...
-
エクセル 複数の文字を同時に検...
-
どうやってもFor文を抜けてしま...
-
Windows7でのVB6 ImageCombo
-
Word VBA。各マクロの間に待ち...
-
Excel2002VBA「~のときは○○、...
-
StatusStripの表示が更新されな...
-
C言語のGOTO文(組み込み系)
-
VBA 複数の行を高速で削除する...
-
ExcelのVBAで、選択したファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【C#/Java?】try-catchでcatch...
-
vbaのエラー対応(実行時エラー...
-
private subモジュールを他のモ...
-
マクロで、次のコードへ行く前...
-
シグナル 6(SIGABRT)とは?
-
特定の名前のオートシェイプの...
-
IF文に時間(何時から何時ま...
-
どう増強すべきか
-
特定のファイルを他のプロセス...
-
Word VBA。各マクロの間に待ち...
-
どうやってもFor文を抜けてしま...
-
Excel VBA セルの名前があるか...
-
ExcelのVBAで、選択したファイ...
-
【C#】Page_Loadさせない方法に...
-
StatusStripの表示が更新されな...
-
途中で処理を中断させたい (ア...
-
エクセル VBAで複数セル選択時...
-
Functionで戻り値を複数返す方法
-
VBAでBook読み込み時の非表示方...
-
VBA 複数の行を高速で削除する...
おすすめ情報