Range(Selection).AutoFilter field:=1, Criteria1:=data_text
我想只过滤选择列" A3"
VBA标记最后一行为黄色:
{{1}}
答案 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