我正在自动化一个工作簿,该工作簿使用4个工作表中的链式IF语句(非VBA)来生成用于上载的输出文件。
以下是给出上下文的代码的快速概述:
创建新工作表并从数组填充第一行(作品)
使用数组
使用上面使用的动态IF函数填充表的其余部分(似乎工作虽然相当简陋)
ruby your_ruby_file.rb
我希望实现的结果是数组使用正确的IF语句填充所有行,然后Range完成相关单元格的动态填充。
我收到的错误是
'1004:应用程序定义或对象定义的错误'
并且第Dim WS As Worksheet
Dim cell As Range
TestFormulas() = Array("=If 'Sheet1'!P2 = 'Redundant' Then cell.Value = ''
ElseIf 'Sheet1'!P2 = 'Peripheral' Then cell.Value = '' Else cell.Value = 1")
With WS
For i = LBound(TestFormulas()) To UBound(TestFormulas())
.Cells(2, 1 + i).Formula = TestFormulas(i)
Next i
End With
Range("A3:BN74").Formula = "=A2"
行突出显示为黄色。
答案 0 :(得分:1)
您说您已针对报价进行了调整,但您已将其更改为单引号,而不是将它们保留为双引号
公式应该像这样调整....
=If 'Sheet1'!P2 = ""Redundant"" Then ...
请注意双引号加倍。
此外,Excel电子表格不了解vba代码,因此您的公式应如下所示:
=IF('Sheet1'!P2 = ""Redundant"","""",IF(...