アクティブセルにデータを入力するには、ActiveCellプロパティを使います。
ActiveCellプロパティの対象オブジェクトは、Windowオブジェクトであり、Worksheetオブジェクトではありません。
ActiveCellプロパティのオブジェクトを省略した場合は、アクティブウィンドウのアクティブシートのアクティブセルを取得することができます。
Windowオブジェクトを使うと、各ウィンドウのアクティブセルが返されることになります。
アクティブセルの操作
Book1とBook2のウィンドウを開いておきます。Book1のアクティブセルは「B2」、Book2のアクティブセルは「B4」です。
Sub サンプル2560()
Windows("Book1").ActiveCell.Value = 1000
Windows("Book2").ActiveCell.Value = 2000
End Sub
Windows(“Book1”).ActiveCell.Value = 1000
Book1のアクティブセルB2へ1000を代入します。
Windows(“Book2”).ActiveCell.Value = 2000
Book2のアクティブセルB4へ2000を代入します。
マクロの実行結果
アクティブセルの指定
アクティブセルを指定する時は、Activateメソッドを使います。複数のBookが開いている時は、Bookから指定する必要があります。
Sub サンプル2565()
Windows("Book1").Activate
Worksheets("Sheet3").Activate
Range("B5").Activate
ActiveCell.Font.Bold = True
ActiveCell.Value = "サンプル"
End Sub
コードの解説
Windows(“Book1”).Activate
Book1をアクティブにします。
Worksheets(“Sheet3”).Activate
Worksheet3を、アクティブにします。
Range(“B5”).Activate
セルB5をアクティブセルにします。
ActiveCell.Font.Bold = True
アクティブセルのフォントを「太字」にします。
ActiveCell.Value = “サンプル”
アクティブセルに「サンプル」を代入します。
マクロの実行結果
開いているウィンドウのアクティブセルにデータを入れる
現在開いているウィンドウの、アクティブセルにデータを入れるマクロの例
Sub サンプル2570()
Dim i As Integer
For i = 1 To Windows.Count
Windows(i).ActiveCell.Value = 3000
Next i
End Sub
マクロの実行結果
まとめ
「ActiveCell.Value = 」で、アクティブセルにデータを入力します。数値の場合は数値で入力し、文字の場合は、ダブルクオーテーションで囲みます。