VBA怎样取到查找到的单元格位置

2025-02-25 21:56:44
推荐回答(4个)
回答1:

查找用Range对象的Find方法,返回Rang对象,然后再取Range对象的Row属性或Column属性返回行或列。Set C=Range("A1:E10").Find("abc"),If Not C Is Nothing then,R=C.Row '返回Cl=C.Column '返回列。

在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。

扩展资料:

调用函数/过程时,可以加括号或者不加括号。如果调用表达式作为一行的一部分,那么必须用参数,例如函数调用的返回值赋给变量。 调用过程时, 可以使用/不使用call关键字。使用call语句调用过程,如果无参数,则不加括号;如果有参数,必须加括号。

如果调用时用括号包住单个参数,则该参数强行按值传递。需要特别注意,不用call不加括号的调用,形参与实参是传值(passed by value)而不是传引用(passed by reference),这会导致一些对象的方法调用失败。由于微软Office软件的普及

人们常见的办公软件Office软件中的Word、Excel、Access、Powerpoint都可以利用VBA使这些软件的应用更高效率,例如:通过一段VBA代码,可以实现画面的切换;可以实现复杂逻辑的统计(比如从多个表中,自动生成按合同号来跟踪生产量、入库量、销售量、库存量的统计清单)等。 

掌握了VBA,可以发挥以下作用:

1、规范用户的操作,控制用户的操作行为;

2、操作界面人性化,方便用户的操作; 

3、多个步骤的手工操作通过执行VBA代码可以迅速的实现;

4、实现一些VB无法实现的功能;

5、用VBA制做EXCEL登录系统;

6、利用VBA可以Excel内轻松开发出功能强大的自动化程序。

参考资料来源:百度百科-VBA

回答2:

查找用Range对象的Find方法,返回Rang对象,然后再取Range对象的Row属性或Column属性返回行或列。Set C=Range("A1:E10").Find("abc"),If Not C Is Nothing then,R=C.Row '返回Cl=C.Column '返回列。

在其桌面应用程序中执行通用的自动化(OLE)任务的编程语言。主要能用来扩展Windows的应用程序功能,特别是Microsoft Office软件。它也可说是一种应用程式视觉化的 Basic 脚本。

扩展资料:

调用函数/过程时,可以加括号或者不加括号。如果调用表达式作为一行的一部分,那么必须用参数,例如函数调用的返回值赋给变量。 调用过程时, 可以使用/不使用call关键字。使用call语句调用过程,如果无参数,则不加括号;如果有参数,必须加括号。

如果调用时用括号包住单个参数,则该参数强行按值传递。需要特别注意,不用call不加括号的调用,形参与实参是传值(passed by value)而不是传引用(passed by reference),这会导致一些对象的方法调用失败。由于微软Office软件的普及

人们常见的办公软件Office软件中的Word、Excel、Access、Powerpoint都可以利用VBA使这些软件的应用更高效率,例如:通过一段VBA代码,可以实现画面的切换;可以实现复杂逻辑的统计(比如从多个表中,自动生成按合同号来跟踪生产量、入库量、销售量、库存量的统计清单)等。 

掌握了VBA,可以发挥以下作用:

1、规范用户的操作,控制用户的操作行为;

2、操作界面人性化,方便用户的操作; 

3、多个步骤的手工操作通过执行VBA代码可以迅速的实现;

4、实现一些VB无法实现的功能;

5、用VBA制做EXCEL登录系统;

6、利用VBA可以Excel内轻松开发出功能强大的自动化程序。

参考资料来源:百度百科-VBA

回答3:

查找用Range对象的Find方法,返回Rang对象,然后再取Range对象的Row属性或Column属性返回行或列。要注意的是Find方法可能会返回Nothing,要先检查一下,否则后出错。

例如:

Set C=Range("A1:E10").Find("abc")
If Not C Is Nothing then
R=C.Row '返回行
Cl=C.Column '返回列
end if

或:

Set C=Range("A1:E10").Find("abc")
If Not C Is Nothing then
C.Select
R=Selection.Row '返回行
Cl=Selection.Column '返回列
end if

回答4:

  1. 可以将match公式写在单元格里用于辅助vba运行.

  2. msgbox Application.WorksheetFunction.match(range("b1"),sheets("基本数").Columns("a"),false)

match的用法,3个参数,单元格range("b1")或者动态的cells代码,columns表示所在的列,你的例子是一个大范围,所以这个不太适用.

3.遍历,for each代码

for each dyg in range("a1:e10") 

if dyg="abc" then

msgbox dyg.address '地址

msgbox dyg.row '行号

msgbox dyg.column '列号

endif

next