如何在Excel VBA中使用串联法(4种方法)

  • Share This
Hugh West

在Excel中,连接是将两个字符串连接起来形成一个单一的字符串的过程。 简单地说,如果我们有一个表格,一列是名字,另一列是姓氏,我们可以使用连接程序,在一瞬间将它们连接并合并到一个单元格中。 在Excel中,我们有一个函数叫做 CONCATENATE () 允许我们进行这种串联。 然而,在 VBA ,这种类型的函数是不允许的。 我们不能使用 CONCATENATE () 在VBA代码中,因为它不会工作。 因为 VBA 因此,本课将向你演示如何使用 VBA 在Excel中连接多个单元格、列和行。

下载实践工作手册

下载这本练习手册,在阅读本文时进行练习。

VBA串联函数.xlsm

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步。

  • 按照并重复其余单元格的步骤,得到如下图片所示的结果。

请注意。 要运行 VBA 代码,每次都要确保你的Excel文件被保存在Excel 启用宏的工作表(xlsm.) 格式。

阅读更多:如何在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 所有这些技术都应该学会,并在你的数据上使用。 检查练习册,将你新发现的知识用于实践。 因为你的善意支持,我们有动力继续创建这样的研讨会。

如果您有任何疑问,请不要犹豫,与我们联系。 请在下面的评论区告诉我们您的想法。

ǞǞǞ 优秀 团队将不断回应你的问题。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.