Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 16168|回复: 3

[已解决]VBA如何实现获取某个已知道内容的单元格地址---急!

[复制链接]
发表于 2012-9-7 14:26 | 显示全部楼层 |阅读模式
比如有一个单元格里面的内容是sum,我想知道这个单元格的地址(行列号),请问怎样实现?注意“sum”的行会经常随着插入和删除行而发生改变,也就是动态的。不通过循环能不能实现?我知道函数里面直接有row()即可知道该行号,不知道VBA怎么实现?
最佳答案
2012-9-7 14:51
本帖最后由 hwc2ycy 于 2012-9-7 14:57 编辑

用range.find查找,再用address

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 常量之一:xlWholexlPart
SearchOrder可选Variant可为以下 XlSearchOrder 常量之一:xlByRowsxlByColumns
SearchDirection可选XlSearchDirection搜索的方向。
MatchCase可选Variant如果为 True,则搜索区分大小写。默认值为 False
MatchByte可选Variant只在已经选择或安装了双字节语言支持时适用。如果为 True,则双字节字符只与双字节字符匹配。如果为 False,则双字节字符可与其对等的单字节字符匹配。
SearchFormat可选Variant搜索的格式。

返回值
一个 Range 对象,它代表第一个在其中找到该信息的单元格。
说明

如果未发现匹配项,则返回 NothingFind 方法不影响选定区域或当前活动的单元格。
每次使用此方法后,参数 LookInLookAtSearchOrderMatchByte 的设置都将被保存。如果下次调用此方法时不指定这些参数的值,就使用保存的值。设置这些参数将更改“查找”对话框中的设置,如果省略这些参数,更改“查找”对话框中的设置将更改使用的保存值。要避免出现这一问题,每次使用此方法时请明确设置这些参数。
使用 FindNextFindPrevious 方法可重复搜索。
当搜索到指定查找区域的末尾时,此方法将绕回到区域的开始位置继续搜索。发生绕回后,要停止搜索,可保存第一个找到的单元格地址,然后测试后面找到的每个单元格地址是否与其相同。





excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2012-9-7 14:51 | 显示全部楼层    本楼为最佳答案   
本帖最后由 hwc2ycy 于 2012-9-7 14:57 编辑

用range.find查找,再用address

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 常量之一:xlWholexlPart
SearchOrder可选Variant可为以下 XlSearchOrder 常量之一:xlByRowsxlByColumns
SearchDirection可选XlSearchDirection搜索的方向。
MatchCase可选Variant如果为 True,则搜索区分大小写。默认值为 False
MatchByte可选Variant只在已经选择或安装了双字节语言支持时适用。如果为 True,则双字节字符只与双字节字符匹配。如果为 False,则双字节字符可与其对等的单字节字符匹配。
SearchFormat可选Variant搜索的格式。

返回值
一个 Range 对象,它代表第一个在其中找到该信息的单元格。
说明

如果未发现匹配项,则返回 NothingFind 方法不影响选定区域或当前活动的单元格。
每次使用此方法后,参数 LookInLookAtSearchOrderMatchByte 的设置都将被保存。如果下次调用此方法时不指定这些参数的值,就使用保存的值。设置这些参数将更改“查找”对话框中的设置,如果省略这些参数,更改“查找”对话框中的设置将更改使用的保存值。要避免出现这一问题,每次使用此方法时请明确设置这些参数。
使用 FindNextFindPrevious 方法可重复搜索。
当搜索到指定查找区域的末尾时,此方法将绕回到区域的开始位置继续搜索。发生绕回后,要停止搜索,可保存第一个找到的单元格地址,然后测试后面找到的每个单元格地址是否与其相同。





回复

使用道具 举报

 楼主| 发表于 2012-9-7 17:20 | 显示全部楼层
学习了,很好,就是要这个功能!
回复

使用道具 举报

发表于 2014-11-5 17:20 | 显示全部楼层
正好需要,谢谢
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-27 09:00 , Processed in 0.793497 second(s), 11 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表