Range.Value プロパティ (Excel)

指定されたセル範囲の値を表すバリアント型 (Variant) の値を設定します。値の取得および設定が可能です。

構文

(RangeValueDataType)

expressionRange オブジェクトを表す変数です。

パラメーター

名前 必須 / オプション データ型 説明
RangeValueDataType オプション バリアント型 セル範囲の値のデータ型を指定します。 XlRangeValueDataType クラスの定数を指定できます。

解説

XML スプレッドシート ファイルのセル範囲のデータを設定する場合、ブックの最初のシートの値のみが使用されます。 隣接していないセル範囲の値を XML スプレッド シート形式で取得または設定することはできません。

Range の既定のメンバー は、パラメーターなしで呼 び出しを Value に転送 します。 したがって、 someRange = someOtherRange と同等です someRange.Value = someOtherRange.Value

最初の領域に複数のセルが含まれる範囲の場合、Value は、最初のセルの個々のセルの値の 2 次元配列を含む バリアント 型 (Variant) の値を返します。

Value プロパティに 2 次元配列を割り当てると、1 回の操作で範囲に値がコピーされます。 ターゲット範囲が配列より大きい場合、残りのセルはエラー値を受け取ります。

配列を複数エリア範囲に割り当てるのは適切にサポートされていないので、避ける必要があります。

次の使用例は、アクティブなブックのシート 1 のセル A1 の値を 3.14159 に設定します。

Worksheets("Sheet1").Range("A1").Value = 3.14159

次の使用例は、アクティブなブックのシート 1 のセル A1:D10 をループ処理します。 1 つのセルの値が 0.001 未満の場合、値は 0 (ゼロ) に置き換えます。

For Each cell in Worksheets("Sheet1").Range("A1:D10") 
   If cell.Value < .001 Then 
      cell.Value = 0 
   End If 
Next cell

次の使用例は、シート 1 の範囲 A1:CC5000 の値をループ処理します。 値の 1 つが 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 のサポートおよびフィードバックを参照してください。