1
私はかなり長い間これを探していましたが、私がここで見つけた他の解決策を調整し実装するのに十分な理解がありません。マクロ内のヘッダー行を除外します
マクロを使用して、シート上で一定量のアクションを実行しています。シートの最初の行にはヘッダーが含まれているため、最初の行をいくつかのアクションから除外する必要があります。
私は以下のコードを貼り付けますが、これはこれを行う最良の方法ではないことを理解していますが(これはおそらくIF関数では良いでしょう)マクロ内のヘッダー行全体を単純に除外する方法はありますか?または、これらの3つのステップで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
Intersect(ActiveSheet.UsedRange.Offset(1)、Range( "T:T"))。Resize(ActiveSheet.UsedRange.Rows.Count - 1、ActiveSheet.UsedRange.Columns.Count) – jkpieterse