Excel VBA Instr函数:如何在Excel中搜索字符串
微软是提供兼具功能和功能的用户应用程序的行业领导者。微软的办公应用程序就是一个很好的例子。办公套件的应用程序不仅是标准的电子表格和文字处理器,而且实际上是功能强大的应用程序。由于在他们的办公应用程序套件中包含了Visual Basic for Applications(简称VBA),像Excel这样的程序比仅仅是一个电子表格要强大得多。
本教程将向您展示如何在Excel中访问VBA的权力。它将向您展示如何使用VBA Instr功能搜索目标字符串以确认目标字符串中的字符串。教程假设您有一些基本的Excel技能和能力。为了充分利用本教程,您可以完成像这样的课程Excel课程(基本和高级),这将确保您有一个稳固的基础。
如何访问VBA的功能和命令
根据功能的不同,您可以通过单元格本身或通过VBA编辑器访问Excel中的VBA命令。要在单元格中输入VBA函数,您需要从您希望答案出现的单元格开始。首先输入等号,然后输入要调用的函数。例如,要运行IF函数,您可以选择一个单元格,然后键入" =IF "。VBA函数语法将作为指南显示如何使用该函数。看看下面的代码示例:
在单元格中不可用一些VBA函数,但必须通过VBA编辑器输入。要访问VBA编辑器,您可以将ActiveX控件添加到工作表,也可以使用菜单上的Developer选项卡直接访问编辑器。要直接访问它,请单击“开发人员”选项卡,然后单击“Visual Basic”。这将打开编辑器。
对于本教程,我们将在我们的工作表中添加一个命令按钮以验证电子邮件地址。
Excel VBA instruit函数如何工作
VBA instr函数允许你搜索一个目标字符串,看看这个字符串是否包含一个特定的搜索字符串。Instr是“in String”的缩写。instr函数的参数包括:
inst([start],[string1],[string2],[compare])
Start参数允许您指定搜索应在字符串中启动的位置。此参数是可选参数。如果未指定,则搜索将在单元格中的第一个字符中开始。字符串1参数指示要搜索的目标字符串并必须指定。String 2参数表示要搜索的字符串并必须指定。比较参数是可选的,可用于指定字符串的比较方式。
实用的VBA instr例子
出于本教程的目的,我们将创建一个电子表格,其中包含一群人的名称,电子邮件地址和电话号码。
这就是您的初始电子表格应该如下所示:
对于教程,让我们假设我们希望确保我们输入电子邮件字段中的所有数据都有效。我们知道有效的电子邮件地址必须包含在地址中的“@”标志。您可以手动检查每个字段,但在具有几千个电子邮件地址的电子表格中,这可能不是最快或最实用的解决方案。
这是VBA instr功能可以帮助我们确保所有电子邮件看起来像有效的电子邮件地址。我们可以使用VBA instr函数来搜索电子邮件地址字符串,以确保字符串包含@字符。要在我们的工作表中使用此功能,我们需要添加ActiveX控件以在工作表中插入函数。我们将为我们的电子表格添加一个命令按钮。要添加命令按钮,请选择“开发人员”选项卡,选择“插入”并选择“命令”按钮。双击“命令”按钮进入VBA编辑器。
首先,您需要声明几个变量,以便我们可以引用工作表中的单元格。如果你不知道什么是变量,或者不知道如何声明它们宏和VBA excelfrom udemy将教你如何使用VBA中的变量。
你可以使用下面的代码来声明这些变量:
然后,您需要将初始值分配给变量,并在VBA中使用用于在工作表中的范围内的用于语句。您还需要使用变量为email_add变量分配值以确定工作表的行和列。
现在有了要比较的值,可以使用instr函数。instr函数的表达式如下:
上面的功能将初始化福利功能。它将开始在单元格中的第一个字符中搜索字符串,因为尚未指定第一个参数。它将搜索我们称为Email_Add的字段,其赋予我们范围内每个单元格的值。该功能将检查单元格是否包含@字符。如果它找到@字符,它将返回找到@字符的位置。如果它找不到@字符,那么它返回零。
现在我们已经将字符串与搜索字符串进行了比较,我们有一个结果我们需要编写一个代码,如果找不到字符,那么如果找不到该角色,那么该命令按钮将告诉我们的命令按钮。实现这一目标的代码将如下所示:
我们工作表中的上述代码的结果如下:
我们使用的代码包括许多VBA函数,而不是instr。对于如何在Excel中实现和使用其他高级VBA功能的培训终极Excel VBA.课程将教你如何在自己的电子表格中利用VBA的力量。