VBA-将数据从一个工作簿推送到另一个工作簿,而与文件名无关

时间:2018-09-25 22:42:34

标签: excel vba excel-vba

在这里泡了一段时间(一周左右),希望这个神奇社区中的某个人可以帮助我。对于一个有经验的个人,可能有一个非常简单的解决方案,而我不是。

首先,我的目标如下:通过宏将数据从工作簿A推送到工作簿B。 条件:

工作簿A必须能够重命名而不损害宏(它是日常功能中使用的工具,每次使用时都保存为新名称)。工作簿A包含宏。

工作簿B接收数据。它的名称也会随着时间而变化,但是在这种情况下,它必须基于工作簿A中单元格中的书面文字(由于版本控制,名称每年大约更改一次)。为方便起见,我们仅将其命名为Cell A1。

可能同时打开了其他相关或不相关的工作簿。

为简单起见,我将仅在当前宏中发布一行,但是我将其应用于数十行。当我不重命名文件时,此方法有效。我可能需要帮助来定义变量(字符串?)以及使用哪些函数的方向。

Windows("Workbook_B 4.7.5.xls").Activate
'*Workbook B name will ideally be derived from a cell value in Workbook A*

Range("V12") = "='[Workbook_A V1.2.5 .xlsm]SHEET_A '!R8C7"

在此块中,目标是激活工作簿B并将值(或公式,如果更简单的话)从工作簿A工作表A上的单元格G8复制到工作簿B(工作表已处于活动状态,工作表名称永远不会更改)任一工作簿)。

干杯!

1 个答案:

答案 0 :(得分:0)

“工作簿A包含宏”-在这种情况下,您将使用

ThisWorkbook

参考工作簿A

...和

Workbooks(ThisWorkbook.Sheets("Sheet1").Range("A1").Value)

参考工作簿B