Я новичок в макросах и надеюсь, что кто-то сможет помочь. Пытаюсь сделать отчет из таблицы данных, которая соответствует некоторым условиям. Мне нужно извлечь все данные (ячейки) в строке, например, которые соответствуют условию <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.