VBA与Excel入门系列-07-常用函数下篇

 

MatchVlookupSubstituteMsgbox...



系统:Windows 10软件:Excel 2010

今天讲讲以下几个函数

Match
Vlookup
Substitute
Msgbox

函数中使用的标点符号一律是英文状态下的标点符号



函数名称MatchVlookupSubstituteMsgbox函数功能匹配所在区域相对位置查找替换特定字符弹出窗口
  • Match(
    待查找值
    目标区域
    匹配方式
    )[list]
    Match
    函数返回的是位置值,并且是相对位置
  • 如示例中,目标区域选择范围不同,返回数值不同
  • 为了保证与行号列号一致,
    目标区域
    选择是从第一个单元格开始
  • 匹配方式
    包括
    -1
    ,
    0
    ,
    1
  • 0
    函数返回精确匹配的第一单元格所处位置,其余参考
    F1
    帮助
[/list]代码如下

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
    家族中的一员,有兴趣者可进一步了解
[/list]代码如下

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]函数返回替换后的文本
  • 替换方式
    ,指定替换第几个匹配项,默认全部替换
[/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
[/list]

该函数提供了人机交互功能,不同的选择程序执行不同的操作

代码如下

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


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册