如何解决AdvancedFilter - 使用来自另一个非相邻列的值过滤特定列
我已经在stackoverflow上问过这个问题,但我认为我让自己模糊不清。你可以在下面看到代码。我想要做的是在列 C 上获取 AdvancedFilter 除了在列 I 中的对之外,还将这些唯一值一起复制到相邻范围(A 到 C 新工作表)
我试图做的是使用 set
并将“折扣”声明为特定范围,该范围也被 &
过滤。重要的是要知道 C:C 会被拆分,因此在新工作表 dws
上它需要 A 列和 B 列,因此变量 discounts
应位于 dws
中的 Clumn C 中。>
Sub Unique_Values_Worksheet_Variables()
Dim wb As Workbook: Set wb = ThisWorkbook
Dim sws As Worksheet: Set sws = wb.Worksheets("export")
Dim dws As Worksheet:
Set dws = wb.Worksheets.Add(After:=wb.Sheets(wb.Sheets.Count))
**Set discounts = ActiveSheet.Range("I:I")**
sws.Range("C:C" **& discounts**).AdvancedFilter _
Action:=xlFiltercopy,_
copyToRange:=dws,_
Unique:=True
dws.Columns("A:B").EntireColumn.AutoFit
Dim rng As Range:
Set rng = dws.Range("A1:B1",dws.Cells(dws.Rows.Count,1).End(xlUp))
rng.Borders(xlDiagonalDown).Linestyle = xlNone
rng.HorizontalAlignment = xlCenter
我想知道的是,&
是否是正确的方法,它是否只是分配范围本身的问题,或者是否是一般逻辑错误。
例如
我必须把它写成一个 Makro,因为过滤器工作的工作表只需要一个按钮就可以工作,而工作表本身总是不同的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。