• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelでマクロを繰り返したい。)

Excelでマクロを繰り返したい

このQ&Aのポイント
  • Excelでマクロを繰り返す方法について教えてください。
  • 手作業で数字を変えてマクロを繰り返す際にエラーが発生してしまいます。解決方法を教えてください。
  • マクロを記録した後、特定の条件で繰り返し実行する方法を教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

検索条件のループをはずして、貼り付け位置の設定を変更しました。 Sub sample() Dim RngOrg As Range Dim RngNew As Range Dim m As Integer Dim n As Integer Set RngOrg = ThisWorkbook.Worksheets("Sheet1").Range("A3:A302") 'コピーする範囲 n = 5 '検索条件の数字 Set RngNew = ThisWorkbook.Worksheets("Sheet2").Range("A3") '最初 For m = 4 To 35 'フィールドの範囲 RngOrg.AutoFilter Field:=m, Criteria1:="=" & n & "*", Operator:=xlAnd, _ Criteria2:="<>" & n & "@*" RngOrg.Copy RngNew.PasteSpecial Paste:=xlPasteValues Set RngNew = RngNew.Offset(, 1) RngOrg.Worksheet.AutoFilterMode = False 'オートフィルタを解除 Next m End Sub

no---bu
質問者

お礼

どうもありがとうございました。 わかりやすく書いていただいて感謝しております。 今回の回答を参考にいろいろ手を加えて、幅を広げていきたいと思います。大変お世話になりました、また機会がありましたらよろしくお願い致します。

その他の回答 (1)

回答No.1

希望する動作を把握できていないかもしれませんが・・・。 Sub sample() Dim RngOrg As Range Dim RngNew As Range Dim m As Integer Dim n As Integer Set RngOrg = ThisWorkbook.Worksheets("Sheet1").Range("A3:A302") 'コピーする範囲 For m = 4 To 35 'フィールドの範囲 For n = 5 To 8 '検索条件の数字 RngOrg.AutoFilter Field:=m, Criteria1:="=" & n & "*", Operator:=xlAnd, _ Criteria2:="<>" & n & "@*" 'ペーストのルールがいまいち把握できていませんが・・・。 'とりあえず、A3,B3,A103,B103,A203,B203,A303,B303・・・と続くものとしました。 If m = 4 And n = 5 Then '最初 Set RngNew = ThisWorkbook.Worksheets("Sheet2").Range("A3") ElseIf n Mod 2 Then 'nが奇数のとき Set RngNew = RngNew.Offset(100, -1) Else 'nが偶数のとき Set RngNew = RngNew.Offset(, 1) End If RngOrg.Copy RngNew.PasteSpecial Paste:=xlPasteValues Next n RngOrg.Worksheet.AutoFilterMode = False 'オートフィルタを解除 Next m End Sub

no---bu
質問者

補足

すいません 質問の仕方が悪かったようです。 条件を少し変えてみます。 - 検索する数字をひとつにする - フィールドは4から35まで - コピーする範囲はそのまま - ペーストするセルはA3,B3,C3・・・・・とする お手数ですがよろしくお願いします。

関連するQ&A