我正在尝试使用其他工作表中的值过滤列。我希望能够从Spreadsheet S1中单击B列中的任何位置,并能够使用S1中同一行中的A列值过滤电子表格S2中的A列。使用下面的代码,我可以使用单元格A3中的值过滤S2中的A列。
Sheets("S2").Select
ActiveCell.Select
Selection.AutoFilter
ActiveSheet.Range("$A$1:$N$100").AutoFilter Field:=1, Criteria1:= _
"=" & Sheets("S1").Range("A3"), Operator:=xlAnd
End Sub
我希望能够使用下面的代码能够从ActiveCell
左侧的A列中选择值,而不是说A3(如上面的代码所示)。
ActiveCell.Offset(0, -1).Select
ActiveCell. Select
Selection.Copy
我应该使用Criteria1:=
来实现这一目标。使用"=" & ActiveCell .Value, Operator:=x1And
可以让我使用S2中的值,但"=" & Sheets("S1").Range(ActiveCell. Value), Operator:=x1And
会出错。
答案 0 :(得分:0)
ActiveCell在整个Application
(Excel)
所以,如果你想在工作表之间跳转,仍然引用特定的 Worksheet
"ActiveCell"
(即那个<{1}}的单元格,如果那个< em>具体 Application.ActiveCell
是活动的)然后您必须先将其存储在Worksheet
类型的变量中,然后再离开特定的 Range
:
Worksheet
但你也可以避免&#34;表格跳转&#34;:如果您当前有效的Dim MyActiveCell As Range
Set MyActiveCell = ActiveCell ' store the reference to currently active cell of active sheet
Sheets("S2").Activate ' "jump" to another Worksheet
Sheets("S2").Range("$A$1:$N$100").AutoFilter Field:=1, Criteria1:=MyActiveCell.Offset(0, -1).Value ' use MyActiveCell to reference the "active" cell previously stored
是您要引用其Worksheet
并将其用于&#34; S2& #34; ActiveCell
过滤,你可以去:
Worksheet
继续&#34;留下&#34;在活动表中同时&#34;表演&#34;在其他工作表上只需完全限定范围并在其上调用方法
Sheets("S2").Range("$A$1:$N$100").AutoFilter Field:=1, Criteria1:=ActiveCell.Offset(0, -1).Value ', Operator:=xlAnd