Excel 从VBA代码向单元格添加公式

Excel 从VBA代码向单元格添加公式,excel,excel-formula,vba,Excel,Excel Formula,Vba,我试图通过VBA代码将公式放入一个特定的单元格中 这是我的公式: =CONCATENATE("SK-",IF(A5+1<1000,IF(A5+1>=10,CONCATENATE("0",A5+1),CONCATENATE("00",A5+1)),A5+1),"-",RIGHT(J8,LEN(J8)-2)) =连接(“SK-”,如果(A5+1=10,连接(“0”,A5+1),连接(“00”,A5+1)),A5+1),“-”,右(J8,LEN(J8)-2)) 我想将公式添加到单元格中

我试图通过VBA代码将公式放入一个特定的单元格中

这是我的公式:

=CONCATENATE("SK-",IF(A5+1<1000,IF(A5+1>=10,CONCATENATE("0",A5+1),CONCATENATE("00",A5+1)),A5+1),"-",RIGHT(J8,LEN(J8)-2))
=连接(“SK-”,如果(A5+1=10,连接(“0”,A5+1),连接(“00”,A5+1)),A5+1),“-”,右(J8,LEN(J8)-2))
我想将公式添加到单元格中,但执行代码时出现错误1004

我正在尝试这个:

Sheets("Sheet1").Select
Range("J6").Formula = "=CONCATENATE('SK-',IF(A5+1<1000,IF(A5+1>=10,CONCATENATE('0',A5+1),CONCATENATE('00',A5+1)),A5+1),'-',RIGHT(J8,LEN(J8)-2))"
Sheets(“Sheet1”)。选择
范围(“J6”)。公式=“=串联('SK-',如果(A5+1=10,串联('0',A5+1)),串联('00',A5+1)),A5+1),'-',右(J8,LEN(J8)-2))”

任何关于评论的问题帖子

Sheets(“Sheet1”).Range(“J6”).Formula=“=CONCATENATE”(“SK-”),IF(A5+1=10,CONCATENATE”(“0”,A5+1),CONCATENATE(“00”,A5+1)),A5+1),“-”,RIGHT(J8,LEN(J8)-2))
Sheets(“Sheet1”).Range(“J6”).Formula=“=CONCATENATE”(“SK-”,IF(A5+1=10,CONCATENATE(“0”,A5+1=10),CONCATENATE(“0”,A5+1),CONCATENATE(“00”),CONCATENATE(“00”),RIGHT(A5+1),LEN+8),J8-)-J8-“j1”)

您的问题在于公式本身,而不是您的输入方法。如果您尝试
Sheets(“Sheet1”).Range(“J6”).Formula=“=TODAY()”
则不会有问题。很可能你拼错了什么东西或遗漏了一个括号等。@TimEdwards公式没关系,如果你直接在工作表上测试公式,公式就可以正常工作。它在我的机器上不工作-我想是
'
字符…我刚刚注意到你用双引号替换了单引号。当然你只需要加上两个双引号?你的问题在于公式本身,而不是你的方法。如果您尝试
Sheets(“Sheet1”).Range(“J6”).Formula=“=TODAY()”
则不会有问题。很可能你拼错了什么东西或遗漏了一个括号等。@TimEdwards公式没关系,如果你直接在工作表上测试公式,公式就可以正常工作。它在我的机器上不工作-我想是
'
字符…我刚刚注意到你用双引号替换了单引号。当然你只需要加上两个双引号就行了?哦,现在代码运行了,我不知道你能做到!谢谢你的支持!哦,现在代码工作了,我不知道你能做到!谢谢你的支持!