A1:Z50のようなデータがありますが、VBAを使用してA5:X50のみを削除したいと思います(セル全体をドラッグしたり使用したりするよりもはるかに高速だと思いますclickA5+shift+clickX50+delete
)。これどうやってするの ?
次に、セルをロックして、セルが修正またはクリアされないようにする方法は?
次のコードを含むマクロを定義できます。
Sub DeleteA5X50()
Range("A5:X50").Select
Selection.ClearContents
end sub
マクロを実行すると、アクティブなワークシートで範囲A5:x50が選択され、その範囲内のセルのすべての内容がクリアされます。
数式をそのまま残すには、代わりに次を使用します。
Sub DeleteA5X50()
Range("A5:X50").Select
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
end sub
これにより、最初にコンテンツをクリアすることに関心のあるセルの全範囲が選択され、次に、Excelが「定数」と見なすものを含むセルのみが含まれるように選択がさらに制限されます。
これをExcelで手動で行うには、セルの範囲を選択し、「f5」を押して「移動」ダイアログボックスを表示し、「特殊」ボタンをクリックして「定数」オプションを選択し、「OK」をクリックします。
これを試して
Sheets("your sheetname").range("A5:X50").Value = ""
使用することもできます
ActiveSheet.range
VBAの方が速いかどうかはわかりません-通常のExcelプログラムでそれを行う最も速い方法は次のとおりです。
Ctrl-G
A1:X50 Enter
Delete
これを非常に頻繁に行う必要がない限り、VBA コードを入力してからトリガーするのはより手間がかかります。
数式または値のみを削除する場合は、挿入Ctrl-G, Alt-S
して [特別な場所に移動] を選択し、ここで [数式] または [値] を選択します。