セルの値を取得、設定、Value

タイトルのマクロは、以下です。

' セルの値を取得、設定、Value
Private Sub Range_Value()
    Dim v As Variant
    With Sheet1
        ' セルB3の値を変数vに代入する
        v = .Range("B3").Value
        ' 変数vの値をデバッグウィンドウに出力する
        Debug.Print v
        ' セルB7に変数vの値を設定する
        .Range("B7").Value = v
        
        ' セル範囲B2からD5の値を配列vに代入する
        v = .Range("B2:D5").Value
        ' コードの実行を停止し、デバッグモードに移行する
        Stop
        ' 配列vの値をセル範囲F2からvの行数と列数に合わせて設定する
        .Range("F2").Resize(UBound(v), UBound(v, 2)).Value = v
        
        ' 設定する範囲が小さい場合
        .Range("F7").Resize(2, 2).Value = v
        ' 設定する範囲が大きい場合
        .Range("F10").Resize(5, 4).Value = v
        
    End With
End Sub

コードの説明

  1. サブルーチンの宣言:
    • このサブルーチンは、セルの値を取得および設定する操作を行います。
  2. シートへの参照:
    • Sheet1 を対象とした操作を With ステートメント内で行います。
  3. 単一セルの値の取得と設定:
    • セル B3 の値を変数 v に代入し、その値をデバッグウィンドウに出力します。
    • その後、セル B7 に変数 v の値を設定します。
  4. セル範囲の値を配列に取得:
    • セル範囲 B2:D5 の値を配列 v に代入します。
    • Stop ステートメントにより、コードの実行が一時停止し、デバッグモードに移行します。
  5. 配列の値を別の範囲に設定:
    • 配列 v の値をセル範囲 F2 から、配列 v の行数と列数に合わせて設定します。
    • Resize メソッドを使用して、範囲のサイズを配列 v の行数と列数に調整します。
  6. 設定する範囲のサイズが異なる場合の操作:
    • 配列 v の値をセル範囲 F7 に設定する場合、範囲のサイズを 2行2列 に調整します。
    • 配列 v の値をセル範囲 F10 に設定する場合、範囲のサイズを 5行4列 に調整します。

補足説明

  • .Value プロパティ:
    • Value プロパティは、セルまたはセル範囲の値を取得または設定するために使用されます。
    • 配列を使用してセル範囲の値を一度に取得および設定することができます。
  • .Offset メソッド:
    • Offset メソッドは、指定されたセル範囲を基準に、特定の行数と列数だけずらした新しい範囲を参照します。
  • .Resize メソッド:
    • Resize メソッドは、セル範囲の行数と列数を指定して、範囲のサイズを変更します。
  • Stop ステートメント:
    • Stop ステートメントは、コードの実行を一時停止し、デバッグモードに移行します。デバッグモードでは、変数の値やステートメントの実行をステップ実行することができます。

このコードを実行すると、指定したセルの値の取得および設定、範囲のリサイズなどの操作を行い、各ステップでの結果をデバッグウィンドウに出力します。

Follow me!