ID非公開さん
2022/5/22 23:03
4回答
ExcelのVBAについて教えてください。 シートが3つあり、 「そのうち2つは入力された値を削除し、 1つは入力された値を別のシートに転記する」
ExcelのVBAについて教えてください。 シートが3つあり、 「そのうち2つは入力された値を削除し、 1つは入力された値を別のシートに転記する」 という処理をボタン1つで実行したいです。 手順としては次のとおりです。 1 Sheet1(仮称)のA2:C2から最終行まで入力された値を削除する。 2 Sheet2(仮称)のB2の絞り込みを解除する。 3 Sheet2(仮称)のA2:C2から最終行まで入力された値を削除する。 4 Sheet3(仮称)のA2:C2から最終行まで入力された値を切り取り、 Sheet1(仮称)のA2:C2以降に貼り付ける。 図々しいお願いで申し訳ありませんが、 コピペして使用できるようにVBAを組んでいただけると嬉しいです。 ご協力よろしくお願いいたします!
質問文と画像中のシート名が異なっていたので補足します。 Sheet1の名称は、前月集計 Sheet2の名称は、今月集計 Sheet3の名称は、今月集計(一部抜粋) です。 ごちゃごちゃでごめんなさい…
Excel | Visual Basic・84閲覧
ベストアンサー
Sub a() '一例です Dim rng(1 To 3) As Range '各シートのクリア領域を設定 Set rng(1) = Worksheets("Sheet1").AutoFilter.Range.Offset(1, 0) Set rng(2) = Worksheets("Sheet2").AutoFilter.Range.Offset(1, 0) Set rng(3) = Worksheets("Sheet3").AutoFilter.Range.Offset(1, 0) rng(1).ClearContents With rng(3) .Copy rng(1) .ClearContents End With With rng(2).Parent '絞り込みを調べて、絞り込まれていたら、絞り込み解除 If .FilterMode Then .ShowAllData End With rng(2).ClearContents End Sub
質問者からのお礼コメント
皆さんご回答ありがとうございました! 早速、作成いただいたVBAで処理を実行したところ、 PSX様のものがより早く処理できたので、 ベストアンサーに選ばせていただきました! とても助かりました♪♪
お礼日時:5/23 22:35