目次
使用環境
- エディション:Windows 10 Pro
- バージョン:20H2
背景
Excelで、セルの右下に表示される小さな四角(フィルハンドル)をドラッグして、
式や値をコピー・連続入力する操作を、VBA上で自動化したいと考えました。
そのため、今回はVBAでオートフィル機能を再現する方法を学びました。
解決策:オートフィル(AutoFill)を使う
調べたところ、Excelには、
セルに入力された値や数式をもとに自動的に連続コピーする機能、
「オートフィル(AutoFill)」
が用意されていることが分かりました。
普段はマウス操作で直感的に使っていましたが、
VBAでも同様の操作が可能です。
サンプルプログラム
Range("A3:R3").Select
Selection.AutoFill Destination:=Range("A3:R5000"), Type:=xlFillDefault
Range("A1").Select
プログラム解説
- 1行目
→Range("A3:R3")
を選択しています。ここがオートフィルの元となる範囲です。 - 2行目
→ 選択された範囲を基に、A3:R5000
まで自動的にコピーしています。Type:=xlFillDefault
は通常のコピー動作を指定しています。 - 3行目
→ 最後にセル選択をA1
に戻しています。これは見た目を整えるためで、必須ではありません。
使用例
私はこのオートフィル処理を、Excelシートを初期化するときによく使っています。
テンプレートとなるExcelファイルを毎回コピペするのが面倒だったため、
初期化用のプログラムとして自動化しました。
オートフィルを使うことで、作業の手間を大幅に省くことができ、非常に便利です。
まとめ
VBAでは、Selection.AutoFill
を使うことで、セルのフィルハンドル操作を自動化することができます。
繰り返し入力作業や、テンプレートの整備を効率化したいときに非常に役立つテクニックです。
ぜひ、活用して作業時間の短縮に役立ててみてください。
最後までお読みいただき、誠にありがとうございました。