📜  Excel VBA 连接运算符

📅  最后修改于: 2021-09-23 05:00:44             🧑  作者: Mango

Excel 中的 VBA 代表Visual Basic for Applications ,它是 Microsoft 的编程语言。为了优化性能并减少在 Excel 中的时间,我们需要宏,而 VBA 是后端使用的工具。串联意味着将两个或多个数据连接成一个数据。我们可以通过多种方式使用内置函数、运算符等在 Excel 中执行连接。

一些有用的链接,以获取有关在 Excel 中连接和使用 VBA 的更多见解:

  1. 在 Excel 中记录宏
  2. 在 Excel 中连接
  3. 如何在Excel中创建宏?

在本文中,我们将了解连接运算符以及如何使用 VBA 连接字符串和数字。

执行 :

在 Microsoft Excel 选项卡中,选择开发人员选项卡。最初,开发人员选项卡可能不可用。

开发人员选项卡可以通过两步过程轻松启用:

  • 右键单击 Excel 窗口顶部的任何现有选项卡。
  • 现在从弹出菜单中选择自定义功能区

  • Excel 选项框中,选中开发人员框以启用它,然后单击确定。

  • 现在,开发人员选项卡可见。

现在,我们需要打开 Visual Basic 编辑器。有两种方法:

  • 转到开发人员并直接单击Visual Basic选项卡。
  • 转到“插入”选项卡,然后单击“命令”按钮。在 Excel 工作表的任何单元格中拖动并插入命令按钮。

现在,双击此命令按钮这将打开Visual Basic 应用程序编辑器选项卡,我们可以编写代码。这个命令按钮的好处是,只要点击按钮就可以看到连接的结果,而且我们不需要在Excel中制作任何额外的来编写代码。

另一种方法是右键单击命令按钮,然后选择查看代码,如下所示:

连接运算符:

连接 Excel 中最常用的运算运算符是“&”用于数字和字符串。但是对于字符串,我们也可以使用“+”运算符来连接两个或多个字符串。

使用公式连接的语法是:

cell_number1 & cell_number2 ; without space in between

cell_number1 & " " & cell_number2;  with space in between

cell_number1 & "Any_Symbol" & cell_number2 ; with any symbol in between

cell_number(s) & "string text" ; concatenate cell values and strings

"string_text" & cell_number(s) ; concatenate cell values and strings

连接两个数字:

示例 1:以任意两个数字作为输入并连接成一个数字。

在 Excel 中连接两个数字的代码是:

Private Sub CommandButton1_Click()
'Inserting the number num1 and num2 
Dim num1 As Integer: num1 = 10
Dim num2 As Integer: num2 = 50
'Declare a variable c to concatenate num1 and num2
Dim c As Integer
'Concatenate the numbers
c = num1 & num2
MsgBox ("The result after concatenating two numbers are: " & c)
End Sub

在 VBA 中运行上面的代码,输出将显示在消息框中。

输出 :

您也可以单击命令按钮,将显示相同的消息。

示例 2:假设,现在我们从 Excel 工作表的单元格中取出两个数字,并将结果存储回 Excel 工作表中。这次我们不打算使用命令按钮。

步骤 1:从“开发人员”选项卡打开 VB 编辑器。

Developer  -> Visual Basic -> Tools -> Macros

第 2 步:编辑器现在已准备就绪,我们可以在其中编写用于连接的代码和语法。

现在编写以下代码并运行它。

Sub Concatenate_Numbers()
'Taking two variables to fetch the two numbers and to store
Dim num1 As Integer
Dim num2 As Integer
'Fetching the numbers from Excel cells num1 from A2 and num2 from B2
num1 = Range("A2").Value
num2 = Range("B2").Value
'Find the concatenate and store in cell number C2
Range("C2").Value = num1 & num2
End Sub

串联

连接两个或多个字符串:

我们可以使用“+”运算符或“&”运算符。

示例 1:让我们连接字符串“Geeks”、“for”、“Geeks”。

重复上一节中讨论的步骤 1 ,以创建一个名为“Concatenate_Strings”的新 VBA 模块

现在编写以下任一代码并运行它以连接两个或多个字符串。

Sub Concatenate_Strings()
'Taking three variables to fetch three strings and to store
Dim str1 As String
Dim str2 As String
Dim str3 As String
'Fetching the strings from Excel cells
str1 = Range("A2").Value
str2 = Range("B2").Value
str3 = Range("C2").Value
'Find the concatenate and store in cell number D2
Range("D2").Value = str1 + str2 + str3
End Sub
Sub Concatenate_Strings()
'Taking three variables to fetch three strings and to store
Dim str1 As String
Dim str2 As String
Dim str3 As String
'Fetching the strings from Excel cells
str1 = Range("A2").Value
str2 = Range("B2").Value
str3 = Range("C2").Value
'Find the concatenate and store in cell number D2
Range("D2").Value = str1 & str2 & str3
End Sub

串联

示例 2:这次让我们将三个字符串连接起来并添加不同的行并在消息框中显示它们。

创建一个新模块并编写代码。用于在下一行添加字符串的关键字是vbNewLine

代码是:

Sub Concatenate_DifferentLines()
'Taking three variables to store
Dim str1 As String
Dim str2 As String
Dim str3 As String
'Initialize the strings
str1 = "The best platform to learn any programming is"
str2 = "none other than GeeksforGeeks"
str3 = "Join today for best contents"
'Display the concatenated result in a message box
MsgBox (str1 & vbNewLine & str2 & vbNewLine & str3)
End Sub

示例 3:让我们以包含名字姓氏的人的全名为例,将两个字符串连接起来,中间有空格

创建一个新模块Concatenate_Strings_Space并编写以下代码:

Sub Concatenate_Strings_Space()
'Taking two variables to fetch two strings and to store
Dim fname As String
Dim lname As String
'Fetching the strings from Excel cells
fname = Range("A2").Value
lname = Range("B2").Value
'Find the concatenate and store in cell number C2
Range("C2").Value = fname & " " & lname
End Sub