• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Macro opslaan als met waarde uit cel van een bepaald bladnaam

Status
Niet open voor verdere reacties.

peter59

Terugkerende gebruiker
Lid geworden
21 mei 2007
Berichten
2.711
Besturingssysteem
Windows 11
Office versie
Office 365
Hallo,

Ik ben aan het stoeien om een code te creëren voor het opslaan als met celwaarde van een bepaald bladnaam.
Dit heb ik getracht met de macrorecorder voor elkaar te krijgen maar helaas.
Zie onderstaand in de code in het rood wat mijn bedoeling is.
Er staat vlgs mij ook bagger in de opgenomen code.
Tevens was het ook de bedoeling om het e.e.a. op te slaan als xlsx en niet xlsm.

Ik heb geprobeerd om een voorbeeldje te maken maar was in zijn geheel niet meer representatief.
Ik hoop dat het op deze manier gaat lukken.
Dank alvast voor het meedenken.

Mvg
Peter

Code:
Sub OpslaanAls()
    Sheets("Dat").Select
    Range("A2:D2").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Slicers").Select
    Application.CutCopyMode = False
    ChDir "E:\Nieuwe downloads\00 Weekplanning\Weekplanning\Plants Weekplanning"
    ActiveWorkbook.SaveAs Filename:= _
        "E:\Nieuwe downloads\00 Weekplanning\Weekplanning\Plants Weekplanning\[COLOR="#FF0000"]hier dient de waarde van bladnaam "Dat" celwaarde C2 te komen[/COLOR] tbv Weekplanning PLANTS.xlsm" _
        , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
    ActiveWorkbook.RunAutoMacros Which:=xlAutoClose
End Sub
 
zo?
Code:
Sub OpslaanAlsXlsx()
    ActiveWorkbook.SaveAs Sheets("Dat").Range("D2"), 51
End Sub
 
Laatst bewerkt:
Hallo Timshel

Dank voor je genomen moeite.
Je hebt mij al heel goed op weg geholpen.
Ik heb je code in het onderstaande geïmplementeerd.
Alleen was mijn bedoeling om het bestandje in
"E:\Nieuwe downloads\00 Weekplanning\Weekplanning\Plants Weekplanning" op te slaan.
Nu wordt het bestandje opgeslagen in "Mijn documenten" wat eigenlijk niet de bedoeling is.

Code:
Sub OpslaanAls()

    Sheets("Dat").Select
    Range("A2:D2").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Slicers").Select
    Application.CutCopyMode = False
    ChDir "E:\Nieuwe downloads\00 Weekplanning\Weekplanning\Plants Weekplanning"
    ActiveWorkbook.SaveAs "Wk " & Sheets("Dat").Range("C2") & " planning Plants", 51 _
        , CreateBackup:=False
    ActiveWorkbook.RunAutoMacros Which:=xlAutoClose
    
End Sub

Mvg
Peter
 
Doe het eens zo:
Code:
Sub OpslaanAls()
    Dim Pad As String
    Sheets("Dat").Select
    Range("A2:D2").Select
    Selection.Copy
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Sheets("Slicers").Select
    Application.CutCopyMode = False
    Pad = "E:\Nieuwe downloads\00 Weekplanning\Weekplanning\Plants Weekplanning"
    ActiveWorkbook.SaveAs Pad & "\Wk " & Sheets("Dat").Range("C2") & " planning Plants", 51 _
        , CreateBackup:=False
    ActiveWorkbook.RunAutoMacros Which:=xlAutoClose
    
End Sub
 
Hallo Edmoor

Heel hartelijk dank voor je hulp.
Ik heb wel even gestoeid met het onderstaande gedeelte van de code.
Ik had in eerste instantie de \ weg gehaald in de veronderstelling dat deze in de tekst werd mee genomen.
Wat blijkt? Niet dus. Je code is voor mij 100% correct.
Alleen vraag ik me af wat die \ daar voor een functie heeft.

Nogmaals Edmoor en Timshel, heel hartelijk dank voor deze toch wel zeer snelle hulp.

Code:
ActiveWorkbook.SaveAs Pad & "[B][/B][COLOR="#FF0000"]\[/COLOR]Wk " & Sheets("Dat").Range("C2") & " planning Plants", 51 _

Mvg
Peter
 
Die \ is het scheidingsteken tussen het pad en de bestandsnaam. Als je die in het pad opneemt mag hij weg waar hij nu staat.
 
Oké Edmoor

Waar dien ik deze dan neer te zetten?

Mvg
Peter
 
Als laatste teken in de waarde van Pad.
 
Edmoor,

Gelukt!!!

Nogmaals hartelijk dank.

Mvg
Peter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan