excel中如何用vba改变查找对话框显示的内容

查找对话框查询结果的那些行列,如“工作簿”“工作表”“名称”“单元格”“值”等,是否可以改变?请大神帮忙... 查找对话框查询结果的那些行列,如“工作簿”“工作表”“名称”“单元格”“值”等,是否可以改变?请大神帮忙 展开
 我来答
bszqw
2018-02-07 · TA获得超过126个赞
知道小有建树答主
回答量:125
采纳率:70%
帮助的人:64.4万
展开全部

查找对话框对应于,range.find方法。

workbooks(1).find'这个就是查找工作簿,表也类似。
Range.Find 
方法    
在区域中查找特定信息。语法
表达式.Find(What, 
After, LookIn, LookAt, SearchOrder, 
SearchDirection, MatchCase, MatchByte, 
SearchFormat)
表达式   一个代表 Range 对象的变量。
参数
名称必选/可选数据类型说明
What    必选    Variant    要搜索的数据。可为字符串或任意 Microsoft Excel 数据类型。    
After    可选    Variant    表示搜索过程将从其之后开始进行的单元格。此单元格对应于从用户界面搜索时的活动单元格的位置。请注意:After 必须是区域中的单个单元格。要记住搜索是从该单元格之后开始的;直到此方法绕回到此单元格时,才对其进行搜索。如果不指定该参数,搜索将从区域的左上角的单元格之后开始。    
LookIn    可选    Variant    信息类型。    
LookAt    可选    Variant    可为以下 XlLookAt 常量之一:xlWhole 或 
xlPart。    
SearchOrder    可选    Variant    可为以下 XlSearchOrder 常量之一:xlByRows 或 
xlByColumns。    
SearchDirection    可选    XlSearchDirection    搜索的方向。    
MatchCase    可选    Variant    如果为 True,则搜索区分大小写。默认值为 False。    
MatchByte    可选    Variant    只在已经选择或安装了双字节语言支持时适用。如果为 True,则双字节字符只与双字节字符匹配。如果为 
False,则双字节字符可与其对等的单字节字符匹配。    
SearchFormat    可选    Variant    搜索的格式。    
返回值
一个 Range 对象,它代表第一个在其中找到该信息的单元格。
说明
如果未发现匹配项,则返回 Nothing。Find 方法不影响选定区域或当前活动的单元格。
每次使用此方法后,参数 LookIn、LookAt、SearchOrder 和 MatchByte 的设置都将被保存。如果下次调用此方法时不指定这些参数的值,就使用保存的值。设置这些参数将更改“查找”对话框中的设置,如果省略这些参数,更改“查找”对话框中的设置将更改使用的保存值。要避免出现这一问题,每次使用此方法时请明确设置这些参数。
使用 FindNext 和 FindPrevious 方法可重复搜索。
当搜索到指定查找区域的末尾时,此方法将绕回到区域的开始位置继续搜索。发生绕回后,要停止搜索,可保存第一个找到的单元格地址,然后测试后面找到的每个单元格地址是否与其相同。
若要对单元格进行模式更为复杂的搜索,请结合使用 For Each...Next 语句和 Like 运算符。例如,下列代码在单元格区域 A1:C5 中搜索字体名称以“Cour”开始的单元格。当 Microsoft Excel 找到匹配单元格以后,就将其字体改为 
Times New Roman。
For Each c In [A1:C5] If c.Font.Name Like "Cour*" Then c.Font.Name = 
"Times New Roman" End If Next
示例
本示例在第一个工作表的单元格区域 A1:A500 中查找包含值 2 的所有单元格,并将这些单元格的值更改为 5。
Visual Basic for Applications
With Worksheets(1).Range("a1:a500")
    Set c = .Find(2, lookin:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            c.Value = 5
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
更多追问追答
追问
另外 为什么我的这些通过VBE编辑过后保存了 再打开就没有了呢?您有什么好办法能保存住嘛?
我会帮您追加悬赏的
追答

你编辑了什么没有保存?要保存代码,要把工作簿保存为xlsm后缀得文件,不可以是xlsx。

我发得参考信息在excel2010的vbe编辑器里的帮助里面都有自带。

采纳啊!!!

百事牛
2024-10-22 广告
百事牛是共享提供商,我们提供可靠有效的服务,适当合理的授权费有利于的继续更新优化。同样的事情,同样的方法,百事牛团队十年磨一剑,始终至聚焦在密码恢复领域,深耕于此,我们已研制出有别于其他公司的算法和运算模式, 百事牛的暴力模式加入了分布式点... 点击进入详情页
本回答由百事牛提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式