特殊なセルメソッドを使用するにはどうすればよいですか?
VBA では、特殊セル メソッドを使用すると、特定の型および特定の値の型のセルまたはセル範囲を選択できます。 A1:A10 の範囲内で、どのセルに数式があり、値として番号が付けられているかを知りたいとします。この結果は、SpecialCells メソッドを使用して実現できます。
VBA で特別なセル メソッドを使用する
ここでは、A1:A10 の範囲内で最後に使用されたセルのアドレスを見つけるコードを記述します。特殊なセル メソッドには 2 つの引数があり、1 つは必須で、もう 1 つはオプションであることに注意してください。
- まず、コードによって返されたこのセル アドレスを格納する範囲として変数を宣言します。
- その後、範囲を参照し、「xlCellTypeLastCell」で「Type」引数を指定する必要がある「SpecialCells」メソッドを使用します。
- 次に、この特別なセル コード行を、最初の手順で定義した変数に設定します。
- ここから、VBA メッセージ ボックスを使用して、特別な cell メソッドによって返されるセルのアドレスを取得する必要があります。
- 最後に、変数で address プロパティを使用して、最後の型のセルのアドレスを取得します。
完全なコードは次のとおりです。
Dim myRng As Range Set myRng = Range("A1:A10").SpecialCells(xlCellTypeLastCell) MsgBox myRng.Address
このコードを実行すると、最後に使用された (入力された) セルのアドレスを示すメッセージ ボックスが表示されます。したがって、ここでは私の場合はセルA10を使用し、メッセージボックスで受け取ったものと同じものを使用しました。
メモのあるセルを選択する
Excel では、以前の「コメント」は「メモ」になりました。コメントを選択するコードを記述すると、指定された範囲内のノートが選択されます。次のコードを考えてみましょう。
Dim myRng As Range Set myRng = _ Range("A1:A10").SpecialCells(xlCellTypeComments) myRng.Select
両方の引数を使用する
前に述べたように、SpecialCells メソッドには 2 つの引数があります。ここで、2 つの引数を使用して数式が含まれるセルを選択する方法と、数式によって返される値が論理値であることを見てみましょう。
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeFormulas, xlLogical) myRng.Select
上記のコードを実行すると、数式と論理値が含まれる A1 から A11 の範囲のセルが選択されます。
条件付き書式でセルを選択する
Range("A1:A11").SpecialCells(xlCellTypeSameFormatConditions) Range("A1:A11").SpecialCells(xlCellTypeAllFormatConditions)
表示されているセルを選択する
また、定数「xlCellTypeVisible」を使用して可視を選択することもできます。次のコードを考えてみましょう。
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(xlCellTypeVisible) myRng.Select
または、引数値として「12」を使用することもできます。
Dim myRng As Range Set myRng = Range("A1:A11").SpecialCells(12) myRng.Select
データ検証が行われたセル
Range("A1:A11").SpecialCells(xlCellTypeAllValidation) Range("A1:A11").SpecialCells(xlCellTypeSameValidation)
VBAとは
関連するチュートリアル
- Excel で VBA を使用して行を数える
- Excel VBA フォント (色、サイズ、種類、太字)
- Excel VBA 列または行の表示と非表示を切り替える
- Excel VBA 範囲 – 範囲とセルの操作
- Excel で VBA を使用してセルに枠線を適用する