Range.Value プロパティ (Excel)
指定されたセル範囲の値を表すバリアント型 (Variant) の値を設定します。値の取得および設定が可能です。
構文
式。Value (RangeValueDataType)
expression は Range オブジェクトを表す変数です。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
RangeValueDataType | 省略可能 | バリアント型 (Variant) | セル範囲の値のデータ型を指定します。 XlRangeValueDataType 定数を指定できます。 |
注釈
XML スプレッドシート ファイルのセル範囲のデータを設定する場合、ブックの最初のシートの値のみが使用されます。 隣接していないセル範囲の値を XML スプレッド シート形式で取得または設定することはできません。
Range の既定のメンバーは、パラメーターのない呼び出しを Value に転送します。 したがって、 someRange = someOtherRange
は と someRange.Value = someOtherRange.Value
同等です。
最初の領域に複数のセルが含まれる範囲の場合、 Value は、最初の範囲の個々のセルの値の 2 次元配列を含む Variant を 返します。
Value プロパティに 2 dim 配列を割り当てると、1 回の操作で値が範囲にコピーされます。 ターゲット範囲が配列より大きい場合、残りのセルはエラー値を受け取ります。
複数領域範囲への配列の割り当ては適切にサポートされていないため、避ける必要があります。
例
次の使用例は、作業中のブックの Sheet1 のセル A1 の値を 3.14159 に設定します。
Worksheets("Sheet1").Range("A1").Value = 3.14159
次の使用例は、作業中のブックの Sheet1 のセル A1:D10 をループします。 いずれかのセルの値が 0.001 未満の場合、コードはその値を 0 (ゼロ) に置き換えます。
For Each cell in Worksheets("Sheet1").Range("A1:D10")
If cell.Value < .001 Then
cell.Value = 0
End If
Next cell
次の使用例は、Sheet1 の範囲 A1:CC5000 の値をループ処理します。 いずれかの値が 0.001 未満の場合、コードは値を 0 (ゼロ) に置き換えます。 最後に、値を元の範囲にコピーします。
Public Sub TruncateSmallValuesInDataArea()
Dim dataArea As Excel.Range
Set dataArea = ThisworkBook.Worksheets("Sheet1").Range("A1:CC5000")
Dim valuesArray() As Variant
valuesArray = dataArea.Value
Dim rowIndex As Long
Dim columnIndex As Long
For rowIndex = LBound(valuesArray, 1) To UBound(valuesArray, 1)
For columnIndex = LBound(valuesArray, 2) To UBound(valuesArray, 2)
If valuesArray(rowIndex, columnIndex) < 0.001 Then
valuesArray(rowIndex, columnIndex) = 0
End If
Next
Next
dataArea.Value = valuesArray
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。