Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 按颜色值将过滤器另存为变量_Excel_Vba_Autofilter - Fatal编程技术网

Excel 按颜色值将过滤器另存为变量

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

当宏记录器打开时,我能够在按颜色过滤范围时捕获以下代码。设置此过滤器后,是否可以将RGB值捕获为变量

ActiveSheet.Range("$A$1:$AF$1191").AutoFilter Field:=5, Criteria1:=RGB(255 _
        , 199, 206), Operator:=xlFilterCellColor

这将根据ActiveCell的颜色过滤您的表格。如果这是我的文件,我会在表外有一个工作单元格,例如
AH1
,然后我会将代码更改为have
str=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这是一个很好的建议。在这种情况下,你有没有想过如何去做?理想情况下,我希望稍后将此字符串放回过滤器(如果有意义的话),谢谢。问题是我不知道滤镜的颜色是什么。我的目标是捕获用户设置的过滤颜色值。在这种情况下,我永远也不知道会是什么颜色。啊,我想我有了。如果使用的范围是基于颜色过滤的,我只能捕获该彩色列中任何单元格的内部颜色。当用户更改列过滤器时,无法直接调用宏。我建议当用户单击按钮时,在宏中处理过滤,然后根据辅助单元格的颜色进行过滤(也就是说,不要让用户直接过滤工作表中的数据,而是弹出一个用户窗体,从中他们可以过滤列)。谢谢。在某些情况下,我正在编写一个脚本,该脚本将所有过滤器设置打印到即时窗口(),我被困在这个特定的部分中。谢谢你给我指明了正确的方向