VBAの初心者です。
For next 構文でデータを作成しているのですが、何日も考えたとおりにならなくて困り果ててしまいました。以下に例文を記載しました。何が原因なのか全然わからないのです・・・。
Sub フォーネクスト文1行飛ばし()
Dim a As Long 'コピー先
Dim b As Long 'コピー元
With ActiveSheet
For a = 14 To 26 Step 2
For b = 1 To 4
.Cells(a, 1).Value = .Cells(b, 1).Value
Next b 'どうしてもToの最後のデータが指定の行に貼り付けされる?な ぜだかがわからない。
Next a
End With
End Sub
よろしくお願い致します。
No.1
- 回答日時:
> For a = 14 To 26 Step 2
> For b = 1 To 4
> .Cells(a, 1).Value = .Cells(b, 1).Value
> Next b 'どうしてもToの最後のデータが指定の行に貼り付けされる?な
> Next a
内側をforを使わずに書き直すと、
For a = 14 To 26 Step 2
.Cells(a, 1).Value = .Cells(1, 1).Value
.Cells(a, 1).Value = .Cells(2, 1).Value
.Cells(a, 1).Value = .Cells(3, 1).Value
.Cells(a, 1).Value = .Cells(4, 1).Value
Next a
です。
同じセルに4回上書きしてるんですから、最後に上書きしものだけを反映するのは正しい動作です。
> 何日も考えたとおりにならなくて
何をどうしたいのか、その考えた内容が分からないんだから、こちらについてはアドバイスしようがないです。
上記の理屈を元にいじくりまわしていたら、やっと思い通りになりました。
2度目のForは、1度目のFor を保持した状態で繰り返した後、1度目に戻るという意味だったのですね。
回答していただいた方々、本当にありがとうございました。
No.2ベストアンサー
- 回答日時:
よろしくお願い致します。
どういう処理をしようとしてるのかわからないですが。
このforの処理を追えば・・・
Cells(14, 1) ← Cells(1, 1)
Cells(14, 1) ← Cells(2, 1)
Cells(14, 1) ← Cells(3, 1)
Cells(14, 1) ← Cells(4, 1)
Cells(16, 1) ← Cells(1, 1)
Cells(16, 1) ← Cells(2, 1)
Cells(16, 1) ← Cells(3, 1)
Cells(16, 1) ← Cells(4, 1)
Cells(18, 1) ← Cells(4, 1)
以下略
Cells(14, 1) から2行おきに26行まで、Cells(4, 1) の値が書き込まれる、
という結果になります。
上記の理屈を元にいじくりまわしていたら、やっと思い通りになりました。
2度目のForは、1度目のFor を保持した状態で繰り返した後、1度目に戻るという意味だったのですね。
回答していただいた方々、本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) 前回ご教授いただいたコードに覚えたてのループ処理で品名りんごAから順に20回for nextでループ 7 2023/01/13 22:01
- Visual Basic(VBA) 数字が「0」の列を削除するため、下記のコードを実行しましたが、コンパイルエラーSubまたはFunct 3 2022/12/04 00:00
- Visual Basic(VBA) vbaのvlookup関数エラー原因を教えていただけないでしょうか。 3 2022/04/25 16:16
- Visual Basic(VBA) 複数シートの複数列に入力されているデータを重複なしで抽出するVBAを作りたいです。 9 2022/06/17 10:33
- Visual Basic(VBA) 他のシートからコピーする下記マクロで貼付け位置をWorksheets(1).Range("A3")の 8 2023/01/30 18:48
- Visual Basic(VBA) いつもお世話になっております、VBAで教えて頂きたいのですが 2 2022/05/05 22:20
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
- Visual Basic(VBA) VBA処理追加 こちらでご教示頂いたのですが回答完了させてしまいましたのでこちらからまた質問させてく 2 2022/10/27 09:57
- Visual Basic(VBA) VBA Userformで一部別シートに転記がしたいのですが 2 2023/05/24 13:08
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
首吊りどこ締めるの
-
至急!尿検査前日にオナニーし...
-
尿検査前日に自慰行為した時の...
-
白血球が多いとどんな心配があ...
-
彼女のことが好きすぎて彼女の...
-
検便についてです。 便は取れた...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
尿検査の前日は自慰控えたほう...
-
精子が黄色?
-
中出しをするとお腹が痛い・・・。
-
EXCELで条件付き書式で空白セル...
-
excelでsin二乗のやり方を教え...
-
これって喉仏ですか? 私は女性...
-
口の中に黒い血の塊
-
納豆食べた後の尿の納豆臭は何故?
-
2つの数値のうち、数値が小さい...
-
エクセル指定した範囲からラン...
-
筋トレするとチンコが縮んじゃ...
-
変な話しになります。尿検査で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
至急!尿検査前日にオナニーし...
-
首吊りどこ締めるの
-
尿検査の前日は自慰控えたほう...
-
尿検査前日に自慰行為した時の...
-
検便についてです。 便は取れた...
-
白血球が多いとどんな心配があ...
-
中出しをするとお腹が痛い・・・。
-
射精をして1週間以内に尿検査を...
-
彼女のことが好きすぎて彼女の...
-
腕を見たら黄色くなってる部分...
-
勃起する時って痛いんですか? ...
-
変な話しになります。尿検査で...
-
これって喉仏ですか? 私は女性...
-
EXCELで条件付き書式で空白セル...
-
男です。昨日の午後3時くらいに...
-
今朝、毎朝の習慣でオナニーし...
-
納豆食べた後の尿の納豆臭は何故?
-
1日前の検尿
-
値が入っているときだけ計算結...
-
精子が黄色?
おすすめ情報