gpt4 book ai didi

excel - 如何查看数组中的项目

转载 作者:行者123 更新时间:2023-12-04 21:20:41 24 4
gpt4 key购买 nike

我收到 Subscript out of rangeDebug.Print myarr(i) .

Dim ws As Worksheet: Set ws = Sheets("Sheet1")
Dim myarr as Variant, i as Long
myarr = Array(ws.Range("A2:A" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row))

For i = LBound(myarr) To UBound(myarr)
Debug.Print myarr(i)
Next i

我已经用(下图)验证了显示 A2:A5 的范围
Msgbox ws.Range("A2:A" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row)).Address (false, false)

我也试过改变 myarr
 = ws.Range("A2:A" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row) 
= ws.Range("A2:A" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row).Value
= Array(Temp.Range("A2:A" & Temp.Range("A" & Temp.Rows.Count).End(xlUp).Row).Value)

第一个给出 Subscript out of range ,第二个两个给 type mismatch
使用数组相当新,我不知道我在这里缺少什么。 我是否错误地加载了数组或试图错误地查看数组中的项目?

最佳答案

myarr是一列的二维数组。

您将需要添加对第二维的引用。

Debug.Print myarr(i,1)

此外,要从范围加载数组,您只需分配值:
myarr = ws.Range("A2:A" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row).Value

所以
Dim ws As Worksheet: Set ws = Sheets("Sheet1")
Dim myarr as Variant, i as Long
myarr = ws.Range("A2:A" & ws.Range("A" & ws.Rows.Count).End(xlUp).Row).Value

For i = LBound(myarr,1) To UBound(myarr,1)
Debug.Print myarr(i,1)
Next i

关于excel - 如何查看数组中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51486292/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com