有一个问题我无法解决(好吧,现在是凌晨 2 点),我想请求您的支持。
我有一个 Excel 工作表,在几个单元格中包含一些数字和文本。很多单元格都是空的:
A | B | C | D | E | ... | |
---|---|---|---|---|---|---|
1 | 文字 | 999 | ||||
2 | 56 | 什么? | 12 | |||
3 | 在 | |||||
4 | ||||||
... |
我想知道如何使用 VBA 获取具有以下属性的 2D 数组:
结果数组应该这样定义:
arr(0, 0) = Empty
arr(0, 1) = 999
arr(0, 2) = Empty
arr(0, 3) = Empty
arr(1, 0) = 56
arr(1, 1) = Empty
arr(1, 2) = Empty
arr(1, 3) = 12
arr(2, 0) = Empty
arr(2, 1) = Empty
arr(2, 2) = Empty
arr(2, 3) = Empty
到目前为止我的方法如下:
lastRow = ws.Cells.SpecialCells(xlCellTypeLastCell).Row
lastCol = ws.Cells.SpecialCells(xlCellTypeLastCell).Column
Set rg = ws.Range(Cells(1, 1), Cells(lastRow, lastCol)).SpecialCells(xlCellTypeConstants, xlNumbers)
rg.Select
非常感谢您的帮助! 最大
解决方案:循环遍历选定范围内的每个单元格:
For Each cell In rg
arr(cell.Row, cell.Column) = cell.Value
Next