Top |
|
簡単!マクロ講座
第43回〜あてな-Loop2〜
前回は簡単なLoop構文をやってみました。
それではあてなの手順5の「次の行を見る」と手順6の「2から繰り返し(ループ)」をやってみましょう。
あてなのMacro2は次のようになっていました。
*******************************************************************
Sub Macro2()
datagyo = 2
Sheets("データ").Select
Cells(datagyo, 1).Select
If Cells(datagyo, 1) = "レ" Then
Range(Cells(datagyo, 2), Cells(datagyo, 6)).Select
Selection.Copy
Sheets("入力").Select
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End If
End Sub
*******************************************************************************
この状態では変数 datagyo は2のままですから2行目を処理したら終わってしまいます。
If ... Then から End If の間を datagyo に1を加えて繰り返せばよいわけです。
If Cells(datagyo, 1) = "レ" Then から End If の間を次のように変えてみてください。
*******************************************************************************
i = 1
Do Until Cells(datagyo, 2) = ""
If Cells(datagyo, 1) = "レ" Then
Range(Cells(datagyo, 2), Cells(datagyo, 6)).Select
Selection.Copy
Sheets("入力").Select
Cells(i + 1, 1).Select
ActiveSheet.Paste
Sheets("データ").Select
Application.CutCopyMode = False
i = i + 1
End If
datagyo = datagyo + 1
Loop
*******************************************************************************
ちょっと増えましたね。全体のコードがどのようになっているかは下図を参考にしてください。
実際にいくつかチェックを入れて試してみてください。正常に動けばシート「入力」にチェックを入れた人のデータがコピーされます。
いままでの講座を読んでくれている方はなにをやっているか大方の察しはついていることでしょう。次回解説をします。
| hiroyuki.tank.support.site.Top | このページのTop | マクロ講座目次 | 前回 | 次回 |