Я хочу запустить поиск и замену нескольких значений в диапазоне Excel со значениями из 2 столбцов: A с исходным словом; Б с переводом. Я уже нашел код VBA, чтобы заставить его работать на 50%, но этот код запускает его на всей рабочей странице.
В идеале я хотел бы иметь возможность запустить его только на выбранном диапазоне. Дополнительный бонус был бы, если бы я мог также выбрать диапазон поиска.
Это то, что я использую это далеко. Спасибо за вашу помощь!
Sub abbrev()
Dim abvtab() As Variant
Dim ltsheet As Worksheet
Dim datasheet As Worksheet
Dim lt As Range
'Change Lookup to the sheet name with your lookup table.
Set ltsheet = Sheets("Lookup")
'Change Data to the sheet name with your data.
Set datasheet = Sheets("Data")
'Change A2 to the top left cell (not the header) in your lookup table.
'Change B2 to top right cell.
Set lt = ltsheet.Range("A1", ltsheet.Range("B1").End(xlDown))
abvtab = lt
For i = 1 To UBound(abvtab)
datasheet.Cells.Replace What:=abvtab(i, 1), Replacement:=abvtab(i, 2), LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=True, SearchFormat:=False, _
ReplaceFormat:=False
Next i
End Sub
источник
A1:A3
, он вернет ошибку времени выполнения.A1:A4
на первом листе и выполнил макрос. (имя поискового листа былоLookup
и диапазон поиска былA1:A3
). Для меня это работает отлично. Он заменяет все.