从vba将公式添加到Excel单元格中

时间:2017-07-03 10:27:31

标签: vba excel-vba excel

我有一个标记为my_new_name的工作表,并希望输入一个公式,看了其他堆栈溢出线程后我提出了以下内容:

Set wsDest = Sheets("my_new_name")
wsDest.Range("J2").Formula = "=RIGHT(K2,2)&" / "&MID(K2,5,2)&" / "&LEFT(K2,4)"
wsDest.Range("J2").Select
Selection.AutoFill Destination:=Range("J2:J")

然而,这并不起作用,并且错误会导致类型不匹配'

任何帮助都会很棒

1 个答案:

答案 0 :(得分:2)

如果您输出的公式输出显示为=RIGHT(K2,2)&"/"&MID(K2,5,2)&"/"&LEFT(K2,4),则必须转义VBA行中的双引号。

wsDest.Range("J2").Formula = "=RIGHT(K2,2)&" / "&MID(K2,5,2)&" / "&LEFT(K2,4)"(抛出类型不匹配)

应该是:

wsDest.Range("J2").Formula = "=RIGHT(K2,2)&"" / ""&MID(K2,5,2)&"" / ""&LEFT(K2,4)"(没有错误)

修改 另外,根据评论部分,您需要在之后指定结束行(J2:J####) - 其中###是行号。