Werkblad opslaan met behoud van macro's

Status
Niet open voor verdere reacties.

Robert Smidt

Gebruiker
Lid geworden
26 mei 2009
Berichten
901
Beste Helpmij'ers,

Ik ben al een tijd op zoek naar een vba-code die een werkblad (Factuur) opslaat zonder dat de rest van de werkbladen mee gekopieerd worden, bovendien zou ik graag dat de macro, die bij dit werkblad behoort, mee gekopieerd wordt.

De code die ik nu gebruik is"
Code:
Dim pad As String, BestandsNaam As String
pad = ActiveWorkbook.Path + "\3. Offerte\"
BestandsNaam = Sheets("Factuur").[I12].Value & " " & Sheets("Factuur").[i14].Value & " " & [D13].Value
ActiveSheet.SaveAs Filename:=pad & BestandsNaam & ".xlsm"

Bovenstaande code kopieert alle werkbladen mee.

Alvast heel erg bedankt.

Robert
 
Ik weet niet van welk blad [D13], maar ik ga er vanuit dat het ook van blad Factuur is, anders heb je toch niets meer aan de code.

Code in module van Tabblad factuur.
Code:
Copy
ActiveWorkbook.SaveAs thisWorkbook.Path + "\3. Offerte\" & [I12].Value & " " & [i14].Value & " " & [D13].Value, 52
 
Harry, bedankt voor jouw snelle reactie, helaas zit er iets niet goed, bij "Copy" ik krijg een compileerfout nl. Sub of Function is niet gedefineerd.
 
Lees #2 eens helemaal, i.p.v. alleen de code.
 
Ik heb de code in een module gezet en heb net copy gewijzigd in ActiveSheet.Copy

Code:
Sub kopie()
ActiveSheet.Copy
ActiveWorkbook.SaveAs ThisWorkbook.Path + "\3. Offerte\" & [I12].Value & " " & [i14].Value & " " & [D13].Value, 52
End Sub

ik ben dit nog verder aan het testen. In ieder geval slaat hij alleen werkblad "Factuur" op.
 
Haal de code uit de module en plaats het zoals aangegeven in #2.
En verwijder 'Activesheet'.
 
Ik heb het uit de module gehaald en geplaatst in Blad14(Factuur). de code zoals in #2 werkt prima, echter wordt deze nu geactiveerd bij iedere handeling. Het is de bedoeling dat het alleen wordt geactiveerd wanneer ik een kopie van dat werkblad wil maken. Daarom heb ik het in een module staan en werkt het prima wanneer ik Activesheet.copy gebruik. Volgens mij is het probleem nu opgelost. Het valt mij overigens wel op dat wanneer ik een macro vanuit de kopie aanspreek, het moederbestand wordt geopend.

In ieder geval enorm bedankt, wat mij betreft is het probleem voor nu opgelost en ga ik er nog even mee stoeien.
 
Onderstaande kan nooit worden aangeroepen als jij dat niet wil\doet.


Code:
Sub kopie()
 Copy
 ActiveWorkbook.SaveAs ThisWorkbook.Path & "\3. Offerte\" & [I12].Value & " " & [i14].Value & " " & [D13].Value, 52
End Sub

Je vreet waarschijnlijk meer uit dan je lief is (schrijft wat je doet).
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan