Excel 按颜色值将过滤器另存为变量
当宏记录器打开时,我能够在按颜色过滤范围时捕获以下代码。设置此过滤器后,是否可以将RGB值捕获为变量Excel 按颜色值将过滤器另存为变量,excel,vba,autofilter,Excel,Vba,Autofilter,当宏记录器打开时,我能够在按颜色过滤范围时捕获以下代码。设置此过滤器后,是否可以将RGB值捕获为变量 ActiveSheet.Range("$A$1:$AF$1191").AutoFilter Field:=5, Criteria1:=RGB(255 _ , 199, 206), Operator:=xlFilterCellColor 这将根据ActiveCell的颜色过滤您的表格。如果这是我的文件,我会在表外有一个工作单元格,例如AH1,然后我会将代码更改为havestr=r
ActiveSheet.Range("$A$1:$AF$1191").AutoFilter Field:=5, Criteria1:=RGB(255 _
, 199, 206), Operator:=xlFilterCellColor
这将根据ActiveCell的颜色过滤您的表格。如果这是我的文件,我会在表外有一个工作单元格,例如
AH1
,然后我会将代码更改为havestr=range(“AH1”).interior.color
,这样它会根据AH1
的颜色过滤表
Sub testy()
Dim str As String
str = ActiveCell.Interior.Color
ActiveSheet.Range("$A$1:$AF$1191").AutoFilter Field:=5, Criteria1:=str, Operator:=xlFilterCellColor
End Sub
代码显示已捕获rgb值。您是正确的。我在问是否可以将这些RGB值存储为它们自己的变量。这样,我可以在以后调用这些值。如果将单元格的属性
interior.color
导出为字符串,它会自动转换为工作编号,然后您可以调用。@FernandoJ.river这是一个很好的建议。在这种情况下,你有没有想过如何去做?理想情况下,我希望稍后将此字符串放回过滤器(如果有意义的话),谢谢。问题是我不知道滤镜的颜色是什么。我的目标是捕获用户设置的过滤颜色值。在这种情况下,我永远也不知道会是什么颜色。啊,我想我有了。如果使用的范围是基于颜色过滤的,我只能捕获该彩色列中任何单元格的内部颜色。当用户更改列过滤器时,无法直接调用宏。我建议当用户单击按钮时,在宏中处理过滤,然后根据辅助单元格的颜色进行过滤(也就是说,不要让用户直接过滤工作表中的数据,而是弹出一个用户窗体,从中他们可以过滤列)。谢谢。在某些情况下,我正在编写一个脚本,该脚本将所有过滤器设置打印到即时窗口(),我被困在这个特定的部分中。谢谢你给我指明了正确的方向