VBA筛选选择

时间:2016-08-26 08:40:22

标签: excel vba

Range(Selection).AutoFilter field:=1, Criteria1:=data_text

我想只过滤选择列" A3"

VBA标记最后一行为黄色:

{{1}}

2 个答案:

答案 0 :(得分:2)

试试这个:

// list of Ids to exclude
var ids = new List<int>() {25, 50, 10};

// filter table.    
var newTable = tableold.AsEnumerable()
        .Where(x=> !ids.Contains(x.Field<int>("Dosage")))
        .CopyToDataTable();

始终返工记录仪生成的内容。这是一个很好的工具,可以学习并找出特定任务所需的指令,但生成的代码很乱,应该始终用uop清理。

答案 1 :(得分:1)

你必须改变:

Range(Selection).AutoFilter field:=1, Criteria1:=data_text

进入:

Range(Selection.Address).AutoFilter field:=1, Criteria1:=data_text

或者,更好:

Selection.AutoFilter field:=1, Criteria1:=data_text

你更好:

  • 避免使用Select / Selection / Activate / ActiveXXX模式,因为它们导致对Range({{1}您正在处理的Worsheet),尤其是在多个工作表/工作簿上下文中

  • 使用完全限定(至少是工作表)引用设置的Workbook变量,如下所示:

    Range