微软是提供兼具功能和功能的用户应用程序的行业领导者。微软的办公应用程序就是一个很好的例子。办公套件的应用程序不仅是标准的电子表格和文字处理器,而且实际上是功能强大的应用程序。由于在他们的办公应用程序套件中包含了Visual Basic for Applications(简称VBA),像Excel这样的程序比仅仅是一个电子表格要强大得多。

本教程将向您展示如何在Excel中访问VBA的强大功能。它将向您展示如何使用VBA instr函数在目标字符串内搜索,以确认在目标字符串内存在一个字符串。本教程假设您具备一些基本的Excel技能和能力。为了从本教程中获得最大的好处,建议您已经完成了类似于Excel课程(基础及高级),这将确保你有一个坚实的基础在通用Excel。

如何访问VBA的功能和命令

根据功能的不同,您可以通过单元格本身或通过VBA编辑器访问Excel中的VBA命令。要在单元格中输入VBA函数,您需要从您希望答案出现的单元格开始。首先输入等号,然后输入要调用的函数。例如,要运行IF函数,您可以选择一个单元格,然后键入" =IF "。VBA函数语法将作为指南显示如何使用该函数。看看下面的代码示例:

有些VBA函数在单元格中不可用,但必须通过VBA编辑器输入。要访问VBA编辑器,可以向工作表添加ActiveX控件,也可以使用菜单上的developer选项卡直接访问编辑器。要直接访问它,单击开发人员选项卡,然后单击Visual Basic。这将打开编辑器。

对于本教程,我们将在工作表中添加一个命令按钮来验证电子邮件地址。

Excel VBA instr函数如何工作

VBA instr函数允许你搜索一个目标字符串,看看这个字符串是否包含一个特定的搜索字符串。Instr是“in String”的缩写。instr函数的参数包括:

int ([start], [string1], [string2], [compare])

start参数允许您指定搜索应该从字符串中的何处开始。是可选参数。如果未指定,则搜索将从单元格中的第一个字符开始。string 1参数表示要搜索的目标字符串,必须指定。string 2参数表示要搜索的字符串,必须指定。compare参数是可选的,可以用来指定如何比较字符串。

实用的VBA instr例子

出于本教程的目的,我们将创建一个电子表格,其中包含一组人的姓名、电子邮件地址和电话号码。

这是你最初的电子表格:

对于本教程,我们假设希望确保输入电子邮件字段的所有数据都是有效的。我们知道一个有效的电子邮件地址必须在地址内包含一个“@”符号。您可以手动检查每个字段,但在一个有几千个电子邮件地址的电子表格中,这可能不是最快或最实用的解决方案。

这是VBA instr功能可以帮助我们确保所有电子邮件看起来像有效的电子邮件地址。我们可以使用VBA instr函数来搜索电子邮件地址字符串,以确保字符串包含一个@字符。要在工作表中使用此函数,需要添加一个ActiveX控件,以便在工作表中插入该函数。我们将为电子表格添加一个命令按钮。要添加命令按钮,选择开发人员选项卡,选择插入,然后选择命令按钮。双击命令按钮进入VBA编辑器。

首先,您需要声明几个变量,以便我们可以引用工作表中的单元格。如果你不知道什么是变量,或者不知道如何声明它们宏和VBA excelfrom udemy将教你如何使用VBA中的变量。

你可以使用下面的代码来声明这些变量:

然后需要为变量赋值,并在VBA中使用for语句来移动工作表中的范围。您还需要使用变量为email_Add变量赋值,以确定工作表的行和列。

现在有了要比较的值,可以使用instr函数。instr函数的表达式如下:

上面的函数将初始化instr函数。它将从单元格内的第一个字符开始搜索字符串,因为没有指定第一个参数。它将搜索名为email_Add的字段,该字段是给定范围内每个单元格的值。该函数将检查单元格是否包含@字符。如果它找到了@字符,它将返回找到@字符的位置。如果没有找到@字符,则返回0。

现在,我们已经将字符串与搜索字符串进行了比较,并且得到了一个结果,我们需要编写代码来告诉我们的命令按钮,如果找到了字符该做什么,如果没有找到字符该做什么。实现这一点的代码如下所示:

上述代码在我们的工作表中的结果将如下所示:

我们使用的代码包括许多VBA函数,而不是instr。对于如何在Excel中实现和使用其他高级VBA功能的培训最终excel VBA课程将教你如何在自己的电子表格中利用VBA的力量。

Excel VBA顶级课程

Excel宏和VBA初学者
Bluelime学习方案
4.4 (17)
热&新
解锁Excel VBA和Excel宏
莱拉Gharani
4.7 (26831)
畅销书
完整的Web自动化与Excel VBA
丹尼尔强
4.7 (738)
畅销书
Excel VBA宏:超消除歧义的Excel VBA编程
格兰特赌博
4.4 (989)
畅销书
熟练掌握微软Excel宏和Excel VBA
凯尔尤
4.5 (11666)
畅销书
最终Excel VBA
马克Talbert
4.7 (3201)
Excel VBA编程-完整指南
鲍里斯Paskhaver
4.7 (3731)
Microsoft Excel VBA简介
凯尔尤
4.6 (1160)
Excel宏和Excel VBA编程初学者
Andreas Exadaktylos
4.5 (854)
评价最高

更多Excel VBA课程

Excel VBA的学生也可以学习

让你的团队。领导行业。

使用Udemy for Business订阅在线课程库和数字学习工具。

请求一个演示