ActiveCellプロパティとは
VBAのActiveCellプロパティは、現在選択されているセルを表します。このプロパティを使用すると、選択されたセルに関する情報を取得したり、その値を変更したりすることができます。
選択されたセルのアドレスを取得する方法
例えば、以下のようにActiveCellプロパティを使用して、選択されたセルのアドレスを取得することができます。
1 2 3 |
Sub GetActiveCellAddress() MsgBox ActiveCell.Address End Sub |
このコードでは、MsgBox関数を使用して、ActiveCellプロパティが返す選択されたセルのアドレスを表示しています。ActiveCellプロパティは、現在アクティブなシートに関係なく、常に選択されたセルを返します。
選択されたセルに値を設定する方法
ActiveCellプロパティを使用して、選択されたセルの値を変更することもできます。例えば、以下のようにActiveCellプロパティを使用して、選択されたセルに値を設定することができます。
1 2 3 |
Sub SetActiveCellValue() ActiveCell.Value = "Hello World" End Sub |
このコードでは、ActiveCellプロパティを使用して、選択されたセルに「Hello World」という値を設定しています。
ActiveCellプロパティが返す値のデータ型の自動判定
ActiveCellプロパティは、セルのフォーマットやセルの値の種類に応じて、適切なデータ型を自動的に判断します。例えば、ActiveCellプロパティが返す値が数値である場合、その値を文字列として設定すると、自動的に数値型に変換されます。
1 2 3 4 |
Sub SetActiveCellValue() ActiveCell.Value = "123" MsgBox ActiveCell.Value * 2 End Sub |
このコードでは、ActiveCellプロパティを使用して、選択されたセルに「123」という値を設定しています。その後、MsgBox関数を使用して、ActiveCellプロパティが返す値を2倍にした結果を表示しています。この場合、ActiveCellプロパティが返す値は数値型であるため、計算が正しく行われます。
サンプルコード
ActiveCellプロパティを使用して、選択されたセルの周囲にあるセルの値を取得し、それらの値の合計を計算するVBAのサンプルコードです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
Sub GetSurroundingCellValues() Dim rng As Range Dim cell As Range Dim total As Double ' 選択されたセルの周囲のセルを取得する Set rng = ActiveCell.Offset(-1, -1).Resize(3, 3) ' 取得したセルの値を合計する For Each cell In rng.Cells If IsNumeric(cell.Value) Then total = total + cell.Value End If Next cell ' 合計値を表示する MsgBox "Total: " & total End Sub |
このコードでは、ActiveCellプロパティを使用して、現在選択されているセルの周囲のセルを取得しています。そして、取得したセルの値を合計して、その結果をメッセージボックスで表示しています。
このサンプルコードでは、ActiveCellプロパティを使用するだけでなく、Rangeオブジェクトを使用して、セルの範囲を操作する方法も示しています。また、For Eachループを使用して、セルの値を合計する方法も示しています。
コメント