Excel VBA 質問スレッド No.159 (解決済)

1~4の繰り返し処理について

投稿者 : ふぁんぐ     投稿日時 : 2021/01/09(Sat) 09:11:19     OS : Windows 8     EXCEL : Excel 2013
For Nextを使用して、
Worksheets1の1から最終行までの値を4つ区切りで
(1~4、5~8、…最終行)
Worksheets2の指定セルに置き換えて印刷する、
 指定セル
1:D17
2:D46
3:X17
4:X46

最終行の値を取得し、セルの指定までできたのですが、
4つ区切りをどのようにすればよいのかご教授いただけないでしょうか。
初心者のため、お力添え下さい。

[返信 1] Re : 1~4の繰り返し処理について
投稿者 : EUNO     投稿日時 : 2021/01/09(Sat) 12:42:31
説明のために設定をシンプルにします。
(1)他のシートの特定セルの値を入れる部分を、それぞれ"A"などの文字列を入れます。
(2)プリントアウトしながらコードを修正していくのは非効率なのでdebub.printします。
※(1)の部分は最終的にはオブジェクト変数かWithステートメントに、(2)の部分はPrintoutメソッドに直します。

これを段階的に書いていきます。
まずは最初の4行のみ(印刷でいえば1枚目のみ)を処理してみます。
Sub test()
 Cells(1, 1) = "A"
 Cells(2, 1) = "B"
 Cells(3, 1) = "C"
 Cells(4, 1) = "D"
End Sub

次に行数を変数にしてみます。
データ数は8(印刷で言えば2枚分)で処理してみます。
Sub test2()
Dim i As Long
For i = 1 To 8 Step 4
Cells(i, 1) = "A"
Cells(i + 1, 1) = "B"
Cells(i + 2, 1) = "C"
Cells(i + 3, 1) = "D"
Debug.Print i
Next i
End Sub

実際にはiには1と5が代入されます。
for i = 1 to (データの最終行) step 4 とすればできそうです。
Do Loopを使った方がスマートとは思いますが、ForNextでやるとこんな感じでしょうか。

[返信 2] Re : 1~4の繰り返し処理について
投稿者 : ふぁんぐ     投稿日時 : 2021/01/09(Sat) 18:39:58
ご教授いただき誠にありがとうございます。

応用し実践してみます!

当掲示板について
返信入力フォーム
お 名 前  :
内  容   :
ステータス  : この質問を解決済みにする

認証コード  :
        キャプチャ画像


( 処理日時 : 2021-01-27 12:40:24 )

Page
Top