我有一个标记为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")
然而,这并不起作用,并且错误会导致类型不匹配'
任何帮助都会很棒
答案 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####)
- 其中###是行号。