我想過濾一個工作的列的顏色,然後我想讓Excel選擇所有被過濾的單元。不過,我不希望它選擇第一行。如果過濾爲空,我希望Excel跳過複製,如果不是,則繼續。只選擇過濾的單元
到目前爲止我有以下(在不同的R,G,B碼對於顏色濾波和色彩是工作表我可以在進料的名稱):
Sub ColourWork(Colour As String, RCode As String, GCode As String, BCode As String)
Dim rCopy As Range
'Q1======
Sheets("Combine").Select
ActiveSheet.Range("$A:$AJ").AutoFilter
ActiveSheet.Range("$A$1:$AJ$493").AutoFilter Field:=8, Criteria1:=RGB(RCode, GCode, BCode), Operator:=xlFilterCellColor
'here is the issue! Because it cannot copy/select nothing!
On Error GoTo Error1
Set rCopy = ActiveSheet.AutoFilter.Range.Offset(1, 0).Copy
Sheets(Colour).Select
If IsEmpty(Range("A1").Value) = True Then
Range("$A$2").Select
ActiveSheet.Paste
Else
Range("$A$2").Select
Range(Selection, Selection.End(xlDown)).Select
ActiveSheet.Paste
End If
Point1:
Error1:
GoTo Point1
End Sub
任何建議?
如果一個或多個列爲空,您是否希望它不復制所有行? – Balinti
所以如果它被過濾,它用來選擇所有的行(過濾或未過濾)......正在檢查一列,看看是否有任何綠色,然後嘗試複製thoes行(如果有的話),如果不是,則繼續。 –