[英]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.