Excel VBA 应用程序。在正确打印一些值后,转置数组将 NA 设置为范围单元格

问题描述 投票:0回答:1

我有一维字符串数组,它的大小每次都是动态的,在Application.Transpose之后它将#N/A设置为范围值

Dim a_ComboLovs() As String
Dim a_metasheet As Worksheet ' consider this as worksheet object
Dim g_ComboSourceColCount as long

' For example, setting it to some values for illustration:
a_ComboLovs = Split("Value1,Value2,Value3,...,Value80000", ",")
g_ComboSourceColCount = 25

a_metasheet.Range(g_ComboSourceColCount & "100:" & g_ComboSourceColCount & UBound(a_ComboLovs) + 100).Value = Application.Transpose(a_ComboLovs)

 a_metasheet.Range(g_ComboSourceColCount & "100:" & g_ComboSourceColCount & UBound(a_ComboLovs) + 100).Name = "Evalranage"

上面的代码在WorkSheet Open事件中被调用 达到某些值(15k)后,它会在每个单元格中打印正确的值,直到最后一个

我想避免循环,这就是为什么我尝试这样做

excel vba na
1个回答
0
投票

您必须确保目标范围与数组项具有相同的行数

Dim a_metasheet As Worksheet ' consider this as worksheet object
    Set a_metasheet = ActiveSheet


' For example, setting it to some values for illustration:
Dim a_ComboLovs() As String
    a_ComboLovs = Split("Value1,Value2,Value3,...,Value80000", ",")

Dim g_ComboSourceColCount As Long
    g_ComboSourceColCount = 25

    a_metasheet.Cells(100, g_ComboSourceColCount).Resize(UBound(a_ComboLovs)).Value = Application.Transpose(a_ComboLovs)
© www.soinside.com 2019 - 2024. All rights reserved.