在 Excel 中使用 VBA 宏连接数据列

文章翻译 文章翻译
文章编号: 213477 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

在 Microsoft Excel 中,可使用宏连接两个相邻列中的数据,并在包含数据的列的右侧列中显示结果。本文包含一个可达到此目的的 Microsoft Visual Basic for Applications (VBA) 宏(子过程)示例。

更多信息

Microsoft 提供的编程示例只用于说明目的,不附带任何明示或暗示的保证。这包括但不限于对适销性或特定用途适用性的暗示保证。本文假定您熟悉所演示的编程语言和用于创建和调试过程的工具。Microsoft 的支持工程师可以帮助解释某个特定过程的功能。但是他们不会修改这些示例以提供额外的功能或构建过程以满足您的特殊需求。

Visual Basic for Applications (VBA) 宏示例

Sub ConcatColumns()

   Do While ActiveCell <> ""  'Loops until the active cell is blank.

      'The "&" must have a space on both sides or it will be
      'treated as a variable type of long integer.

      ActiveCell.Offset(0, 1).FormulaR1C1 = _
         ActiveCell.Offset(0, -1) & " " & ActiveCell.Offset(0, 0)

      ActiveCell.Offset(1, 0).Select
   Loop

End Sub
				
注意:可使用 ActiveCell.Offset(0, 1).Formula 语句替换 ActiveCell.Offset(0, 1).FormulaR1C1 语句。如果只使用文字和数字(而不使用公式),这两个语句的效果相同。第一个语句结尾处使用的 R1C1 指的是第 1 行、第 1 列,采用的是帮助中的示例所用的形式。

如何在 Microsoft Office Excel 2007 中使用宏

  1. 打开包含数据的工作簿。
  2. 按 Alt+F11 启动 Visual Basic 编辑器。
  3. 在“插入”菜单上,单击“模块”插入一个模块。在模块的代码窗口中键入宏。
  4. 在“文件”菜单上,单击“关闭并返回到 Microsoft Excel”。
  5. 选择包含要连接的数据的工作表。
  6. 单击要连接的数据右侧列中的顶部单元格。例如,如果单元格 A1:A100 和 B1:B100 包含数据,则单击单元格 B1。
  7. 单击“开发工具”选项卡。如果“开发工具”选项卡未显示,请按照下列步骤操作:
    1. 单击“Microsoft Office 按钮”,然后单击“Excel 选项”。
    2. 单击“常用”。
    3. 单击以选中“在功能区显示‘开发工具’选项卡”复选框。
    4. 单击“确定”以关闭“Excel 选项”对话框。
  8. 单击“代码”组中的“宏”。
  9. 选择 ConcatColumns 宏,然后单击“运行”。

如何在 Microsoft Office Excel 2003 和较早版本的 Excel 中使用宏

  1. 打开包含数据的工作簿。
  2. 按 Alt+F11 启动 Visual Basic 编辑器。
  3. 在“插入”菜单上,单击“模块”以插入模块。在模块的代码窗口中键入宏。
  4. 在“文件”菜单上,单击“关闭并返回到 Microsoft Excel”。
  5. 选择包含要连接的数据的工作表。
  6. 单击要连接的数据右侧列中的顶部单元格。例如,如果单元格 A1:A100 和 B1:B100 包含数据,则单击单元格 B1。
  7. 在“工具”菜单上,指向“宏”,然后单击“宏”。选择 ConcatColumns 宏,然后单击“运行”。

参考

有关 Visual Basic for Applications 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
226118 可用于帮助您学习 Visual Basic for Applications 编程的资源列表

属性

文章编号: 213477 - 最后修改: 2007年2月26日 - 修订: 4.0
这篇文章中的信息适用于:
  • Microsoft Office Excel 2007
  • Microsoft Office Excel 2003
  • Microsoft Excel 2002 标准版
  • Microsoft Excel 2000 标准版
关键字: 
kbhowto kbprogramming kbdtacode kbexpertiseinter KB213477
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈