将2个vba代码合并为一个

时间:2016-01-28 17:38:13

标签: excel vba

这是一个挑战......我正在尝试将两个vba代码放在一起。说实话,我不知道如何一起编辑这些代码...

第一个宏运行“循环列表”以更新一个文件(文件/工作簿#1)中“名称”工作表中的单元格值,并在发生这些单元格更改时保存文件。 (总共列出了10个名称和最终保存的10个文件)

第二个宏是在工作表“名称”中发生单元格值更改时,然后将其复制到另一个文件(文件#2)中的单元格值,该文件过滤与之关联的数据透视表。刷新数据透视表后,其中的值将反映在文件#1上。

因此,通过将两个代码组合在一起,我希望将文件#1中的单元格值复制到文件#2,以便它过滤文件#2中的数据透视表。过滤后的数据也将反映在文件#2中。最后,保存为代码运行。 这真是令人困惑,我道歉。但任何帮助将不胜感激。

(编辑:还有一件事,文件#2在工作表中有一个vba代码,根据“名称”工作表中的单元格值“D2”过滤我们的数据透视表。)

提前非常感谢你。

Sub Macro1()
Sheets("Loop list").Activate
Range("A2").Select

    Do While True
        If Selection.Value = "" Then
        Exit Do
    Else
        Selection.Copy
        Sheets("Name").Activate
        Range("A1").Activate
        ActiveSheet.Paste

        ActiveWorkbook.SaveAs Filename:="C:\Users\Scott\Desktop" & Sheets("Name").Range("C18").Value & ".xlsx", _
        FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False

    Sheets("Loop list").Activate
    Selection.Offset(1, 0).Select

End If
      Loop
End Sub
Public Sub Macro2()
    Workbooks("File #2.xlsm").Activate
    ActiveWorkbook.Sheets("Pivot").Activate
    Range("D2").Value = Workbooks("File #1.xlsm").Sheets("Name").Range("A1").Value
End Sub

0 个答案:

没有答案