如何使用 vba 代码合并 excel 中的单元格

在 VBA 中,有一种“MERGE”方法,可用于将一系列单元格甚至多个单元格合并为一个单元格。此方法有一个可选的“Across”参数。如果指定 TRUE,则将单独合并范围内的每一行,如果指定 FALSE,则将整个范围合并为一个。

使用 vba 合并和取消组合单元格

使用VBA合并单元格的步骤:

  1. 首先,您需要定义要合并的单元格范围。
    define-the-range-of-a-cell-want-to-merge
  2. 之后,键入一个点 (.) 以获取属性和方法的列表,然后从该列表中选择“合并”,或者您可以直接键入。
    type-a-dot-to-get-the-list-of-properties
  3. 之后,您需要将“Across”参数设置为 TRUE 或 FALSE。
    define-the-argument-across
  4. 最后,运行此代码来合并范围。

这是代码。

 Range("A1:A2").Merge False

如果要合并整个范围内的行,可以使用 TRUE 作为 across 参数。

如果您想在范围内合并,请输入 true
 Selection.Merge Across:=True

在上面的代码中,您选择范围、合并方法和交叉为 true。它合并了所选范围内的所有行。

现在假设您想要合并另一个工作表中的单元格区域,则无需先启用它。您可以先简单地参考电子表格,然后使用合并方法来合并您想要合并的内容。

 Worksheets("Sheet1").Range("A1:A2").Merge

同样,您也可以通过指定工作簿名称来引用工作簿。

 Workbooks("Book1.xlsx").Worksheets("Sheet1").Range("A1:A2").Merge

合并范围并对齐单元格内容

现在,当合并两个或多个单元格时,您需要对齐单元格中的内容。查看下面的快照,其中合并了单元格 A1 和 A2,并且单元格中的值底部对齐。为了解决这个问题,可以使用alignment属性,将单元格内容居中对齐,以便于阅读。

合并范围并对齐单元格内容
 With Range("A1:A2") .Merge .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With

合并文本然后合并

我们来谈谈现实生活中的一个场景。您在一系列单元格中包含文本,并且需要合并这些单元格,但您不想丢失所拥有的内容。那么,您可以使用每个文本在整个范围内编写一个代码循环并组合文本,然后将其添加到最后的合并范围。

组合测试与合并
  1. 在第一部分中,您可以使用变量来存储范围值并自行设置。
  2. 在第二部分中,您有一个循环来组合每个单元格的值以创建一个新字符串。
  3. 在第三部分中,合并范围、添加组合字符串、应用自动换行并对齐单元格内容。

这是完整的代码。

 Sub vba_merge_with_values() Dim val As String Dim rng As Range Set rng = Range("A1:A10") For Each Cell In rng val = val & " " & Cell.Value Next Cell With rng .Merge .Value = Trim(val) .WrapText = True .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter End With End Sub

添加评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注