Excel VBA - реинициализация диапазона - PullRequest
0 голосов
/ 27 февраля 2009

В макросе я применяю одну и ту же обработку в каждой таблице файла.

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

Код выглядит следующим образом:

For Each Cell_version In Ws.Range("1:1")
    If Ws.Range(convertir(Cell_version.Column) & "1") = "ICI" Then
        Column_version = convertir(Cell_version.Column)
        Trouve_col = True
        MsgBox (Column_version)
    End If
If Trouve_col = True Then Exit For
Next Cell_version

На первом рабочем листе все функционирует надлежащим образом и находит текст в соответствующем столбце column D. На втором рабочем листе, если столбец находится после столбца D, он также функционирует. Однако, если это column A, B, or C, он не возвращает столбец, содержащий желаемый текст. Как мне решить эту проблему?

1 Ответ

2 голосов
/ 27 февраля 2009

Мой VBA немного устарел, но я всегда предпочитал команду Find, так как это самый быстрый способ поиска по листу, например, такой:

Sheets("YourSheet").Select

Cells(1, 1).Select

Set found = Cells.Find(What:="ICI", After:=ActiveCell, LookIn:=xlValues, _
    LookAt:=xlColumn, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False)

If Not found Is Nothing Then
    found.Activate      
    MsgBox(Selection.Row)
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...