我想逐列阅读excel文件。 但是我的代码逐行读取数据。
On Error GoTo errhand
Set ws = oBook.Sheets("Sheet1")
Set rngSize = ws.UsedRange
Dim row As Range
For Each row In rngSize.Rows
Dim cell As Range
For Each cell In row.Cells
MsgBox cell.value
Next cell
Next row
正如评论中所指出的
Rows
会给你行。 Columns
会给你专栏
Dim col As Range
For Each col In rngSize.Columns
Dim cell As Range
For Each cell In col.Cells
MsgBox cell.Value
Next cell
Next col
PS我用
row
替换了变量名col
以获得更好的可读性
第二种方法是将范围的值复制到数组中
Dim vDat As Variant
vDat = rngSize.Value
Dim i As Long, j As Long
For i = LBound(vDat, 2) To UBound(vDat, 2)
For j = LBound(vDat, 1) To UBound(vDat, 1)
MsgBox vDat(j, i)
Next
Next
在数组的情况下,这个版本也是可能的
Dim vDat As Variant, element As Variant
vDat = rngSize.Value
For Each element In vDat
MsgBox element
Next