Top

hiroyuki.tank.support.site

簡単!マクロ講座

第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 | マクロ講座目次 | 前回 | 次回 |