2017-02-17 4 views
-1

Я хочу создать живой список всех неполных из моего текущего файла excel. Каждую неделю новая вкладка, такая как Неделя от 6 февраля, Неделя от 13 февраля, Неделя от 20 февраля и так далее. Каждая из этих вкладок имеет список задач, которые будут отмечены как открытые или закрытые. Цель состоит в том, чтобы все задачи, отмеченные как открытые, отображались в отдельном названии «Open Items».Создание списка неполной задачи в excel

Как я могу запрограммировать свой лист excel для создания списка в реальном времени всех элементов, помеченных как «Открыть». Я попытался использовать и if, но не могу понять, как переместить всю строку на вкладку «Открыть элементы». Спасибо

+0

Вопрос слишком широк. Предоставьте какой-либо попытке код к этой точке и конкретную проблему, из-за которой он сбой. – Zerk

+0

Я пробовал использовать и если заявление, но я не могу понять, как переместить всю строку на вкладку «Открытые позиции» – TacosaurusRex

ответ

1

вы могли бы попробовать это

Sub main() 
    Dim ws As Worksheet, openWs As Worksheet 

    Set openWs = Worksheets("Open Items") '<--| be sure you already have a sheet named after "Open Items" 
    For Each ws In Worksheets '<--| loop through worksheets 
     If ws.Name <> "Open Items" Then '<--| if current sheet isn't named after "Open Items" 
      With ws 
       With .Range("C3", .Cells(Rows.Count, "C").End(xlUp)) '<--| reference its column AE range from row 1 (header) down to the one corresponding to last column A not empty row 
        .AutoFilter Field:=1, Criteria1:="Open" '<--| filter column C cells with "Open" content 
        If Application.WorksheetFunction.Subtotal(103, .Cells) > 1 Then '<-_| if any filtered cell found other than headers 
         .Offset(1).Resize(.Rows.Count - 1, 7).SpecialCells(xlCellTypeVisible).Copy openWs.Cells(Rows.Count, 1).End(xlUp).Offset(1) '<--| '<--| copy filtered cell (skipping headers) and paste then from "Open Items" sheet column A first empty cell after last not empty one 
        End If 
       End With 
       .AutoFilterMode = False 
      End With 
     End If 
    Next 
End Sub 
+0

Отлично работает. Как я могу изменить диапазон скопированной строки. В настоящее время он копирует все после ячейки «Открыть», но я также хотел бы включить столбцы приоритетов и дат. – TacosaurusRex

+0

Добро пожаловать. Если он решает ваш вопрос, пожалуйста, отметьте ответ, как принято. Спасибо. Что касается диапазона «расширения», вы просто действуете на «Offset (, nColOffset)» (с указанием смещения столбца «ncolOffset» - это может быть отрицательное число) и «Resize (, nColResize)» (только для определения размера столбца «nColResize') положительные значения) параметры – user3598756

+0

Я не могу найти Offset (, nColOffset) или Resize (, nColResize). – TacosaurusRex

 Смежные вопросы

  • Нет связанных вопросов^_^