Excel VBA:将数据插入表内(4个例子)

  • Share This
Hugh West

在这篇文章中,我们将说明如何 插入 数据 变成一个 ǞǞǞ 桌子 使用 VBA 编码 在Excel内置属性和方法的帮助下,我们可以轻松实现向表格中添加或覆盖数据的功能。 让我们深入到例子中去,清楚地了解这些方法以及VBA代码。

下载实践工作手册

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

将数据插入表.xlsm

在Excel中使用VBA将数据插入表格的4个例子

比方说,我们有一个 销售清单 一个商店的订单日期、产品名称、数量、单价和总价等细节。

如何在Excel中创建一个表格

变成 数据集 变成一个 Excel表格 做到以下几点

  • 选择 整个数据集 .
  • 进展 插入标签 Excel功能区 .
  • 点击 关于 选择。

  • 最后,点击 确定按钮 创建表窗口。

  • 我们已经成功地 皈依 数据集 变成一个 Excel表格 .

要在Excel表格中插入数据,我们将使用几个 VBA函数 财产 在我们的 编码 下一节介绍了如何 开放 写代码 Visual Basic编辑器。

在Visual Basic编辑器中编写代码

遵循 步骤 开放 Visual Basic编辑器 并在那里写一些代码。

  • 转到 开发商 的选项卡上的 Excel功能区 .
  • 点击 Visual Basic选项。

  • Visual Basic for Applications 窗口,点击 插入下拉菜单 选择 新模块

现在,一个 新模块 开幕 ,在那里写一些代码,然后按 F5 运行。

1. 在Excel中使用VBA在表格的最后一行插入数据

在这个例子中,我们将使用一个 VBA 编码为 增加 a 新行 底部 的。 桌子 然后 插入数据 在我们的表格中,我们有 4行 数据 要添加 第5个 , 拷贝 粘贴 将以下代码输入Visual Basic编辑器。

 Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = "1/1/2022" .Range(2) = "Apple" .Range(3) = 5 .Range(4) = 1.77 End With End Sub 

按F5键 运行 代码。

我们已经 插入式的 a 新行 数据 底部 的。 现有表格 .

代码解释。

  • 在我们的代码中,我们使用了 ListObjects对象 掌握Excel的VBA技术 抓住 桌子 与其 名称 欲了解更多信息。 每个 的。 列表对象 对象是一个 桌子 关于 工作表 要获得表的名称。 点击 关于 桌子 >>。 点击 关于 表设计标签 Excel功能区。

  • 然后,我们用 列表行 . 添加方法 来添加一个 新行 桌子 .这 方法 需要 两个论点 : 职务 总是插入 .

通过输入一个 整数 ,我们可以指定 相对位置 的。 新增加的行 桌子 在这个例子中,我们 留白 位置论证 ,结果是,一个 新行 已被 额外的 底部 的。 桌子 .

  • 最后,我们将数据设置在 每个 的。 细胞 的新 添加行 在这种情况下,数据是 .Range(1) = "1/1/2022" 作为 OrderDate, .Range(2) = "Apple" 作为 产品,.Range(3)=5 作为 数量,.范围(4) = 1.77 作为 单位价格。

阅读更多。 Excel表名:你需要知道的一切

2. 运行VBA代码,在Excel中的特定表格行插入数据

在这个插图中,我们要做的是 添加一行数据 在一个 相对于表的特定行 在这种情况下,我们只需要 指定 位置论证 的。 ListRows.Add方法 比方说,我们想在我们的代码中使用 添加销售数据 橙色 详细内容见 第3行相对 现有表格 对于这种情况的发生。 拷贝 粘贴 下面的 编码 进入可视化代码编辑器。

 Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.14 End With End Sub 

通过运行代码 按F5插入的 销售数据 橙子的故事 相对于表格的第三行 .

阅读更多。 表中每一行的Excel VBA代码(添加、覆盖、删除等)。

类似读物

  • 数据透视表中的计算字段总和除以计数
  • 如何在Excel中说明相对频率分布
  • [修复]无法在数据透视表中对日期进行分组:4种可能的解决方案
  • 如何在Excel中计算百分比频率分布(2种方法)
  • 数据透视表不刷新(5个问题& 解决方案)

3. 在Excel中使用VBA将数据插入和覆盖到一个表中

这里我们将说明如何 覆盖 现有数据 在一个 表而不是 插入 a 新行 数据 要做到这一点,我们需要使用 ListObject.ListRows属性 属于Excel的 而不是 的。 ListRows.Add属性 我们用 早期 ...... ListObject.ListRows属性 也采取 行数 ( 整数 价值 )作为其 争论 比方说,我们想 变化 单位价格 的。 橙色 从2.14到2.35 我们 插入式的 以前的例子 . 拷贝 粘贴 在visual basic编辑器中输入下面的代码。

 Sub InsertDataIntoTable() Dim tableName As ListObject Set tableName = ActiveSheet.ListObjects("Table1") Dim addedRow As ListRow Set addedRow = tableName.ListRows(3) With addedRow .Range(1) = "1/1/2022" .Range(2) = "Orange" .Range(3) = 3 .Range(4) = 2.35 End With End Sub 

在我们的代码中。 我们 设置 争论 ListObject.ListRows属性 作为 3 其中 数据 橙色 属于 .运行 编码 通过按 F5 并看到 差异 .

该代码有 改变了 只有 单位价格 的。 数据 第3行相对 桌子 .

阅读更多。 如何从Excel表中插入或删除行和列

4. 运行VBA代码,根据用户输入将数据插入Excel表格中

在这个例子中,我们要做的是 插入 表名 销售详情 的一个 产品 作为 用户输入 而不是 硬编码 它在 每次的VBA代码 请按照下面的指示来完成这一工作。

  • 拷贝 粘贴 将以下代码输入视觉代码编辑器。
 Sub InsertDataIntoTable() Dim tableName As ListObject Dim A, B, C, D, tName As String tName = Application.InputBox(Prompt:="表的名称: " , Type:=2) A = Application.InputBox(Prompt:="订购日期: " , Type:=2) B = Application.InputBox(Prompt:="产品名称: " , Type:=2) C = Application.InputBox(Prompt:="数量: " , Type:=2) D = Application.InputBox(Prompt:="单位价格: " 。Type:=2) Set tableName = ActiveSheet.ListObjects(tName) Dim addedRow As ListRow Set addedRow = tableName.ListRows.Add() With addedRow .Range(1) = A .Range(2) = B .Range(3) = C .Range(4) = D End With End Sub 

  • 新闻 F5 运行 的代码。
  • 名称 的。 桌子 输入框 ( 表1 在这个例子中是这样的),然后点击 好的。

  • 然后把 订购日期,产品名称,数量。 单位价格 输入框 依次出现 在这个例子中,我们使用的值是 1/1/2022, Orange, 3, 35.

  • 因此,我们已经有了一个 新行 插入的数据 底部 的。 桌子 .

阅读更多。 Excel表的格式化技巧--改变表的外观

笔记

当我们 额外的 a 新行 数据 使用VBA代码, 格式 ,以及 配方 得到 携带的 自动生成新行 在我们的例子中, 总价 栏目 产出 产品 的列 数量 ,以及 单位价格 .我们只是 只插入了 数量 单位价格值 ǞǞǞ 新行 插入式的 产品 这些 两种价值 总价一栏。

总结

现在,我们知道了如何使用VBA代码向Excel表中插入数据。 希望它能帮助你更自信地使用这些方法。 有任何问题或建议,不要忘记把它们放在下面的评论框中。

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.