这很好用:
Sub Button1_Click()
Dim strFormulas(1 To 3) As Variant
With ThisWorkbook.Sheets("TRANSFORM")
strFormulas(1) = "=SUM(A2:B2)"
strFormulas(2) = "=PRODUCT(A2:B2)"
strFormulas(3) = "=A2/B2"
.Range("A4:G4").Formula = strFormulas
.Range("A4:G20").FillDown
End With
End Sub
但这不起作用 - 除了strFormulas(1)
之外,一切都是一样的:
Sub Button1_Click()
Dim strFormulas(1 To 3) As Variant
With ThisWorkbook.Sheets("TRANSFORM")
strFormulas(1) = "=IF(NOT(IMPORT!A4=''),VLOOKUP(IMPORT!A4,'VL1'!$Q$4:$R$26,2,FALSE),'-')"
strFormulas(2) = "=PRODUCT(A2:B2)"
strFormulas(3) = "=A2/B2"
.Range("A4:G4").Formula = strFormulas
.Range("A4:G20").FillDown
End With
End Sub
我收到此错误:
运行时错误1004应用程序定义或对象定义的错误
我认为可能是因为我试图从strFormulas(1)
中的其他工作表中提取值。
我做了我的研究,但无法找到解决方案。任何人都可以看到问题所在吗?
答案 0 :(得分:2)
'
中有撇号strFormulas(1)
,其中应该有引号"
。所以,它应该更像是
strFormulas(1) = "=IF(NOT(IMPORT!A4=""""),VLOOKUP(IMPORT!A4,""VL1""!$Q$4:$R$26,2,FALSE),""-"")"
只需用两个引号'
替换公式中的所有""
。