Excel - как скопировать все столбцы в строке на основе условия

Excel - как скопировать все столбцы в строке на основе условия

Я новичок в макросах и надеюсь, что кто-то сможет помочь. Пытаюсь сделать отчет из таблицы данных, которая соответствует некоторым условиям. Мне нужно извлечь все данные (ячейки) в строке, например, которые соответствуют условию <1 в столбце 10, и скопировать эти ячейки/строки на новый лист. Я не могу найти никаких функций в Excel, поэтому надеюсь, что не слишком продвинутый макрос, который я могу изменить, сможет справиться с этой задачей. Заранее спасибо.

решение1

  • Откройте копию таблицы Excel, содержащей все данные.
  • нажмите ALT+ F11, чтобы открыть редактор VBA
  • откройте лист 1 на левой панели и вставьте код ниже

    Sub mymacro()
      For myrow = 1 To Cells.Find("*", SearchOrder:=xlByRows, SearchDirection:=xlPrevious).Row
        If Cells(myrow, 8) < 1 Then
          i = i + 1
          ActiveWorkbook.Sheets(1).Rows(myrow).Copy Destination:=ActiveWorkbook.Sheets(2).Rows(i)
        End If
      Next myrow
    End Sub
    
  • вернитесь на свой лист, нажмите ALT+ F8и выполните свой макрос

Этот код будет выполняться до последней использованной строки, проверять, является ли значение 8-го столбца < 1, и если да, копировать всю строку в следующую свободную строку на листе 2.

Связанный контент