Макрос для поиска, поиска, копирования, вставки слова и объединения ячеек

#excel #vba

#excel #vba

Вопрос:

я пытаюсь создать макрос, который может:

  1. найдите слово «Да» во всех строках столбца E, скопируйте и вставьте его в соответствующую строку в столбце B (в той же строке)
  2. Объедините ячейку в столбце B с ячейкой в столбце C

Например: макрос выполняет поиск слова «Да» в столбце E, слово «Да» находится в E5, скопируйте и вставьте «Да» в B5, объедините B5 и C5 и подтвердите объединение (excell всегда отображает всплывающее окно с просьбой вручную нажать на кнопку, чтобыподтвердите объединение), перейдите к следующему поиску.

Комментарии:

1. Вы имеете в виду объединить ячейки, как в кнопке объединить ячейки, или вы имеете в виду добавить Yes к тому, что есть в C5?

Ответ №1:

Пожалуйста, попробуйте следующий код. Он ничего не будет запрашивать при объединении ячеек, и область примет значение левой ячейки (B = Yes). Если вам нужно значение в C или конкатенация между двумя ячейками, вы должны сообщить нам, что:

 Sub testMergeYesWord()
 Dim sh As Worksheet, lastR As Long, i As Long
 
 Set sh = ActiveSheet 'use here the sheet you need
 lastR = sh.Range("E" amp; rows.count).End(xlUp).row
    
 For i = 2 To lastR
    If UCase(sh.Range("E" amp; i).Value) = "YES" Then
        sh.Range("B" amp; i).Value = sh.Range("E" amp; i).Value
        Application.DisplayAlerts = False 'to avoid the message asking what value to be allocate to the merged area
         sh.Range("B" amp; i amp; ":C" amp; i).merge
        Application.DisplayAlerts = True
    End If
 Next i
 MsgBox "Ready..."
End Sub
 

Комментарии:

1. @nikolaikolev: Разве вы не нашли время, чтобы протестировать приведенный выше код?

2. Я сделал сопряжение, но по какой-то причине оно не работает, если оно сочетается с другими макросами в том же подразделении. Но если он находится в отдельном подразделении, как ваш код, он работает как шарм. спасибо, приятель.

3. @nikolaikolev: Вы можете вызвать вышеупомянутый Sub в конце вашего «другого макроса»…

4. я сделал это, и это сработало просто отлично. большое вам спасибо