提问人:sickboy 提问时间:5/26/2023 更新时间:5/27/2023 访问量:57
VB.NET 一行代码创建 Excel 单元格值数组
VB.NET one line code to create array of Excel cell values
问:
我正在尝试在 VB.NET 中复制此VBA代码
这给出了这个结果
如何在 VB.NET 中使用一行代码来做到这一点?
(我已经知道用迭代和数组来做到这一点)
非常感谢所有回复的人!
答:
1赞
Ambie
5/27/2023
#1
首先,不要尝试重现该VBA代码。这很糟糕,会给你带来问题 - 有人使用了不合格的范围,所以不知道你正在做什么数据来从中得到。
对于 VB.Net 中的单行代码,您可以只使用类型范围数组并调用该方法 - 请记住,您需要先将范围转换为 2D 数组才能访问该方法。像这样的东西(使用限定范围):Cast
Object
ToArray()
DirectCast
Object
Cast
Dim a = DirectCast(ws.Range("A1:C1").Value, Object(,)).Cast(Of Object).ToArray()
在 VBA 中,如果在范围中只定义了一个单元格(例如“A1”),则值类型是 Variant 而不是 Variant 数组,因此任何将其引用为数组的尝试都会引发错误。如果仅引用一个单元格,则在此 VB 代码中也会发生相同的情况。
评论
For i = 1 To 10 : Console.WriteLine(i) : Next