Table of contents
在Excel中,连接是将两个字符串连接起来形成一个单一的字符串的过程。 简单地说,如果我们有一个表格,一列是名字,另一列是姓氏,我们可以使用连接程序,在一瞬间将它们连接并合并到一个单元格中。 在Excel中,我们有一个函数叫做 CONCATENATE () 允许我们进行这种串联。 然而,在 VBA ,这种类型的函数是不允许的。 我们不能使用 CONCATENATE () 在VBA代码中,因为它不会工作。 因为 VBA 因此,本课将向你演示如何使用 VBA 在Excel中连接多个单元格、列和行。
下载实践工作手册
下载这本练习手册,在阅读本文时进行练习。
VBA串联函数简介
正如我们所提到的,Excel没有任何内置的VBA串联函数,但我们可以通过将不同的字符串与运算符结合起来,使其作为一个函数工作。 在这里,我们使用了安培尔符号 (&) 作为我们的运营商。
⟴ 语法
String1 = " 第一个文本"
String2 = " 第二个文本"
⟴ 返回值
Return_value = 弦乐1 & 弦乐2
VBA串联函数在Excel中的4种不同用途
在这里,我们将使用4种不同的方法来执行连接过程。 我们将应用不同的操作符,结合 VBA 代码来实现这一点。
1.在VBA串联中使用Ampersand(&)操作符来连接单元格
如下面的截图所示,我们有一个两列的数据集合,一列是名字,另一列是姓氏。 通过合并这两列,我们现在可以得到整个名字。 因为 VBA 没有任何内置的连接方法,我们将使用安培符 (&) 详见下面的说明。
步骤1。
- 首先,按 符号 + F11 以打开 Macro-Enabled工作表。
- 然后,点击
- 选择 模块 .
第2步。
- 要将两个单元格合并为一个,请复制并粘贴以下内容 VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 & String2 MsgBox (ful_string) End Sub
在这里。
- String1 = Cells(5, 2).Value 是第一个细胞的位置 B5 , 行 5, 和列 2 .
- String2 = Cells(5, 3).Value 是第二个细胞的位置 C5 , 行 5, 和列 3 .
- Cells(5, 5).Value = String1 & String2 是结果单元的位置 E5 , 行 5 和列 5 .
- 弦乐1 & 弦乐2 是由安培符连接的两根弦。 (&)
第3步。
- 保存并按 F5 来运行该程序。
因此,你将得到的结果是在 E5 你当前工作表的单元格。
第4步。
- 按照并重复其余单元格的步骤,得到如下图片所示的结果。
阅读更多:如何在Excel中使用VBA StrComp (5个常见的例子)
2.在VBA串联中使用加号(+)运算符连接单元格
如上一节所述,我们使用了安培符 (&) 你可以通过应用加号来获得相同的结果。 (+) 符号来代替安培数 (&) 操作员,请按照以下步骤进行操作。
步骤1。
- 打开 宏观 在Excel中,按 符号 + F11 .
- 点击 插入 并选择
- 打开程序页面后,粘贴以下内容 VBA
Sub Concatenate2() Dim String1 As String Dim String2 As String Dim full_string As String String String1 = Cells(5, 2).Value String2 = Cells(5, 3).Value Cells(5, 5).Value = String1 + String2 MsgBox (ful_string) End Sub
在这里。
- Cells(5, 5).Value = String1 + String2 是我们使用的这一行加上 (+) 符号,而不是安培号 (&)
第2步。
- 粘贴后,保存并按 F5 因此,你将看到单元格中的变化。 E5 .
- 为了获得最终结果,通过再次执行前面的步骤来填满所需的单元格。
阅读更多。 如何使用VBA的StrConv函数(5个例子)
类似的阅读。
- 如何在Excel的VBA中调用一个子程序(4个例子)
- 在VBA函数中返回一个值(包括数组和非数组值)。
- 如何在Excel中使用VBA DIR函数(7个例子)
- 在Excel中使用VBA的UCASE函数(4个例子)
- 如何在VBA中使用InStr函数(3个例子)
3.使用VBA串联添加多列
在前面两种方法中,我们讨论了如何合并两个单元格。 然而,如果我们想应用于整个列,一个一个地添加将需要很长的时间。 我们将教你如何完全添加多个列,用 VBA 这方面的代码。
步骤1。
- 首先,要打开 宏观 按压 符号 + F11
- 选择 模块 从 插入 标签
- 然后,粘贴以下内容 VBA
Sub ConcatCols() '在E列中连接列B和C Dim LastRow As Long With Worksheets("Sheet3") LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row With .Range("E5:E" & LastRow) .Formula = "=B5& C5" .Value = .Value End With 结束 Sub的结束
在这里。
- 有了Worksheets("Sheet3") 是你当前工作表的名称。
- LastRow = .Cells(.Rows.Count, "B").End(xlUp).Row 是第一列名称。
- With .Range("E5:E" & LastRow) 是返回单元格范围的结果。
- .公式 = "=B5& C5" 是连接该区域第一个单元格的公式。
第2步。
- 然后,最后,保存并按 F5 来运行该程序。
因此,你将完全在一列中获得结果。
阅读更多:如何在Excel中使用VBA Rnd(4种方法)
4.使用VBA连接法连接多条记录
除了添加多列之外,我们还可以应用 VBA 如下面的截图所示,我们想将三条记录串联成一条。 要串联这些记录,请按照下面的简单步骤进行。
步骤1。
- 用于激活 宏观 在Excel中,按 符号 + F11 .
- 然后,选择 模块 从 插入
- 要连接这些行,请粘贴 VBA
Sub vba_concatenate() Dim rng As Range Dim i As String Dim SourceRange As Range Set SourceRange = Range("B5:D5") For Each rng In SourceRange i = i & rng & " " Next rng Range("B8") .Value = Trim(i) End Sub
在这里。
- Set SourceRange = Range("B5:D5") 是源单元格范围。
- Range("B8").Value = Trim(i) 是返回单元格编号。
第2步。
- 最后,保存程序并按 F5 来运行。
因此,三行串联的最终结果将显示在单元格 B8 .
阅读更多。 如何在Excel中取消隐藏顶行(7种方法)
总结
总结一下,我希望这篇文章已经提供了明确的指示,说明如何利用 VBA 所有这些技术都应该学会,并在你的数据上使用。 检查练习册,将你新发现的知识用于实践。 因为你的善意支持,我们有动力继续创建这样的研讨会。
如果您有任何疑问,请不要犹豫,与我们联系。 请在下面的评论区告诉我们您的想法。
ǞǞǞ 优秀 团队将不断回应你的问题。