VBA オートフィルを無効にする方法 Excel

VBAでExcelのオートフィルを無効にする方法です。

Excel オートフィル機能

Excelのオートフィルとは、フィルハンドルを操作して、選択された入力データに対し、先頭からの連続データを作ることです。しかし、実務で作成したマクロなどを動作する場合に、オートフィルを無効にしたいケースがありました。

正確には、VBAでフィルハンドルを利用できないようにする方法です。

ここでは VBAでオートフィルを無効にする方法 を紹介します。


VBAでオートフィルを無効にするサンプルソース

VBAでオートフィルを無効には CellDragAndDrop の値を変更します。CellDragAndDrop は、セルのドラッグ アンド ドロップ編集を行うことができます。


Application.CellDragAndDrop = False

Application.CellDragAndDrop に False を設定するとフィルハンドルが無効になります。Application.CellDragAndDrop に True を設定するとフィルハンドルが有効になります。

該当のブックを利用時にフィルハンドルを無効にする場合は、Auto_Open イベントで Application.CellDragAndDrop = False に設定し、Auto_Close イベントで Application.CellDragAndDrop = True に設定します。

一度 False を設定すると、その後設定が変わりませんのでご注意ください。

具体的にはこう記述します。


Sub Auto_Open()
  Application.CellDragAndDrop = False
End Sub
Sub Auto_Close()
  Application.CellDragAndDrop = True
End Sub

ブックを再度開くと、フィルハンドルが無効になりました。

Excel フィルハンドルが無効になった

参考サイト

おつかれさまでした。

この記事がお役に立ちましたら シェア をお願いいたします。