#vba #loops #text #copy #paste
Вопрос:
У меня есть таблица с определенным столбцом AX29:AX200, я хотел бы проверить, содержит ли она определенный текст. Таблица динамична, поэтому ее содержимое будет меняться. Что я хочу сделать, так это создать макрос, который проверит, содержат ли ячейки в этом столбце строку «ER». В столбце может быть ноль или максимум три ячейки, в которых есть «ER». Например, теперь он содержит : ERZ2, ERZ3 и ERM3 в столбце.
Если ячейки содержат «ER», я хочу скопировать весь текст (например, ERZ2) и вставить его в определенную ячейку на том же листе (например, A30). Если нет данных, соответствующих строке, ячейка считается пустой.
На данный момент я пытался использовать следующий код:
Dim StatusCol As Range Dim Status As Range Dim PasteCell As Range Set StatusCol = Worksheets("MOA PF_PLO").Range("AX29:AX200") For Each Status In StatusCol If Worksheets("MOA PF_PLO").Range("A28") = "" Then Set PasteCell = Worksheets("MOA PF_PLO").Range("A28") Else Set PasteCell = Worksheets("MOA PF_PLO").Range("A30") End If If Status = "ER" Then Status.Copy PasteCell
введите описание изображения здесь
Но это не работает. Я также вижу, что у меня меньше максимального количества записей (три) для вставки в пустые ячейки (на данный момент A28 и A30). У кого-нибудь есть решение для этого?
Заранее спасибо!
Комментарии:
1. Вам придется быть более конкретным, чем «не работает». Разве вы не будете переписывать, вставляя в ту же ячейку?
2. Разве это не можно решить, установив их пустыми, если критерии не соблюдены? Или, может быть, сделать явное недовольство? Как видите, ни одного эксперта в этой области!
3. Не уверен, что я понимаю, что ты пытаешься сделать. Скриншот может помочь.
4. Я добавил скриншот столбца, который содержит интересующие меня данные. Меня интересуют только данные в этом столбце, но они не фиксированы, поэтому строк может быть больше или меньше, чем сейчас. Ячейки содержат, например, «ERZ2» и «ERZ3», что я хочу сделать, так это найти макрос, который просматривает все строки в этом столбце, чтобы попытаться найти частичный текст, т. е. «ER». Когда это произойдет, я хочу, чтобы он скопировал эту ячейку (например, «ERZ1») и вставил ее в определенную ячейку на том же листе («A20»). Если существует несколько значений «ER», он переходит к следующему и делает то же самое (скопируйте его и вставьте в «A21»).