VBA Excel найти слова в диапазоне и заменить


Я хочу заменить слова в столбце другим словом, однако мой код, похоже, не работает, я все еще пытаюсь овладеть языком программирования, но это просто не интуитивно для меня.

Ситуация:

Global Macro - Equities
Global Macro - Bonds
Global Macro - FX
.
.
.
And so on...

Желаемый результат:

GM - Equities
GM - Bonds
GM - FX
.
.
.

Мой код

Sub ReplaceFundNames()

    Dim FundName As String
    Dim CorrectedName As String
    Dim ws As Worksheet
    Dim LastRow As Long

    Set ws = ActiveSheet
    LastRow = Range("B" & Rows.Count).End(xlDown).Row

    FundName = Range(LastRow)
    CorrectedName = Replace(FundName, "Global Macro", "GM")

    Range("B" & LastRow).Value = CorrectedName


End Sub

Спасибо!

1 2

1 ответ:

Функция Replace в VBA предназначена для работы с одной строкой, в то время как метод Range.Replace предназначен для работы с Range.

Таким образом, вы можете выполнять свои замены в одном операторе:

ActiveSheet.Range("B:B").Replace "Global Macro", "GM"