答案1
不幸的是,没有过于复杂的 VBA 宏代码,就无法实现如此强大的关系。您尝试使用单元格引用链接两个单独的工作表/数据库,但两个工作表中都没有可用于在另一工作表中查找一个工作的硬编码唯一 ID。行号不是唯一的,因为它会在插入/删除/排序命令时发生变化。
无论您使用绝对引用(例如 Sheet1!$A$1)、相对引用(Sheet1!A1)、间接引用(INDIRECT("Sheet1!A1"))、命名范围,甚至索引引用(INDEX(Sheet1!$A:$A,1,1)),它们基本上都使用行号和列号作为唯一标识符。当您更改源时,以前称为第 2 行的行现在将成为第 1 行。您最好可以实现自己的标识符,例如“JDoe20220401”,然后对其使用 VLOOKUP。您可以实现 VBA 数据库管理表,在其中使用 VBA 表单专门添加或删除项目。添加或删除将生成密钥并在两个表上添加或删除它。
话虽如此,也许最好只使用一张表并将其克隆用于不同的视图。请参阅相关答案在这里。