VB.NET一行代码创建Excel单元格值数组

6za6bjd0  于 2023-05-30  发布在  .NET
关注(0)|答案(1)|浏览(172)

我试图在VB.NET中复制此VBA代码

它给出了这个结果

我怎么能在VB.NET中用一行代码做到这一点?
(我已经知道用迭代和数组来做这件事)
非常感谢所有会回复的人!

j2datikz

j2datikz1#

首先,不要尝试复制VBA代码。这是不好的,会给你带来问题-有人使用了一个不合格的范围,所以没有告诉什么数据,你正在做的,以获得从。
对于VB.NET中的一行程序,您可以使用Object类型Cast范围数组并调用ToArray()方法-请记住,您需要首先将范围DirectCast到2D Object数组以访问Cast方法。类似这样的东西(使用限定范围):

Dim a = DirectCast(ws.Range("A1:C1").Value, Object(,)).Cast(Of Object).ToArray()

在VBA中,如果只有一个单元格被定义在范围内(例如“A1”),那么值类型是一个变量,而不是一个变量数组,所以任何试图引用它作为一个数组将抛出错误。如果您只引用一个单元格,则在此VB代码中也会发生相同的情况。

相关问题