【发布时间】:2014-04-10 15:27:49
【问题描述】:
公式=LEFT(A2,FIND("|",SUBSTITUTE(A2,".","|",LEN(A2)-LEN(SUBSTITUTE(A2,".",""))))-1) 删除last . 右侧的所有字符(可能不止一个)如果我将它添加到单元格并复制下来,它就可以工作。
我不知道如何将公式添加到 vba
如果只有一个.,我有vba
(要评估的单元格在 A 列中,输出到 E 列)
当我将代码添加到模块c.Formula = "=LEFT(A2,FIND("|",SUBSTITUTE(A2,".","|",LEN(A2)-LEN(SUBSTITUTE(A2,".",""))))-1)" 时,它以红色突出显示,错误Invalid Character 带有| 高亮显示
谢谢
Sub NotWorking()
Dim c As range
Dim Lastrow As Long
With Sheets("sheet1")
Lastrow = .range("C" & .Rows.Count).End(xlUp).Row
For Each c In .range("E2:E" & Lastrow)
c.Formula = "=LEFT(A2,FIND("|",SUBSTITUTE(A2,".","|",LEN(A2)-LEN(SUBSTITUTE(A2,".",""))))-1)"
Next
.range("E1").Value = "Source"
End With
End Sub
【问题讨论】:
-
公式中的双引号需要加倍。
-
正如 Gary'sStudent 提到的,你应该使用:
c.Formula = "=LEFT(A2,FIND(""|"",SUBSTITUTE(A2,""."",""|"",LEN(A2)-LEN(SUBSTITUTE(A2,""."",""""))))-1)" -
谢谢,感谢您的帮助