我正在从一个文件复制到另一个文件,我可以看到Excel在源文件和目标文件之间切换(如闪烁).我希望宏从源复制并粘贴到目标,而不在文件之间切换(我不想闪烁).
所以这里我得到了我的Excel VBA代码.我设置了一个Button来运行2个宏.第一个宏是openfiledialog,我可以选择要打开的文件.这是必需的,因为所需的文件总是有不同的名称,并且位于不同的路径中.
打开文件后,我的第二个宏开始(CopyPasteValues),我在下面发布的那个.首先,我设置我的源和目标工作簿/工作表,并创建一个包含16个帐号的数组.
然后我使用find方法搜索每个文件(源和目标)中的帐号.find方法的结果用于在src文件中创建偏移量并将其复制到目标文件中的偏移量.
Sub CopyPasteValues()
Dim srcWb As Workbook 'source Wb
Dim srcWs As Worksheet 'source Ws
Dim trgWb As Workbook 'target Wb
Dim trgWs As Worksheet 'target Ws
Set trgWb = ActiveWorkbook
Set trgWs = trgWb.Sheets("Entry Sheet 20004100")
Set srcWb = Workbooks.Open(Filename:=openedFile, UpdateLinks:=False, ReadOnly:=True, Editable:=False)
Set srcWs = srcWb.Sheets("20004100")
Dim GLAccountField
'Array of 16 Account numbers
GLAccountField = Array(430000, 446030, 477030, 474210, 446075, 472700, 472710, 476000, 476100, 476610, 452200, 454700, 471300, 473110, 490000, 490710)
Dim srcFinder As …Run Code Online (Sandbox Code Playgroud)