2015-03-16 3 views
0

Колонка N содержит следующую информацию:1 Колонка поиска и замены

Doe, Jane 
Doe, John 
Doe, Jr., Johnny 

Я использую следующий Excel VB для приложений:

Columns("N").Replace What:=", Jr.,", _ 
          Replacement:=" Jr.,", _ 
          LookAt:=xlpPart, _ 
          SearchOrder:=False, _ 
          MatchCase:=True, _ 
          SearchFormat:=False, _ 
          ReplaceFormat:=False 

Он отлично работает до тех пор, есть имя, содержит «, младший». Если столбцы не содержат этого значения, я получаю ошибку времени выполнения «9»: индекс вне диапазона.

Что я могу сделать, чтобы исправить эту проблему?

+0

Вы можете использовать «Столбец (« N »). Найдите« прежде, чем вы будете вслепую выполнять замену? – PaulFrancis

+0

Это не должно иметь значения. Должно быть что-то еще, что вызывает ошибку. Может быть, 'xlPart' вместо' xlpPart'. – Jeeped

ответ

1

Отсутствие чего-то заменить не должно вызывать ошибки. Код должен быть выполненным против абсолютно пустой колонки.

With ActiveSheet 
    With .Columns("N") 
     .Replace What:=", Jr.,", Replacement:=" Jr.,", LookAt:=xlPart 
    End With 
End With 

Обратите внимание, что исходный образец содержал xlpPart вместо xlPart.

+0

Извините, я снова пересмотрел логику, и я изменил ее следующим образом: – cmp119

+0

Рабочие листы («Лист1»). Столбцы («N») Замените _ Что: = ", Jr.,", _ Замена: = "Jr.", _ SearchOrder: = xlByColumns, _ MatchCase: = True – cmp119