将Range转换为数组时出错

尹吉

有人可以帮我解决我的问题吗?

Dim attPresent as Variant ' attpresent()
Set ws = thisworkbook.sheets("Sheet1")
lastrow = ws.cells(Rows.count, 8).end(xlup).row

attPresent = ws.Range("H4:H" & lastrow).Value 'errors if I use Dim attPresent() As Variant

For k = LBound(attPresent, 1) To UBound(attPresent, 1) ' Dim attPresent As Variant'errors if I use         
    msgbox attpresent(k,1)
Next

attPresent = ws.Range("H4:H" & lastrow).Value如果我将变量声明为,则此行返回错误Dim attPresent() As Variant而如果将变量声明为Dim attPresent As Variant,则此行For k = LBound(attPresent, 1) To UBound(attPresent, 1)出错。

谁能帮我解决这个问题?

毛刺医生

我试图将您已经定义的内容分开,但为清楚起见,我想我会提供完整的代码:

Sub test()

Dim lastrow, i As Integer
Dim ws As Worksheet
Set ws = ActiveWorkbook.Worksheets("Sheet1")

Dim attPresent() As Variant

lastrow = ws.Cells(Rows.Count, "H").End(xlUp).Row

ReDim attPresent(lastrow - 4)

For i = 4 To lastrow
    attPresent(i - 4) = ws.Range("H" & i).Value
Next

msg = Join(attPresent, " ")
MsgBox "The array holds: " & vbNewLine & msg

End Sub

我定义的数组不以大小开头,一旦知道了lastrow,就将其重新定义为以后需要的大小(因为从4开始,我从中减去了4 lastrow)。

我猜想msgBox会测试您收集的内容,因此我创建了一个转储,将它们全部打印到一个盒子中,但是如果您有很多数据,显然可以更改它。xD

为了处理数组,我总是遍历每个单独的条目,一次存储一个。我什至不确定您是否可以一步一步将整个范围转储为一个,因为我从未研究过。无论如何,我希望这可以解决您的问题kupo。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试将列表转换为数组时出错[]

来自分类Dev

将张量转换为numpy数组时出错

来自分类Dev

将数据从CSV转换为numpy数组时出错

来自分类Dev

将String转换为Char数组时出错

来自分类Dev

将JSON转换为数组PHP时出错

来自分类Dev

将float转换为datetime时出错

来自分类Dev

将DICOM转换为JPEG时出错

来自分类Dev

将double转换为int时出错

来自分类Dev

将Object []转换为byte []时出错

来自分类Dev

将float转换为datatime时出错

来自分类Dev

将varchar转换为datetime时出错

来自分类Dev

将jpg转换为pdf时出错

来自分类Dev

将jpg转换为pdf时出错

来自分类Dev

将double转换为BigInteger时出错

来自分类Dev

将kml转换为geojson时出错

来自分类Dev

将int转换为NSNumber时出错

来自分类Dev

将mysql转换为mysqli时出错

来自分类Dev

将float转换为datatime时出错

来自分类Dev

将DICOM转换为JPEG时出错

来自分类Dev

将IplImage转换为Mat时出错

来自分类Dev

将varchar转换为bigint时出错

来自分类Dev

将 rxGlm 转换为 GLM 时出错

来自分类Dev

将字节数组转换为System.Drawing.Image时出错

来自分类Dev

将字节数组转换为PublicKey Java时出错

来自分类Dev

将字节数组转换为System.Drawing.Image时出错

来自分类Dev

将Enum中的静态Swift数组转换为NSArray时出错

来自分类Dev

将错误,“将值'ID'转换为类型时出错”

来自分类Dev

在Ruby中将范围转换为浮点值数组时出错

来自分类Dev

使用int dtype进行numpy数组计算时出错(在需要时无法将dtype自动转换为64位)