• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:マクロ!一覧から別シートへの抽出)

マクロ!一覧から別シートへの抽出

このQ&Aのポイント
  • マクロを使用して一覧シートから別のシートにデータを抽出する方法について教えてください。
  • 月別の集金データを一覧から抽出するためのマクロを作成しましたが、抽出結果が消えてしまう問題が発生しています。
  • 現在選択しているシートにデータを貼り付けるようにマクロを修正したいのですが、具体的な方法が分かりません。

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

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.1

こんにちは。 AcName = ActiveSheet.Name Worksheets(AcName).Range .... とすればよいことですが、ちょっと良く分からないところがありますが、おそらくは、登録先の問題で、「標準モジュール」に入れないといけない、というところだと思います。 '標準モジュール Sub DataCopyMacro() Dim myRow1 As Long Dim myRow2 As Long Dim AcName As String   ' 集金月で抽出   AcName = ActiveSheet.Name      myRow1 = Worksheets("一覧").Range("B65536").End(xlUp).Row   myRow2 = Worksheets(AcName).Range("B65536").End(xlUp).Row      If myRow2 >= 3 Then     Worksheets(AcName).Range("A3:P" & myRow2).ClearContents   End If      Worksheets("一覧").Range("A3:P" & myRow1).AdvancedFilter _   Action:=xlFilterCopy, _   CriteriaRange:=Worksheets(AcName).Range("G1:H2"), _   CopyToRange:=Worksheets(AcName).Range("A4"), _   Unique:=False End Sub コントロールツールのコマンドボタンなら、このようになります。 Private Sub CommandButton1_Click()  Call DataCopyMacro End Sub

spica78
質問者

お礼

出来ました! Sheets(ActiveSheet) とか、 Sheets("ActiveSheet") とかで、エラーばかりでした。 >AcName = ActiveSheet.Name 略せるのですね!本当に助かりました。ありがとうございます。 ボタンですが、フォームのボタンに登録しています。 1年分のシート、12枚それぞれにボタンを置き、ボタン1個づつにマクロを登録していました。 コントロールツールのコマンドボタン、使ってみます♪ 本当にありがとうございました。

関連するQ&A

専門家に質問してみよう