VBA与Excel入门系列-07-常用函数下篇
MatchVlookupSubstituteMsgbox...
系统:Windows 10软件:Excel 2010
今天讲讲以下几个函数
Match,Vlookup,Substitute,Msgbox
函数中使用的标点符号一律是英文状态下的标点符号
函数名称MatchVlookupSubstituteMsgbox函数功能匹配所在区域相对位置查找替换特定字符弹出窗口
- Match(
待查找值
,目标区域
,匹配方式
)[list]Match
函数返回的是位置值,并且是相对位置 - 如示例中,目标区域选择范围不同,返回数值不同
- 为了保证与行号列号一致,
目标区域
选择是从第一个单元格开始 匹配方式
包括-1
,0
,1
0
函数返回精确匹配的第一单元格所处位置,其余参考F1
帮助
Sub test()
Rem>>定义工作表
Set sht = ThisWorkbook.Worksheets("举例")
HangHao1 = Application.Match("复制后区域", sht.Range("A:A"), 0)
Debug.Print ("HangHao1=" & HangHao1)
HangHao2 = Application.Match("复制后区域", sht.Range("A2:A10"), 0)
Debug.Print ("HangHao2=" & HangHao2)
End Sub
注意
- VBA中某些函数前要求必须加上
Application.- 表示该函数为工作表函数,即在Excel工作表中亦可使用
- 这类函数进行
F1帮助时,函数表示方式为WorksheetFunction.函数名称- 下文说的
Vlookup也属于这种情况
- Vlookup(
待查找值
,目标区域
,返回单元格所处列相对位置
,匹配方式
)[list]函数返回的是单元格数值 匹配方式
包括两种False
,True
,即精确匹配还是近似匹配Vlookup
是Lookup
家族中的一员,有兴趣者可进一步了解
Sub test()
Rem>>定义工作表
Set sht = ThisWorkbook.Worksheets("举例")
Value1 = Application.VLookup("复制后区域", sht.Range("A:B"), 1, False)
Debug.Print ("Value1 =" & Value1)
Value2 = Application.VLookup("复制后区域", sht.Range("A:B"), 2, False)
Debug.Print ("Value2=" & Value2)
End Sub
- Substitute(
目标字符串
,拟替换的文本
,替换的新文本
,替换方式
)[list]函数返回替换后的文本 替换方式
,指定替换第几个匹配项,默认全部替换
Sub test()
Rem>>定义工作表
S = "在Office的小世界里游啊游,一起不"
S1 = Application.Substitute(S, "一起不", "Let's go")
Debug.Print ("S=" & S)
Debug.Print ("S1=" & S1)
End Sub
- Msgbox(
弹框中显示消息
,显示按钮数目及形式
,弹框名称
)[list]函数返回一个弹框窗口 显示按钮数目及形式
,可选vbYesNo
,vbOKOnly
等vbYesNo
为VB中的常量,使用数字代替亦可,对应数字为4
代码如下该函数提供了人机交互功能,不同的选择程序执行不同的操作
Sub test()
Answer = MsgBox("是否重新计算", vbYesNoCancel, "弹框")
If Answer = vbYes Then
MsgBox "点 是 后续操作"
ElseIf Answer = vbNo Then
MsgBox "点 否 后续操作"
ElseIf Answer = vbCancel Then
MsgBox "点 取消 后续操作"
End If
End Sub
以上为本次的学习内容,下回见
本文为原创作品,如若转载请标明出处,如发现有错误,欢迎指正
关注 VB与Office
微信扫一扫关注公众号