首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >VBA筛选选定内容

问VBA筛选选定内容
EN

Stack Overflow用户
提问于 2016-08-26 16:40:22
回答 2查看 11.7K关注 0票数 1
代码语言:javascript
复制
Dim data_text As String
data_text = Analiza_Date.TextBox6.Value

Worksheets("PE_Centralizare").Activate
Range("A3").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection).AutoFilter field:=1, Criteria1:=data_text

我只想过滤"A3“列的选择。

VBA用黄色标记最后一行:

代码语言:javascript
复制
Range(Selection).AutoFilter field:=1, Criteria1:=data_text
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-08-26 16:53:37

试试这个:

代码语言:javascript
复制
Dim data_text As String
data_text = Analiza_Date.TextBox6.Value
Worksheets("PE_Centralizare").Activate
Range("a3").CurrentRegion.AutoFilter field:=1, Criteria1:=data_text

总是重写记录器生成的内容。它是一个很好的学习和找出特定任务需要什么指令的工具,但是生成的代码是一团糟的,应该始终清理。

票数 3
EN

Stack Overflow用户

发布于 2016-08-26 17:32:19

你必须改变:

代码语言:javascript
复制
Range(Selection).AutoFilter field:=1, Criteria1:=data_text

转换为以下任一项:

代码语言:javascript
复制
Range(Selection.Address).AutoFilter field:=1, Criteria1:=data_text

或者,更好的是:

代码语言:javascript
复制
Selection.AutoFilter field:=1, Criteria1:=data_text

更好的是你:

Select/Selection/Activate/ActiveXXX contexts

  • work避免使用
  • ,因为它们会导致对实际处理的Range (在什么Worsheet中,以及在什么Workbook中)的控制松散,特别是在多个工作表/工作簿contexts
  • work中,使用完全限定(至少直到工作表)引用设置的Workbook变量,如下所示:

Dim data_text As String data_text = Analiza_Date.TextBox6.value With worksheet (“PE_Centralizare”) '<--| refer wanted worksheet .Range(.Range("A3"),.Range("A3").End(xlDown)).AutoFilter field:=1,criteria1:=data_text '<--|所有这些前导“点”表示它们的后续对象引用最后一个“With”语句中的对象(即"PE_Centralizare“工作表)以结尾

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39161997

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档