我正在尝试使用活动单元格值作为另一个工作表上过滤器的标准。
我的活动单元格值(在第一张工作表(“ WIthout Dupes”)中应该是第二张工作表(“ Master”)中的过滤条件值,因此最终我的代码不应包含Range("B$142").Select
,但活动代码单元格值和标准1应该指的是第一张纸上的“活动单元格”值。
我尝试使用
Sub test1()
'
' test1 Macro
'
'
Range("B$142").Select
Selection.Copy
Sheets("Master").Select
ActiveSheet.Range("$A$1:$AR$1787").AutoFilter Field:=1, Criteria1:= _
"00065062"
Columns("X:X").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("WIthout Dupes").Select
Range("B145").Select
ActiveSheet.Paste
Sheets("Master").Select
Application.CutCopyMode = False
ActiveSheet.ShowAllData
Range("A1").Select
Sheets("WIthout Dupes").Select
Range("B143").Select
ActiveCell.FormulaR1C1 = "done"
End Sub
答案 0 :(得分:0)
尝试以下代码:
Sub Testing ()
Dim k As Long
k = Worksheets("WIthout Dupes").Cells(142, "B").Value
Sheets("Master").Select
ActiveSheet.Range("$A$1:$AR$1787").AutoFilter Field:=1, Criteria1:= k
Columns("X:X").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("WIthout Dupes").Select
Range("B145").Select
ActiveSheet.Paste
Sheets("Master").Select
Application.CutCopyMode = False
ActiveSheet.ShowAllData
Range("A1").Select
Sheets("WIthout Dupes").Select
Range("B143").Select
ActiveCell.FormulaR1C1 = "done"
End Sub
这应该将条件声明为该单元格的值,然后根据该值进行过滤。
答案 1 :(得分:0)
感谢@ Analyst123456789。我本人写了以下内容,并且也行得通。如果您可以让我知道在时间等方面哪个更好。我将不胜感激。
Sub test1()
'
' test1 Macro
'
'
Do Until ActiveCell.Value = ""
PID = ActiveCell.Value
Selection.Copy
Sheets("Master").Select
ActiveSheet.Range("$A$1:$AR$1787").AutoFilter Field:=1, Criteria1:=PID
Columns("X:X").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("WIthout Dupes").Select
ActiveCell.Offset(3, 0).Select
ActiveSheet.Paste
Sheets("Master").Select
Application.CutCopyMode = False
ActiveSheet.ShowAllData
Range("A1").Select
Sheets("WIthout Dupes").Select
ActiveCell.Offset(-2, 0).Select
ActiveCell.FormulaR1C1 = "done"
ActiveCell.Offset(-1, 1).Select
Loop
End Sub