如何逐列读取excel文件

问题描述 投票:0回答:1

我想逐列阅读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
excel vba autocad
1个回答
1
投票

正如评论中所指出的

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
© www.soinside.com 2019 - 2024. All rights reserved.