Цитата |
---|
написал: Все что надо - заменить Ваши три строки: |
Я путаюсь в синтаксисе, сделал так
Код |
---|
Sub MultiFindNReplace()
'Update 20140722
Dim Rng As Range
Dim ws as worksheet
Dim InputRng As Range, ReplaceRng As Range
xTitleId = "KutoolsforExcel"
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Original Range ", xTitleId, InputRng.Address, Type:=8)
Set ReplaceRng = Application.InputBox("Replace Range :", xTitleId, Type:=8)
Application.ScreenUpdating = False
for each ws in activeworkbook.worksheets
For Each Rng In ReplaceRng.Columns(1).Cells
ws.range(InputRng.address).Replace what:=Rng.Value, replacement:=Rng.Offset(0, 1).Value
Next
Next
Application.ScreenUpdating = True
End Sub
|
Оно отработало в принципе, но в конце с ошибкой 13 type mismatch.
И некоторые замены сделались корректно, а часть нет. У меня есть замены слово на слово, там ок. А есть например артикулы типа Ф0000045644 меняются на ГФ0000045644. Там в результате получилось ГГГГГГГГГГГГГФ0000045644.