簡體   English   中英

字符數少於255時的VBA FormulaArray范圍類錯誤

[英]VBA FormulaArray range class error when the Characters are less than 255

VBA .FormulaArray似乎與我的范圍有關。 我讀過它不能處理255個以上的字符,但是我的字符大約只有108個,但是我可能理解錯了。

它給出了

錯誤1004:
無法設置Range類的FormulaArray屬性。

我嘗試將公式保留在表列中,並在表中填充宏后自動填充該公式,但是問題是在宏開始運行之前索引數組表尚不存在。

還嘗試將其保留為文本,然后將列更改為“常規”,但是它不起作用。 而且我知道它也會以這種方式將其更改為數組公式會產生問題。

這是我正在使用的代碼:

With wsOutdated.ListObjects("Table_Outdated_Stock_Counts")
        .ListColumns("Ranging").DataBodyRange.NumberFormat = "General"
        .ListColumns("Ranging").DataBodyRange.FormulaArray = "=INDEX(Table_DispoData[[Class]],MATCH([@Article]&[@Site],Table_DispoData[Article]&Table_DispoData[Site],0),1)"
    End With

我需要表列自動用數組公式填充。 它適用於其他列(盡管它們不是數組公式,只需要匹配一個值)。

也許您可以嘗試:

.ListColumns("Ranging").DataBodyRange.Cells(1, 1).FormulaArray = "=INDEX(Table_DispoData[[Class]],MATCH([@Article]&[@Site],Table_DispoData[Article]&Table_DispoData[Site],0),1)"

代替 :

.ListColumns("Ranging").DataBodyRange.FormulaArray = "=INDEX(Table_DispoData[[Class]],MATCH([@Article]&[@Site],Table_DispoData[Article]&Table_DispoData[Site],0),1)"

看看它是否對您有用!

說明:

您的代碼嘗試將Array公式同時寫入多個單元格,這是不允許的。 如果嘗試在Excel中執行此操作,則它將返回錯誤“表中不允許使用多單元格數組公式”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM