4Manuals

  • PDF Cloud HOME

具有动态字段列的VBA自动过滤器 Download

    在多个XML中导出Excel 为什么Excel因自动化错误而崩溃? EXCEL评估函数结果不一致 宏VBA-具有2个Y轴的xlColumnClustered Excel VBA用户表单文本框十进制格式 优化刮取和循环 如何调用带有组名或标签的复选框? Excel,XPATH函数和数字格式 VBA:文本框搜索栏和列表框 在用户窗体VBA中格式化下拉列表

我编写了一个代码,用于按选定的单元格值进行过滤,以创建一个快速访问工具栏图标并使其更快地进行过滤。当过滤器在A列中启动时,它工作得很好。但是某些过滤器在B或C列中启动...,并且该值在另一列中进行了过滤,跳过了完全相同数量的没有过滤器的空白列。你们知道如何解决吗?如何使VBA返回字段号?

Sub Filtro_Valor_Célula()
'Filtra a coluna pelo valor da célula selecionada
'


    Valor = ActiveCell.Value

    ActiveSheet.Range(ActiveSheet.AutoFilter.Range.Address).AutoFilter Field:=ActiveCell.Column, Criteria1:=Valor


End Sub

1 个答案:

答案 0 :(得分:0)

我在理解您的问题时遇到了一些麻烦,但我认为您的情况看起来像这样:

enter image description here

在此示例中,如果运行了给定的代码,我们将在E列而不是C列进行过滤。

这是因为所选单元格在第3列中。但是,我们要过滤的字段不是AutoFilter中的第3个字段,而是AutoFilter中的第1个字段。看来代码Field:=ActiveCell.Column的位置对我们来说没有做对。

尝试以下方法:

Sub Filtro_Valor_Célula()
'Filtra a coluna pelo valor da célula selecionada
'


    Valor = ActiveCell.Value
    FieldToFilter= ActiveCell.Column - ActiveSheet.AutoFilter.Range.Column + 1

    ActiveSheet.Range(ActiveSheet.AutoFilter.Range.Address).AutoFilter Field:=FieldToFilter, Criteria1:=Valor


End Sub

在这里,我们选择选定列(ActiveCell.Column)的位置,并减去AutoFilter开始的列号。我们希望从1开始而不是从0开始计数,因此我们需要在结果中加1。

enter image description here

希望有帮助。



Similar searches
    无法读取斯德哥尔摩格式的所有对齐方式:UnicodeDecodeError:'utf-8' Samsung RSA1Z Refrigerator User Manual 我的键盘调用了click(),但click()没有委托 如果在安装步骤中未将ElasticSearch设置为Windows服务,该如何设置? 如何在Ruby on Rails中的AWS Fog S3存储中使用authentic_role_with_web_identity auth?