• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:<excel:VBA>変数を使って簡略化したい)

<excel:VBA>変数を使って簡略化したい

このQ&Aのポイント
  • excelのVBAを使ってデータを簡略化したい場合、変数を使用することで処理をスピードアップさせることができます。
  • 変数を使いたい箇所は、■マークの2箇所です。
  • 詳しい方の助力をお願いして、データが多くてもスムーズに処理できるVBAを作成したいです。

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

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

これが「どんな処理なのか」考えても深部まではわからないので、 とりあえず思いついたまま、 単純に、For~Nextで繰り返し処理が通用するかもしれません。 Sub オートフィルタ貼付作業()     Application.ScreenUpdating = False     With Sheets("データ").Range("A3")         For i = 1 to 115             Range("AA3:EK3").AutoFilter             .AutoFilter Field:=i, Criteria1:="1" ’■Fieldが1ずつ増えていく             Cells(3, i + 26).Copy Range("Z3") ’■AA3が1列ずつ右へずれていく             .CurrentRegion.Copy Sheets("貼付").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)             .AutoFilter         Next     End With     Application.ScreenUpdating = True     Sheets("貼付").Activate     Cells.Columns.AutoFit End Sub 試していないので、動くかどうか微妙ですが。

excel110
質問者

お礼

tsubu-yukiさま さっそくご教授いただいたもので確認したところ問題なく動作しました。 今回、変数が2箇所という点でつまづいていたのですが、 列の動きもCellsで記述して Cells(○, i + ○)にしてしまえば、1個(i)だけで良いわけですね。頭が固かったです・・・。 これで後々のプログラムのちょっとした修正もスグ出来るので大変助かりました。ありがとうございました!

関連するQ&A