`
参与
跨表复制
基础        编号:543        日期:2023/12/18 18:13:18         作者:信步
阅读:0

跨表复制简介(文档最下方实例文件可下载跨表复制模板

跨表复制分为两种模板。一个模板对于一种模式,分别是复制粘贴模式和汇总模式。模板可以使用已有的,也可以重新生成。

1复制粘贴模式:(一行对应一条复制粘贴命令)

源工作簿的指定工作表的指定区域,分别复制粘贴到目标工作簿的指定工作表的指定区域。如图将某个工作簿的不同工作表的指定区域粘贴到指定工作簿指定工作表的不同区域


2汇总模式:(汇总命令以目标区域条数为准,源区域仅作数据区域命名)

源工作簿的指定工作表的指定区域,定义一个区域名称(类似excel的名称管理器)。将定义好的名称在运算规则字段下进行四则运算,运算后的结果,填入目标工作簿的指定工作表的指定区域



使用步骤:

1.生成模板或打开已有模板

2.填写模板中对应的数据

3.点击"开始复制"按钮,运行程序


支持的场景:支持多表;支持隐藏区域;支持多区域;支持工作表隐藏;支持对错误值的处理;支持公式;支持数组公式溢出

不支持的场景:不支持撤销;不支持筛选区域;不支持工作表组



1.复制粘贴模式字段介绍

A-源工作簿路径:路径+文件名+文件后缀,如:C:\源文件夹\源工作簿.xlsx

可以点击S单元格右下角进行选择录入,勾选“选择路径后,自动填写所有表”选项,可以在选择工作簿后将该工作簿下的所有工作表一起录入,否则只录入首个工作表

B-源工作表:工作表名称,如:Sheet1。一个单元格内只能填写一个工作表名称。选择工作簿后,该单元格自动生成下拉菜单,下拉菜单序列为工作簿的所有工作表名。

C-源区域:单元格区域,如:A1:C4 ,可以点击单元格右下角进行选择区域。支持多区域,多个区域使用逗号隔开如:A1:B1,A3:B3。区域支持偏移定位,高级功能符号,详见符号功能偏移区域说明

D-粘贴方式:值,公式,引用。

①    值:结果为纯数据,不带任何公式的数据。

②    公式:若源单元格内有公式,则复制其原来的公式,若无公式则复制单元格内的数据。如源表 A1内容为=1+2 A2内容为3,复制粘贴模式到目标表的对于单元格的数据分别为=1+2 3

③    引用:结果为引用数据源的样式,例如:将源工作簿的A1复制到目标区域的A1,则目标区域的A1会显示=C:\[源工作簿.xlsx]Sheet1!A1

E-目标工作簿路径:路径+文件名+文件后缀,如:C:\源文件夹\源工作簿.xlsx

可以点击单元格右下角进行选择录入,勾选“选择路径后,自动填写所有表”选项,可以在选择工作簿后将该工作簿下的所有工作表一起录入,否则只录入首个工作表

F-目标工作表:工作表名称,如:Sheet1。一个单元格内只能填写一个工作表名称。选择工作簿后,该单元格自动生成下拉菜单,下拉菜单序列为工作簿的所有工作表名。

G-目标区域:单元格区域,如:A1:C4 ,可以点击单元格右下角进行选择区域。支持多区域,多个区域使用逗号隔开如:A1:B1,A3:B3。区域支持偏移定位,高级功能符号,详见符号功能偏移区域说明

F1:G1区域-粘贴时是否保留源格式:粘贴时保留源格式、粘贴时不保留源格式

①粘贴时保留源格式:粘贴时连同单元格格式一起粘贴,单元格格式以源区域格式为准

②粘贴时不保留源格式:粘贴时不粘贴源单元格格式,单元格格式以目标区域格式为准


2.汇总模式字段介绍

A-源工作簿路径: 路径+文件名+文件后缀,如:C:\源文件夹\源工作簿.xlsx

可以点击单元格右下角进行选择录入,勾选“选择路径后,自动填写所有表”选项,可以在选择工作簿后将该工作簿下的所有工作表一起录入,否则只录入首个工作表

B-源工作表: 工作表名称,如:Sheet1。一个单元格内只能填写一个工作表名称。选择工作簿后,该单元格自动生成下拉菜单,下拉菜单序列为工作簿的所有工作表名。

C-源区域: 单元格区域,如:A1:C4 ,可以点击单元格右下角进行选择区域。支持多区域,多个区域使用逗号隔开如:A1:B1,A3:B3。区域支持偏移定位,高级功能符号,详见符号功能偏移区域说明

D-区域名称: 仅汇总模式下可使用,用于方便计算,将源工作簿路径+源工作表+源区域的信息定义成一个名称,如:数量、单价;

①    区域名称不能为纯数字

②    不能带有空格和四则运算符号(+-*/

E-存放方式:值,公式,引用。

①    值:结果为纯数据,不带任何公式的数据。

②    公式:若源单元格内有公式,则复制其原来的公式,若无公式则复制单元格内的数据。如源表 A1内容为=1+2 A2内容为3,汇总模式若是A1+A2,则指定单元格显示为6,结果为=1+2+3

③    引用:结果为引用数据源的样式,汇总模式下例如:需要A1+A1,则会显示=C:\[源工作簿.xlsx]Sheet1!A1+C:\[源工作簿.xlsx]Sheet1!A1

F-目标工作簿路径: 路径+文件名+文件后缀,如:C:\源文件夹\源工作簿.xlsx

可以点击单元格右下角进行选择录入,勾选“选择路径后,自动填写所有表”选项,可以在选择工作簿后将该工作簿下的所有工作表一起录入,否则只录入首个工作表

G-目标工作表: 工作表名称,如:Sheet1。一个单元格内只能填写一个工作表名称。选择工作簿后,该单元格自动生成下拉菜单,下拉菜单序列为工作簿的所有工作表名。

H-目标区域: 单元格区域,如:A1:C4 ,可以点击单元格右下角进行选择区域。支持多区域,多个区域使用逗号隔开如:A1:B1,A3:B3。区域支持偏移定位,高级功能符号,详见符号功能偏移区域说明

I-运算规则:仅汇总模式下可使用,将定义好的名称进行四则运算,如已定义:C:\[源工作簿.xlsx]价格表!A1:C2 为 价格;C:\[源工作簿.xlsx]数量!A1:C2 为 数量,则运算规则可以填写 价格*数量,点击开始复制后会在指定单元格录入这个相乘后的结果。

①    仅支持四则运算,即加,,,,括号

②    运算的两个区域大小需要完全相同

③    可以支持加入纯数字进行计算如(价格+1)*数量-50

④    运算区域的数据类型要为数值,文本不能参与计算



3.符号功能偏移区域说明

符号功能:

整张表的有效区域符

** :表的有效数据区域


填写区域:

[地址]: 填写区域地址,例如:[A2:F8]


区域前的符号:

a* 该区域的有效区域

例:*[A1:F20]A1:F20的有效区域



b# 扩展区域

例:#[A8] , 区域A8CurrentRegion区域


④查找符号

a^ 向上找到最上方数据的行

[A5:C5]^ 向上找将得到A2:C2


b$ 向下找到最后有数据的行

[A5:C5]$ 向下找将得到A8:C8

c> 向右找到最右边有数据的列

[A1:A5]> 向右找将得到D1:D5

d< 向左找到最左边有数据的列

[E1:E5]< 向左找将得到B1:B5

⑤偏移符:必须跟查找符结合使用

a”+”

例: [A5:C5]^+1[A5:C5]^ 向上找到A2:C2,往下偏移1行,最终结果为A3:C3




b” –“

例: [A5:C5]^-1[A5:C5]^ 向上找到A2:C2,往上偏移1行,最终结果为A1:C1

注:可符号结合使用

*[B1:F5]$+1 : 获取B1:F5的有效区域后,向下找到最后有数据的行,然后向下偏移1


特殊情况:偏移找不到数据时,则会返回原来的区域

1.向上偏移和向左偏移

[B3:D5]^找不到有数据的行,返回第一行B1:D1



[B3:D5]<找不到有数据的列,返回第一列,A3:A5


2.向下偏移和向左偏移


[B3:D5]$找不到有数据的行,返回该区域最后一行B5:D5


[B3:D5]>找不到有数据的列,返回该区域最后一列D3:D5