セルを選択またはアクティブにする
Microsoft Excel の場合、通常では最初にセルを選択し、次に書式の設定、値の入力などの操作を行います。 Visual Basic の場合、セルに対しての操作を行う前に、通常、セルを選択する必要はありません。
たとえば、Visual Basic でセル D6 に数式を入力するときに、D6 を選択するコードを記述する必要はありません。 次の使用例のように、Range オブジェクトとしてセルを返し、入力する数式はそのオブジェクトの Formula プロパティに設定します。
Sub EnterFormula()
Worksheets("Sheet1").Range("D6").Formula = "=SUM(D2:D5)"
End Sub
セルを選択せずに、その他のメソッドを使って直接操作する方法については、「セルまたはセル範囲を参照する方法 」を参照してください。
Select メソッドおよび Selection プロパティの使用
Select メソッドは、シートやシート上のオブジェクトをアクティブ化し、Selection プロパティは、作業中のブックの作業中のシートでの現在の選択を表すオブジェクトを返します。 Selection プロパティを正常に使用するには、まずブックをアクティブ化し、シートをアクティブ化または選択してから、Select メソッドを使用して範囲 (またはその他のオブジェクト) を選択する必要があります。
マクロの記録では、Select メソッドおよび Selection プロパティを使用するマクロを作成することがよくあります。 次の Sub プロシージャはマクロの記録を使用して作成されたもので、Select および Selection がどのように機能するかを示しています。
Sub Macro1()
Sheets("Sheet1").Select
Range("A1").Select
ActiveCell.FormulaR1C1 = "Name"
Range("B1").Select
ActiveCell.FormulaR1C1 = "Address"
Range("A1:B1").Select
Selection.Font.Bold = True
End Sub
次の使用例では、ワークシートまたはセルをアクティブ化または選択せずに、上記と同じ操作を実行します。
Sub Labels()
With Worksheets("Sheet1")
.Range("A1") = "Name"
.Range("B1") = "Address"
.Range("A1:B1").Font.Bold = True
End With
End Sub
アクティブ シートでセルを選択する
Select メソッドを使用してセルを選択する場合、Select はアクティブなワークシートでのみ動作することに注意してください。 If you run your Sub procedure from the module, the Select method will fail unless your procedure activates the worksheet before using the Select method on a range of cells. For example, the following procedure copies a row from Sheet1 to Sheet2 in the active workbook.
Sub CopyRow()
Worksheets("Sheet1").Rows(1).Copy
Worksheets("Sheet2").Select
Worksheets("Sheet2").Rows(1).Select
Worksheets("Sheet2").Paste
End Sub
選択範囲内のセルのアクティブ化
Activate メソッドを使って、選択範囲内のセルをアクティブにすることができます。 セル範囲を選択している場合でも、アクティブにできるのは単一のセルだけです。 次の使用例はセル範囲を選択し、選択範囲を変更せずに、範囲内の単一のセルをアクティブにします。
Sub MakeActive()
Worksheets("Sheet1").Activate
Range("A1:D4").Select
Range("B2").Activate
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示