VBA左功能|如何使用Excel VBA Left Function?

Excel VBA左

VBA左 也是属于VBA与应用程序一起使用的文本功能下的工作表功能之一。 worksheet方法,它从字符串的左侧部分返回指定数量的字符。

一些Excel功能也与VBA集成在一起。在许多文本函数中,VBA LEFT是我们比其他公式经常使用的函数之一。

如果您知道excel的LEFT函数,那么VBA的LEFT函数是完全相同的。它可以从字符串左侧或用户指定的值中提取字符。

LEFT函数的语法与工作表函数完全相同。

它有两个参数。

  • 细绳: 这不过是值或单元格引用。从这个值,我们正在寻找切字符。
  • 长度: 您要从中提取多少个字符 细绳 您已提供。这应该是一个数值。

如何使用Excel VBA Left Function?

您可以在此处下载此VBA左功能模板– VBA左功能模板

范例#1

假设您有一个单词“ Sachin Tendulkar”,并且您只希望该单词的前6个字符。我们将展示如何使用VBA中的LEFT函数从左侧提取内容。

步骤1: 创建一个宏名称,然后将变量定义为String。

代码:

 Sub Left_Example1()昏暗MyValue作为字符串结尾Sub 

第2步: 现在给这个变量赋一个值

代码:

 Sub Left_Example1()昏暗MyValue作为字符串MyValue =结束Sub 

第三步: 打开左功能。

代码:

 Sub Left_Example1()Dim MyValue As String MyValue = Left(End Sub 

第4步: 第一个参数是告诉什么是字符串或值。我们在这里的价值是“ Sachin Tendulkar”。

代码:

 Sub Left_Example1()Dim MyValue As String MyValue = Left(“ Sachin Tendulkar”,End Sub 

步骤5: 长度不过是我们从左边需要多少个字符。我们需要6个字符。

代码:

 Sub Left_Example1()Dim MyValue As String MyValue = Left(“ Sachin Tendulkar”,6)End Sub 

步骤6: 在VBA MsgBox中显示值。

代码:

 Sub Left_Example1()Dim MyValue As String MyValue = Left(“ Sachin Tendulkar”,6)MsgBox MyValue End Sub 

步骤7: 使用F5键或通过运行选项手动运行宏,以在消息框中获取结果。

输出:

除了将结果显示在消息框中外,我们还可以将结果存储在excel工作表中的一个单元格中。我们只需要添加单元格引用和变量值即可。

代码:

 Sub Left_Example1()Dim MyValue As String MyValue = Left(“ Sachin Tendulkar”,6)Range(“ A1”)。Value = MyValue End Sub 

现在,如果您运行此代码,我们将在单元格A1中获得该值。

Example#2 –其他功能的LEFT

在上述情况下,我们直接从左方向提供了所需字符的长度,但这更适合于一个或两个值。假设下面是您在Excel工作表中拥有的值列表。

在每种情况下,名字字符都互不相同,我们不能直接指定每个名字中需要的字符数。

这是其他功能之美的体现。为了动态提供字符数,我们可以使用“ VBA Instr”功能。

在上面的一组名称中,我们需要从左到右的所有字符,直到到达空格字符为止。因此Instr函数可以返回那么多字符。

步骤1: 类似地,启动一个excel宏名称并将变量定义为字符串。

代码:

 Sub Left_Example2()昏暗的名字作为字符串结尾Sub 

第2步: 通过LEFT函数将值分配给变量。

代码:

 Sub Left_Example2()Dim FirstName As String FirstName = Left(End Sub 

第三步: 在这里,我们需要引用单元格以从单元格中获取值。所以写代码为 CELLE(2,1)。值。

代码:

 Sub Left_Example2()Dim FirstName As String FirstName = Left(Cells(2,1).Value,End Sub) 

步骤4:下一个 问题是我们需要多少个字符。在应用LEFT功能后,请不要手动输入字符的长度,请应用Instr功能。

代码:

 Sub Left_Example2()Dim FirstName As String FirstName = Left(Cells(2,1).Value,InStr(1,Cells(2,1).Value,“”))En​​d Sub 

步骤5: 将此结果存储在B2单元格中。所以代码是 细胞(2,2).value =名字

代码:

 Sub Left_Example2()Dim FirstName As String FirstName = Left(Cells(2,1).Value,InStr(1,Cells(2,1).Value,“”))Cells(2,2).Value = FirstName End Sub 

步骤6: 手动或通过F5运行此代码,我们将获得名字。

我们为一个名字取了名字,但是我们还有其他几个名字。我们无法编写100行代码来提取,那么我们如何提取呢?

这就是循环之美的体现。下面是循环代码,它可以消除所有不必要的步骤,并且可以在3行中完成该工作。

代码:

 Sub Left_Example2()Dim FirstName as String Dim i as Integer For i = 2至9 FirstName = Left(Cells(i,1).Value,InStr(1,Cells(i,1).Value,“”-1)单元格(i,2)。值=名字下一个i结束子 

笔记:Instr函数也返回空格字符,因此我们需要从Instr结果中减去1。

如果您运行此代码,我们将获得名字值。

输出:

要记住的事情

  • 左只能从左提取。
  • VBA Instr函数查找字符串中提供的字符的位置。