- ベストアンサー
マクロ!一覧から別シートへの抽出
- マクロを使用して一覧シートから別のシートにデータを抽出する方法について教えてください。
- 月別の集金データを一覧から抽出するためのマクロを作成しましたが、抽出結果が消えてしまう問題が発生しています。
- 現在選択しているシートにデータを貼り付けるようにマクロを修正したいのですが、具体的な方法が分かりません。
- みんなの回答 (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
お礼
出来ました! Sheets(ActiveSheet) とか、 Sheets("ActiveSheet") とかで、エラーばかりでした。 >AcName = ActiveSheet.Name 略せるのですね!本当に助かりました。ありがとうございます。 ボタンですが、フォームのボタンに登録しています。 1年分のシート、12枚それぞれにボタンを置き、ボタン1個づつにマクロを登録していました。 コントロールツールのコマンドボタン、使ってみます♪ 本当にありがとうございました。