Print side | Luk vindue

Oprette mappe via makro

Udskrevet fra: Dansk Regneark Forum
Kategori: Hjælp til regneark.
Forum navn: Makro og VBA
Forum beskrivelse: Hjælp til Makroer og VBA-programmering
Web-adresse: https://forum.excel-regneark.dk/forum_posts.asp?TID=5098
Udskrevet den: 03.Dec.2024 kl. 18:38


Emne: Oprette mappe via makro
Besked fra: Nignag
Emne: Oprette mappe via makro
Posteringsdato: 21.Jun.2024 kl. 09:33
Hej Alle
Jeg har lavet en makro som automatisk gemmer mit ark på en bestemt destination og med et genereret filnavn ud fra udvalgte felter.

Men kan gøre sådan, at den opretter en ny mappe ud fra et felt - Eks. D5 som vist nedenfor?


ActiveWorkbook.SaveAs Filename:= _
        "K:\Industri\DIST XX Projekter TLJ\2. Ny ordre - Under behandling\2024\" & Range("D5") & " - " & Range("B19") & " - " & Range("J19").Value _
        , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False



Svar:
Besked fra: maxzpad
Posteringsdato: 24.Jun.2024 kl. 09:28
Jeg mener, du skal tilføje lidt kode, som opretter mappen, såfremt den ikke eksisterer i forvejen, f.eks. i stil med dette:

    If Dir("din filsti/-mappe", vbDirectory) <> "" Then
        MkDir "din filsti/-mappe"
    End If



Besked fra: maxzpad
Posteringsdato: 24.Jun.2024 kl. 09:29
Hov, det skal være " = " , dvs.

    If Dir("din filsti/-mappe", vbDirectory) = "" Then
        MkDir "din filsti/-mappe"
    End If



Besked fra: Nignag
Posteringsdato: 27.Jun.2024 kl. 08:56
Jeg er lidt i tvivl hvordan jeg får den til at at værdien fra et felt - Eks. Range("D5") med i koden?




Besked fra: maxzpad
Posteringsdato: 27.Jun.2024 kl. 14:08
Hvis filstien, der slutter med mappen, står angivet i celle D5, er det sådan her:

    If Dir(Range("D5"), vbDirectory) = "" Then
        MkDir Range("D5")
    End If


Besked fra: Nignag
Posteringsdato: 27.Jun.2024 kl. 14:29
Det lykkedes med følgende makro - tusind tak for hjælpen

If Dir(Range("W9"), vbDirectory) = "" Then
        MkDir Range("W9")
    End If

    ActiveWorkbook.SaveAs Filename:= _
        Range("W9") & Range("D5") & " - " & Range("B19") & " - " & Range("J19").Value _
        , FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False
End Sub




Print side | Luk vindue