Как найти определенный текст в формуле в нескольких столбцах (на основе имен заголовков столбцов) и заменить другим текстом - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь заставить приведенный ниже код работать так, чтобы я мог:

Найти конкретный текст "AMJ" в формулах в определенных столбцах с
Имена заголовков: "RmRf" и "UMD"

Затем, как только "AMJ" найден, его следует заменить на "ABC"

Большая часть кода, который я прочитал (пока искал решение выше), использует номера столбцов вместо заголовков столбцов,но мой рабочий лист будет обновляться каждый месяц, поэтому номера столбцов будут меняться, и поэтому я хотел бы использовать имена заголовков столбцов (в данном случае "RmRf" и "UMD")

Public Sub FindAndConvert()
Dim i           As Integer
Dim lastRow     As Long
Dim myRng       As Range
Dim mycell      As Range
Dim MyColl      As Collection
Dim myIterator  As Variant

Set MyColl = New Collection

MyColl.Add "RmRf"
MyColl.Add "UMD"

lastRow = ActiveSheet.Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row

For i = 1 To 2000
    For Each myIterator In MyColl
        If Cells(1, i) = myIterator Then
            Set myRng = Range(Cells(2, i), Cells(lastRow, i))
            For Each mycell In myRng.SpecialCells(xlFormulas)
                mycell.Formula = Replace(mycell.Formula, "AMJ", "ABC")
            Next
        End If
    Next
Next
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...