2017-02-22 16 views
1

Я искал это в течение довольно долгого времени, но у меня недостаточно понимания макросов для настройки и реализации других решений, которые я нашел здесь.Исключить строку заголовка в макросе

Я использую макросы для выполнения определенного количества действий на листе. Первая строка листа содержит заголовки, поэтому мне нужно исключить первую строку из некоторых действий.

Я вставлю свой код ниже, я понимаю, что это не лучший способ сделать это (вероятно, лучше с функцией IF), но это то, как я до сих пор дошел. Есть ли способ просто исключить весь заголовок Row в макросах? Или просто исключить T1 в этих трех шагах, где я заполняю столбец T?

Sub TASKDUESTATUS() 
' 
' TASKDUESTATUS Macro 
' 

' 



'Filter Completed and In Progress 
    ActiveSheet.UsedRange.AutoFilter Field:=21, Criteria1:= _ 
     "=Completed", Operator:=xlOr, Criteria2:="=In Progress" 
'Fill Column T with 3 
    Dim rX As Range 
    Set rX = Intersect(ActiveSheet.UsedRange, Range("T:T")).Cells.SpecialCells(xlCellTypeVisible) 
    rX.Value = "3" 

'Filter Not Started 
    ActiveSheet.UsedRange.AutoFilter Field:=21, Criteria1:= _ 
     "Not Started" 

'Filter Date up till todays date with today INCLUDED 
    ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:="<=" & Date 

'Fill Column T with 2 
    Dim rX2 As Range 
    Set rX2 = Intersect(ActiveSheet.UsedRange, Range("T:T")).Cells.SpecialCells(xlCellTypeVisible) 
    rX2.Value = "2" 

'Filter Not Started 
     ActiveSheet.UsedRange.AutoFilter Field:=21, Criteria1:= _ 
     "Not Started" 

'Filter date after todays date with today EXCLUDED 
    ActiveSheet.UsedRange.AutoFilter Field:=19, Criteria1:=">" & Date 

'Fill Column T with 1 
    Dim rX3 As Range 
    Set rX3 = Intersect(ActiveSheet.UsedRange, Range("T:T")).Cells.SpecialCells(xlCellTypeVisible) 
    rX3.Value = "1" 

'Add conditional formatting 
    Columns("T:T").Select 
    Selection.FormatConditions.AddIconSetCondition 
    Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority 
    With Selection.FormatConditions(1) 
     .ReverseOrder = False 
     .ShowIconOnly = False 
     .IconSet = ActiveWorkbook.IconSets(xl3TrafficLights1) 
    End With 
    With Selection.FormatConditions(1).IconCriteria(2) 
     .Type = xlConditionValuePercent 
     .Value = 33 
     .Operator = 7 
    End With 
    With Selection.FormatConditions(1).IconCriteria(3) 
     .Type = xlConditionValuePercent 
     .Value = 67 
     .Operator = 7 
    End With 

'Clear filters 
    ActiveSheet.UsedRange.AutoFilter Field:=21 
    ActiveSheet.UsedRange.AutoFilter Field:=19 

End Sub 
+0

Intersect (ActiveSheet.UsedRange.Offset (1), Range («T: T»)). Resize (ActiveSheet.UsedRange.Rows.Count - 1, ActiveSheet.UsedRange.Columns.Count) – jkpieterse

ответ

0

Добавить i = Range("a1048576").End(xlUp).Row найти наименьшую заполненную строку данных, и изменить ("T:T") к ("T1:T" & i).

Это работает на моем конце, попробуйте и дайте мне знать.

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