将字符“链”replace为另一个字符“链”
我的小问题以下:(
Option Compare Text Sub pocetpismen() With List1 Specialchar = "á.č.ř.ž.ý" nonspec = "acrzy" delka = Len(Cells(8, 6)) delka1 = (delka - 1) / 2 leva = Left(Cells(8, 6), delka1) prava = Right(Cells(8, 6), delka1) Cells(26, 4) = leva 'just to help me For Each char In Split(Specialchar, ".") leva = Replace(leva, char, Split(nonspec, ".")) Next Cells(25, 4) = leva 'just to help me If leva = prava Then Cells(8, 6).Interior.Color = RGB(255, 204, 0) ElseIf leva <> prava Then Cells(8, 6).Interior.Color = RGB(255, 255, 255) End If End With
所以在这个部分:
For Each char In Split(Specialchar, ".") leva = Replace(leva, char, Split(nonspec, ".")) Next
它不会replace我想要的字符(它甚至不运行)
例如,我不希望用单个字符replaceSpecialchar = "á.č.ř.ž.ý"
定义的所有字符,就像我会用
For Each char In Split(Specialchar, ".") leva = Replace(leva, char, "X") Next
我希望á
被replace为a
, c
到c
等…任何帮助家伙? 提前致谢!
只需使用Range.Replace :
Sub RelaceThem() Sheets("Sheet1").Cells.Replace What:="á", Replacement:="a", SearchOrder:=xlByColumns, MatchCase:=True, LookAt:=xlPart Sheets("Sheet1").Cells.Replace What:="č", Replacement:="c", SearchOrder:=xlByColumns, MatchCase:=True, LookAt:=xlPart Sheets("Sheet1").Cells.Replace What:="ř", Replacement:="r", SearchOrder:=xlByColumns, MatchCase:=True, LookAt:=xlPart Sheets("Sheet1").Cells.Replace What:="ž", Replacement:="z", SearchOrder:=xlByColumns, MatchCase:=True, LookAt:=xlPart Sheets("Sheet1").Cells.Replace What:="ý", Replacement:="y", SearchOrder:=xlByColumns, MatchCase:=True, LookAt:=xlPart End Sub
对于要replace的其他字符,执行相同的代码行。 请记住,这只适用于小写(我有它MatchCase:=True
),但你可以做5个更多的行大写字母replace。