bestaande macro via macro kopieeren naar ander workbook

Status
Niet open voor verdere reacties.

Kristinho1978

Gebruiker
Lid geworden
2 jul 2015
Berichten
96
Ik heb een .xlsm file met daarin o.a. een rapport en twee macro's.
Een van de macro's (''CreateReportCopy'') kopieert het rapport naar een nieuwe .xlsm file (ReportNew).
De andere macro (''CreateLayout'') zorgt ervoor dat het rapport in een juiste layout verschijnt.


Sub CreateReportcopy()

Sheets("Pivot").Select
ActiveSheet.PivotTables("PivotTable1").PivotFields("Function").ClearAllFilters
ActiveSheet.PivotTables("PivotTable1").PivotFields("Function").CurrentPage = _
"(All)"
Sheets("Pivot").Select
Sheets("Pivot").Copy
ActiveWorkbook.SaveAs Filename:= _
"C:\ReportNew.xlsm" _
, FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
ActiveWindow.Close

End Sub


Nu zou ik graag hebben dat de macro Layout ook meegekopieerd wordt naar de nieuwe .xlsm file, zodat degene die de file ontvangt, deze macro niet op zijn of haar computer hoeft te hebben maar de macro gelijk via een button in de file ReportNew kan aanroepen. [De button wordt al meegekopieerd vanuit het originele rapport. De inhoud van de mee te kopieren macro CreateLayout is verder niet relevant.]

Hoe kan ik de macro CreateLayout 1 op 1 via de macro CreateReportCopy meekopieren? Welke regel(s) moet ik toevoegen?
-
 
Eerst nog een beetje poetsen:

Code:
Sub M_snb()
  With Sheets("Pivot")
     with .PivotTables("PivotTable1").PivotFields("Function")
         .ClearAllFilters
         .CurrentPage ="(All)"
      end with
      .Copy
   end with

   with ActiveWorkbook
     .SaveAs "C:\ReportNew.xlsm" ,52
     .Close
   end with
End Sub

NB. Je wist toch al dat je 'macrorecordercode' altijd moet fatsoeneren ?
En dat je "Activate' en "select' in VBA moet vermijden/verwijderen ?
Studeer nog eens op With ... End With
De codes die in de codemodule van het werkblad staan worden automatisch meegekopieerd.
 
Laatst bewerkt:
Oke, bedankt voor de tp.

Maar zodra ik het originele bestand sluit, zijn de macro's niet meer zichtbaar in ReportNew.
Hoe krijg ik het voor elkaar dat ze echt onderdeel worden van het nieuwe bestand?
De ontvanger van ReportNew kan nl niet bij het originele bestand.
 
Waarom zie ik ze dan niet als ik beide bestanden sluit en vervolgens alleen ReportNew open?
 
Ik heb er, bij gebrek aan beter, maar voor gekozen om de macro handmatig in ReportNew te zetten.
 
Omdat je ze niet in de codemodule van het te kopiëren werkblad hebt staan.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan