Range.Value 属性 (Excel)

返回或设置一个 Variant 型,它代表指定单元格的值。

语法

表达式Value (RangeValueDataType)

expression 一个表示 Range 对象的变量。

参数

名称 必需/可选 数据类型 说明
RangeValueDataType 可选 Variant 区域值数据类型。 可以是 XlRangeValueDataType 常量。

备注

当使用 XML 电子表格文件的内容设置单元格区域时,仅使用工作簿中第一个工作表的值。 无法设置或得到以 XML 电子表格格式表示的不相连的单元格区域。

Range 的默认成员将不带参数的调用转发到 Value。 因此, someRange = someOtherRange 等效于 someRange.Value = someOtherRange.Value

对于第一个区域包含多个单元格的区域, Value 返回一个 Variant ,其中包含第一个区域的各个单元格中的值的 2 维数组。

将 2 dim 数组分配给 Value 属性将在一次操作中将值复制到该区域。 如果目标区域大于数组,则剩余单元格将收到错误值。

将数组分配给多区域范围不受正确支持,应避免这样做。

示例

本示例将活动工作簿 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 支持和反馈,获取有关如何接收支持和提供反馈的指南。