有公式来删除所有字符在最后一个字符(可能有一个以上)右边的vba问题

xyz

如果我将其添加到单元格中并向下复制,则=LEFT(A2,FIND("|",SUBSTITUTE(A2,".","|",LEN(A2)-LEN(SUBSTITUTE(A2,".",""))))-1)用于删除last .(可能有多个字符)右边所有字符的公式起作用。

我不知道如何将公式添加到vba

如果只有一个,我有vba .

(待评估的细胞是在列A和输出是列E)当我添加代码TA的模块c.Formula = "=LEFT(A2,FIND("|",SUBSTITUTE(A2,".","|",LEN(A2)-LEN(SUBSTITUTE(A2,".",""))))-1)"它突出在红色和误差Invalid Character|highligthed

谢谢

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
德米特里·帕夫利夫(Dmitry Pavliv)

第一点:

当您在VBA中的公式中使用惯用引号时,应使用双qoutes。例如

反而

Range("E1").Formula="=IF(A1="test",1,2)"

你应该用

Range("E1").Formula="=IF(A1=""test"",1,2)"

第二个技巧:

应用公式时无需使用循环。有一种更有效的方法可以做到这一点。

接下来的代码

For Each c In .range("E2:E" & Lastrow)
    c.Formula = "=LEFT(A2,FIND("|",SUBSTITUTE(A2,".","|",LEN(A2)-LEN(SUBSTITUTE(A2,".",""))))-1)"
Next

为您提供了E2:的公式=LEFT(A2,...),并为E3再次=LEFT(A2,...)提供了公式(在两个公式中均需注意A2)。我认为,这不是您所期望的。改用这个:

.Range("E2:E" & Lastrow).Formula="=LEFT(A2,FIND(""|"",SUBSTITUTE(A2,""."",""|"",LEN(A2)-LEN(SUBSTITUTE(A2,""."",""""))))-1)"

上面的代码将公式应用于整个范围。公式将针对每一行进行调整,例如for的公式E2将为=LEFT(A2,...),而for的公式E3=LEFT(A3,...)以此类推。

但是,如果您需要为整个列使用相同的公式E(对于E2=LEFT(A2,...),以及对于E3再次=LEFT(A2,...)),请使用绝对/混合引用(带$符号):

.Range("E2:E" & Lastrow).Formula="=LEFT(A$2,FIND(""|"",SUBSTITUTE(A$2,""."",""|"",LEN(A$2)-LEN(SUBSTITUTE(A$2,""."",""""))))-1)"

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有公式来删除所有字符在最后一个字符(可能有多个)的右边

来自分类Dev

删除最后一个字符之前的所有字符

来自分类Dev

IEnumerable:在与谓词匹配的最后一个字符之前获取所有字符

来自分类Dev

PHP Regex删除字符串中最后一个字符之后的所有内容

来自分类Dev

编写一个C程序以除去除最后一个字符外的所有字符

来自分类Dev

从字符串中删除一个字符的所有实例

来自分类Dev

删除字符串JS的最后一个字母之后的所有字符

来自分类Dev

在最后一个字符出现后获取所有内容python

来自分类Dev

如何使用python从列中的所有数据中删除最后一个字符?

来自分类Dev

如何删除最后一个字符串后的所有分隔符

来自分类Dev

正则表达式:删除除第一个字符和最后一个数字以外的所有字符

来自分类Dev

RegEx:REPLACE REGEX 删除第一个字符和最后一个 _ 之后的所有字符

来自分类Dev

删除最后一个字符之后和最后一个点之前的所有空格

来自分类Dev

读取除输入字符串的最后一个字符以外的所有字符吗?

来自分类Dev

Java正则表达式除最后一个字符外的所有字符

来自分类Dev

如何删除最后一个字符

来自分类Dev

删除文件的最后一个字符

来自分类Dev

检查一个字符串是否具有另一个字符串的所有字符

来自分类Dev

C语言:我输出的最后一个字符后面有一个结尾字符

来自分类Dev

使一个字符向量的所有元素都具有相同的长度

来自分类Dev

如何用sed代替除了一个字符外的所有字符

来自分类Dev

C#将所有出现的字符替换为一个字符

来自分类Dev

用一个字符替换所有非数字字符

来自分类Dev

如何用sed代替除了一个字符外的所有字符

来自分类Dev

C#将所有出现的字符替换为一个字符

来自分类Dev

替换除第一个字符外的所有出现的字符

来自分类Dev

练习:从另一个字符串中删除所有出现的字符串

来自分类Dev

正则表达式,删除PHP中除一个字符外的所有字符

来自分类Dev

当后面有另一个字符时,删除周围的字符

Related 相关文章

  1. 1

    有公式来删除所有字符在最后一个字符(可能有多个)的右边

  2. 2

    删除最后一个字符之前的所有字符

  3. 3

    IEnumerable:在与谓词匹配的最后一个字符之前获取所有字符

  4. 4

    PHP Regex删除字符串中最后一个字符之后的所有内容

  5. 5

    编写一个C程序以除去除最后一个字符外的所有字符

  6. 6

    从字符串中删除一个字符的所有实例

  7. 7

    删除字符串JS的最后一个字母之后的所有字符

  8. 8

    在最后一个字符出现后获取所有内容python

  9. 9

    如何使用python从列中的所有数据中删除最后一个字符?

  10. 10

    如何删除最后一个字符串后的所有分隔符

  11. 11

    正则表达式:删除除第一个字符和最后一个数字以外的所有字符

  12. 12

    RegEx:REPLACE REGEX 删除第一个字符和最后一个 _ 之后的所有字符

  13. 13

    删除最后一个字符之后和最后一个点之前的所有空格

  14. 14

    读取除输入字符串的最后一个字符以外的所有字符吗?

  15. 15

    Java正则表达式除最后一个字符外的所有字符

  16. 16

    如何删除最后一个字符

  17. 17

    删除文件的最后一个字符

  18. 18

    检查一个字符串是否具有另一个字符串的所有字符

  19. 19

    C语言:我输出的最后一个字符后面有一个结尾字符

  20. 20

    使一个字符向量的所有元素都具有相同的长度

  21. 21

    如何用sed代替除了一个字符外的所有字符

  22. 22

    C#将所有出现的字符替换为一个字符

  23. 23

    用一个字符替换所有非数字字符

  24. 24

    如何用sed代替除了一个字符外的所有字符

  25. 25

    C#将所有出现的字符替换为一个字符

  26. 26

    替换除第一个字符外的所有出现的字符

  27. 27

    练习:从另一个字符串中删除所有出现的字符串

  28. 28

    正则表达式,删除PHP中除一个字符外的所有字符

  29. 29

    当后面有另一个字符时,删除周围的字符

热门标签

归档