excel查找 代码

excel查找 代码,第1张

第一步,准备数据表

一共需要两个工作表,有原始数据的工作表起名为“1”,检索用的表起名为“2”。

从格式上说,这两个表是相同的,所不同的只是在第一行。

提示:原始数据表格的内容不一定和本例完全一样,只要检索表与原始数据表的格式一样就行了。

表格做好后,就可以编辑VBA代码了。

第二步,制做VBA代码

选中“2”表,在下面标签名上点鼠标右键,选“查看代码”,调出这个表2的VBA窗口

把代码粘贴进去

代码如下:

Dim aa As String '字符型

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Application.ScreenUpdating = False '禁止屏幕更新

b = [c65536].End(xlUp).Row

If b <3 Then b = 3

Sheets("2").Range(Cells(3, 1), Cells(b, 11)).ClearContents '先清除查询区域

s = Sheets("1").Range("j1") '数量(使用COUNTA确定数据记录行数)

aa = Range("b1") '要查询的号码(完整或前几位)

x1 = 3 '从第三行开始

For x = 3 To s + 3

n = Len(aa)

w = Sheets("1").Cells(x, 3) '从表1中取一个C列号码赋值给变量w

If Len(w) >= n And Left(w, n) = aa Then '判断这个号码是否与要检索的相符

For j = 1 To 10

Cells(x1, j) = Sheets("1").Cells(x, j) '将相符号码的相关内容提取出来

Next j

x1 = x1 + 1

End If

Next

Range("b1").Select

Application.ScreenUpdating = True '允许屏幕更新

End Sub

在代码中已经做了注释,有VBA基础的朋友很容易理解。

第三步,完成验收

最后就可以检验效果了,在表2的B1单元格中输入“860”回车后,就把所有前三个数字相符的电话号码检索出来了。

同样,在B1格中输入数字“8”,就能把所有第一位是8的电话号码检索出来。

这个示例表格完成了一个简单的检索,为了介绍方便,只做了对一列数据的检索,有兴趣的朋友可以在此基础上增加多列检索,实用性就更强了。

1、打开EXCEL右击工具栏空白处,d出的菜单中选择“控件工具箱”:

2、在“控件工具箱”中选择“命令按钮”:

3、使用鼠标拖动一个矩形,松开鼠标会产生一个命令按钮。

4、双击这个命令按钮,会自动打VBA窗口。

5、如图位置输入一段代码。MsgBox "百度经验":

6、右击命令按钮在d出的菜单中选择属性命令。

7、将CAPTION属性修改成“百度经验”:

8、在“控件工具箱”中选择“退出设计模式”:

9、再双击命令按钮就会d出“百度经验”的提示框。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11893187.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存