Excel найти и заменить - PullRequest
0 голосов
/ 07 июня 2011

Мой вопрос: как я могу сделать замену и найти слово замены, которое никогда не будет прежним. По сути, я хотел бы найти и заменить слово «x», скажем, 5 строк словом «A», а затем найти и заменить следующие пять строк словом «B» и т. Д. Для тысячи раз. Как мне это удается?

Ответы [ 2 ]

3 голосов
/ 07 июня 2011

Всегда делайте резервную копию ваших данных, прежде чем запускать код из Интернета.Это найдет все экземпляры «x» в столбце A и заменит их значениями, установленными в vaReplace.

Sub FindReplace()

    Dim rFound As Range
    Dim vaReplace As Variant
    Dim lFound As Long
    Dim lRepCount As Long

    Const lMAX As Long = 5 'how many to replace before switching values
    Const sFIND As String = "x" 'what to look for
    Const lCOLUMN As Long = 1 'which column to look in

    'list of values to use as replacements
    vaReplace = Array("A", "B", "C", "D", "E")

    Set rFound = Sheet1.Columns(lCOLUMN).Find(sFIND, Sheet1.Cells(Sheet1.Rows.Count, lCOLUMN), xlValues, xlWhole)
    lFound = 1
    lRepCount = 0

    If Not rFound Is Nothing Then
        Do
            If lFound > lMAX Then
                lRepCount = lRepCount + 1
                lFound = 1
            End If

            'if not enough in vaReplace, use the last value
            If lRepCount > UBound(vaReplace) Then lRepCount = UBound(vaReplace)

            rFound.Value = vaReplace(lRepCount)

            Set rFound = Sheet1.Columns(1).FindNext

            lFound = lFound + 1

        Loop Until rFound Is Nothing
    End If

End Sub
0 голосов
/ 07 июня 2011

Можете ли вы экспортировать в CSV?Если это так, вы можете сделать это, а затем использовать обычные инструменты командной строки в Linux или текстовый редактор, который, как вы знаете, имеет функции для поиска / замены, как вы обрисовали.

Вы можете использовать Gnumeric или LibreOffice для этого (в Linux, Windows).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...