我希望有人可以帮助我一个宏在Excel中的一些文本操作。Excel来改变选择的内容
问:
如何更改选定的单元格(乃至列/行)的使用宏的内容?宏应该怎么样?
有迹象表明,我期待在这个过程中遵循一些规则:
让我们假定我们在单元格A1-A5以下内容:
A1:一些文字,嘧菌酯
A2:其他一些文字,Kvfr
A3:随机文本,MOT
A4:文本文字,文本,LPK
A5:任何其他随机文本,KKJ
- >选择所述单元A1-A5或甚至整个列A,然后运行宏后,将结果应该是:
A1: Azx some text
A2: Kvfr Some OtHer text
A3: Mot Random TEXT
A4: Lpk Text text, text
A5: Kkj Any other random text
基本上我必须采取像", aZx"
; ", Kvfr"
; ",mot"
; ", LPK"
; ",KKj"
,将它们转换为"Azx"
; "Kvfr"
; "Mot"
; "Lpk"
; "Kkj"
,然后将它们移动到该单元格中的整个文本的前面。
这些字母组可以在宏中硬编码。
我的第一个想法是把所有我感兴趣的阵列,像这样的表述:
Dim basicExpr(1 To 5) As String
basicExpr(1) = ", aZx"
basicExpr(2) = ", Kvfr"
basicExpr(3) = ",mot"
basicExpr(4) = ", LPK"
basicExpr(5) = ",KKj"
Dim replaceExpr(1 To 5) As String
replaceExpr(1) = "Azx "
replaceExpr(2) = "Kvfr "
replaceExpr(3) = "Mot "
replaceExpr(4) = "Lpk "
replaceExpr(5) = "Kkj "
然后我想遍历所有选定的单元格,并从basicExpr
检查值(还要检查该值是否在字符串的末尾)并相应地处理单元格。
Set cellRange = Application.Selection
For Each Cell In cellRange
在这一点上我坚持,因为我不知道如何与instrrev
从最后一个逗号选择到字符串的结尾,则标题情况下,并将其移动到字符串的前面。
所以你想找到最后一个逗号后面的文本,将它移动到字符串的开头,根据标题大小写,并保持字符串的其余部分不变? – GSerg
是的,这是我正在寻找的。 –
然后'instrrev'将会找到最后一个逗号,'strconv'会转换为标题大小写,'for each'将循环遍历'selection.cells'。 – GSerg