当使用 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
dataArea.Value = valuesArray
End Sub
支持和反馈
有关于 Office VBA 或本文档的疑问或反馈? 请参阅 Office VBA 支持和反馈,获取有关如何接收支持和提供反馈的指南。