有很多代码丢失,但您可以使用类似这样的方法将二维变量数组(例如 Data)的内容传输到当前区域。
With Worksheets(SHT)
With .Range(TBL2).CurrentRegion
.Cells = Data
End With
End With
由于不能保证 Data 和 .CurrentRegion 的大小相同,因此这可能会更好,
With Worksheets(SHT)
With .Range(TBL2).resize(ubound(Data, 1), ubound(Data, 2))
.Cells = Data
End With
End With
鉴于 Data 二维数组的范围是未知的,因此很难更精确。
经测试:
Sub collect_change_dump()
Dim SHT As String, TBL2 As String, v As Long, w As Long, Data As Variant
SHT = "Sheet1"
TBL2 = "D3"
With Worksheets(SHT)
With .Range(TBL2).CurrentRegion
Data = .Cells.Value
End With
For v = LBound(Data, 1) To UBound(Data, 1)
For w = LBound(Data, 2) To UBound(Data, 2)
Data(v, w) = "blah"
Next w
Next v
With .Range(TBL2).Resize(UBound(Data, 1), UBound(Data, 2))
.Cells = Data
End With
End With
End Sub