强制两个单独的表具有相同数量的行

强制两个单独的表具有相同数量的行

我在 Excel 中有两个单独的表格,我希望它们具有相同的第一列和相同数量的行。

我通过引用第一个表的第一列来填充第二个表的第一列。我只需要知道如何强制两个表始终具有相同数量的行以及相同的行。

在此处输入图片描述

因此,假设我从表 1 中删除一行,它也应该从表 2 中删除同一行。

同样,如果我在表 1 中添加一行,它也应该在表 2 中添加一行。

表中的其他列将不会包含相同的数据。

我对表格的经验很少,但对 VBA 有相当的了解,因此我愿意接受所有建议。

答案1

因此,假设我从表 1 中删除一行,它也应该从表 2 中删除同一行。

同样,如果我在表 1 中添加一行,它也应该在表 2 中添加一行。

表中的其他列将不会包含相同的数据。


是的。创建表。选择“数据”选项卡,从表中,生成一个从源表中提取数据的新查询表。


程序


1a. 创建表
1b. 为工作表命名,命名为有用的名称(例如 DB)


2a. 选择数据选项卡。
2b. 在“获取和转换”部分中选择“来自表”。
2c. 为该查询命名,命名为有用的名称(例如 Table_DB)-- 参见 img_3
2d. 关闭并加载查询。-- 参见 img_4

3. 这是您的新表,是步骤 1 中原始表的新查询。此表是您现有表的工作副本。-- 名为 Sheet5 image_5

4a. 将您的新工作表 Sheet5 重命名为有用的名称,例如 DB_QUERY。参见图片 6。
4b. 对 DB_QUERY 表执行查询。选择 Age 下拉箭头以执行查询。
4c. 在查询选择中选择“大于”。让我们尝试只查看年龄大于 30 岁的人。-- 参见 image_6
4d. 这是查询。输入 30。按 Enter 接受查询。 -- 参见 image_7

5. 注意,在步骤 4 中,只有两个人的年龄超过 30 岁。但是 Stan 辞职了。让我们从这个 DB(数据库)中删除 Stan。不要从查询中删除。通过维护其来源来维护查询的完整性;来自步骤 1 的 DB 表。5b
. 通过单击正确的工作表选项卡选择 DB。-- 参见 image_8
5c. 从表中删除 Stan。-- 参见 image_9
5c-1. 同样,如果您添加一个人,该人也将添加到查询表中。5d
. Stan 现在已从 DB 表中删除。-- 参见 image_10

6a. Stan 现在已从 DB 表中删除。但是,似乎 DB_Query 并未显示这些更改?-- 参见 image_11
6b. 实际上,DB 和 DB_Query 表都是同步的。您只需刷新 DB_Query;通过单击刷新图标刷新查询 -- 参见 image_12

如果查询无法像步骤 6 中那样直观地显示,请选择“数据”选项卡,然后在“获取和转换”部分中选择“显示查询”。


参考下面的图片


图片 1

在此处输入图片描述

图片 2

在此处输入图片描述

图 3

在此处输入图片描述

图片 4

在此处输入图片描述

图片 5

在此处输入图片描述

图片 6

在此处输入图片描述

图片 7

在此处输入图片描述

图片 8

在此处输入图片描述

图片 9

在此处输入图片描述

图片 10

在此处输入图片描述

图片 11

在此处输入图片描述

图片 12

在此处输入图片描述

答案2

您只需将表格放在不同的工作表上,并具有相同的列和行位置。

添加或删除条目时,选择所有需要操作的工作表(Ctrl + 单击单个工作表,如果有多张工作表,则Shift + 单击第一个目标工作表和最后一个目标工作表),然后正常输入或删除。

操作将在所有选定的工作表上执行。已针对 Microsoft Excel 2016 进行测试。

答案3

如果不看表格的话,很难给出一个像样的答案,但从听上去,我认为最简单的解决方案是使用三个表格。创建一个新表格,增加table 12- ntable 2这将是您输入或删除数据的唯一地方。假设这是在一个名为raw data

然后在新工作表上创建一个与原始表格完全相同的新表格table 1。在此工作表的单元格中输入类似以下公式:

=IF('raw data'!A1<>"",A1,"")

对执行相同操作table 2,即使用该公式创建一个新工作表,但适当偏移列。

我认为使用 VBA 进行此操作只会不必要地使您的电子表格复杂化,并会涉及“隐藏”功能,这可能会导致将来调试或移交困难。

相关内容