![](/img/trans.png)
[英]how to insert a value of an Excel cell into String array in VB.NET?
[英]How to assign excel cell with string to array value in visual basic?
我对Visual Basic还是很陌生,但是在将单元格值分配给数组的成员时遇到了麻烦。 基本上,我正在做的是遍历一列并将每个单元格分配给数组的新部分。 测试代码如下:
Sub Test()
Dim List(5) As String
Dim celltext As String
For i = 1 To 5
celltxt = ActiveSheet.Range("K" & i).Text
List(i) = celltext
MsgBox List(i)
Next i
End Sub
每次弹出该消息框时,它都是空白的,这意味着该分配不起作用。 在那些坐标DO处的单元具有值。 有什么线索吗?
您正在分配“ celltxt”,但正在读取“ celltext”。
在每个模块的顶部添加Option Explicit
这将使这些类型的错误更加明显。
当您将Dim List(5) As String
。 数组中的最低元素是0
而不是1
。 您可能希望将其更改为Dim List(1 to 5) As String
否则您的第一个元素在数组中将始终为空白。
您正在使用ActiveSheet
。 您确定它是正确的表吗?
试试这个代码
Sub Test()
Dim List(1 To 5) As String
Dim ws As Worksheet
Dim i as Long
Set ws = ThisWorkbook.Sheets("Sheet1")
For i = 1 To 5
List(i) = ws.Range("K" & i).Value
MsgBox List(i)
Next i
End Sub
您也可以尝试:
Dim List As Variant
Dim i As Long
List = ActiveSheet.Range("K1:K5")
For i = 1 To UBound(List)
MsgBox List(i, 1)
Next i
通过仅从工作表中读取一次而不是每次循环都可以提高性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.