Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Копирование строк если ячейка не содержит текст - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование строк если ячейка не содержит текст (Макросы/Sub)
Копирование строк если ячейка не содержит текст
Driven2002 Дата: Суббота, 01.08.2020, 00:12 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 29
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Добрый день!

подскажите как отфильтровать критерии поиска при копировании если они очень похожи (ОП-1 умвд по г.смоленску, ОП-2 умвд по г.смоленску и умвд по г.смоленску)

не могу победить оператор like
на его основе организовал копирование данных блоками, но вот не могу их отфильтровать по ОП-1 умвд по г.смоленску, ОП-2 умвд по г.смоленску и умвд по г.смоленску копируется либо все сразу, либо только содержащие ОП, функция поиска данных не содержащих "[!ОП]*УМВД*" почему то не работает

ИЗ [vba]
Код

Dim c1 As Range, c2 As Range 'задаем переменные куда будем копировать найденные адреса
Dim i, i1 As Integer
    For i = 1 To 1000  'задаем диапазон поиска в столбце
      If Cells(i, 2) Like "умвд" Then 'ищем ячейку со своим значением
       'MsgBox Cells(i, 1).Address
       Set c1 = Cells(i, 2) 'запоминаем найденую ячейку
       For i1 = 1 To 6 'задаем диапазон поиска в столбце
         If Len(Cells(c1.Row + i1, 2)) Then 'проверяем ячейки на содержание записей
         'MsgBox Cells(c1.Row + i1, 1).Address
          Else
          Set c2 = Cells(c1.Row + i1, 2) 'запоминаем пустую ячейку
          ' MsgBox "пусто" & Cells(c1.Row + i1, 1).Address
          lLastRow = Cells(Rows.Count, 4).End(xlUp).Row 'определяем строку полседней зянятой ячейки в столбце
          Range(c1.Address, c2.Address).Copy Range("d" & lLastRow + 2) 'копируем область между с1 и с2 в последнуюю занятую ячейку столбца D
          Exit For 'Выходим из цикла если найдена пустай ячейка
          End If 'Выходим из уловия по проверки зянятой ячейки
        Next 'если пустая ячейка не найдена продолжаем цикл
      End If 'Выходим из поиска если искомого значения
    Next 'продолжаем посик искомого значения
End Sub
[/vba]
 
Ответить
СообщениеДобрый день!

подскажите как отфильтровать критерии поиска при копировании если они очень похожи (ОП-1 умвд по г.смоленску, ОП-2 умвд по г.смоленску и умвд по г.смоленску)

не могу победить оператор like
на его основе организовал копирование данных блоками, но вот не могу их отфильтровать по ОП-1 умвд по г.смоленску, ОП-2 умвд по г.смоленску и умвд по г.смоленску копируется либо все сразу, либо только содержащие ОП, функция поиска данных не содержащих "[!ОП]*УМВД*" почему то не работает

ИЗ [vba]
Код

Dim c1 As Range, c2 As Range 'задаем переменные куда будем копировать найденные адреса
Dim i, i1 As Integer
    For i = 1 To 1000  'задаем диапазон поиска в столбце
      If Cells(i, 2) Like "умвд" Then 'ищем ячейку со своим значением
       'MsgBox Cells(i, 1).Address
       Set c1 = Cells(i, 2) 'запоминаем найденую ячейку
       For i1 = 1 To 6 'задаем диапазон поиска в столбце
         If Len(Cells(c1.Row + i1, 2)) Then 'проверяем ячейки на содержание записей
         'MsgBox Cells(c1.Row + i1, 1).Address
          Else
          Set c2 = Cells(c1.Row + i1, 2) 'запоминаем пустую ячейку
          ' MsgBox "пусто" & Cells(c1.Row + i1, 1).Address
          lLastRow = Cells(Rows.Count, 4).End(xlUp).Row 'определяем строку полседней зянятой ячейки в столбце
          Range(c1.Address, c2.Address).Copy Range("d" & lLastRow + 2) 'копируем область между с1 и с2 в последнуюю занятую ячейку столбца D
          Exit For 'Выходим из цикла если найдена пустай ячейка
          End If 'Выходим из уловия по проверки зянятой ячейки
        Next 'если пустая ячейка не найдена продолжаем цикл
      End If 'Выходим из поиска если искомого значения
    Next 'продолжаем посик искомого значения
End Sub
[/vba]

Автор - Driven2002
Дата добавления - 01.08.2020 в 00:12
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Копирование строк если ячейка не содержит текст (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2020 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!