Avatar billede hbl Juniormester
05. april 2025 - 17:27 Der er 4 kommentarer og
1 løsning

Filnavn forslag ved brug af skabelon

Hej.
Jeg har lavet en skabelon i Excel, og jeg vil gerne have at de kopier som bliver oprettet via denne skabelon, bliver navngivet, og arkiveret i mapper ud fra celleoplysninger i arket.


Eksemplet kunne være:

  Celleværdier:                                              ( Output: )
 
Celle A1:Medlemsnummer                          (1458)
  Celle A2:Medlems by                                  (Køge)
  Celle A3:Status                                            (God)

  Celle A4:=A1&"-"&A3                                  (1458-God)
  Celle A5:="C:\Mappe1\"&A2&"-"&A3          (C:\Mappe1\Køge-God)


Ud fra dette, vil jeg gerne have udfyldt felter i dialogboksen "Gem som" med forslag til filnavn og placering, når kopien gemmes.

Filplacering: =Celle A5
Filnavn:=Celle A4

Er dette muligt at skrive sig ud af med VBA?
Avatar billede Peter Professor
06. april 2025 - 08:52 #1
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Dim filePath As String
    Dim fileName As String

    ' Hent værdier fra cellerne
    filePath = Worksheets("Sheet1").Range("A5").Value ' Husk at tilpas ark-navnet!
    fileName = Worksheets("Sheet1").Range("A4").Value ' Husk at tilpas ark-navnet!

    ' Sammenkæd filplacering og navn
    Application.EnableEvents = False
    Cancel = True
    ThisWorkbook.SaveAs Filename:=filePath & "\" & fileName
    Application.EnableEvents = True
End Sub
Avatar billede hbl Juniormester
06. april 2025 - 11:33 #2
Tak for hurtig tilbagemelding.
Jeg kan nu ikke få det til at virke.

Jeg har lavet et test ark, som jeg har valgt at kalde "master", indsat kode som beskrevet, og ændret ark-navne, gemt det som skabelon med aktive makroer (*.xltm), og når jeg åbner dette, og laver ændringer i det, og gemmer, foreslår det blot filnavn som "master1", og Path har ikke ændret sig.
Avatar billede Peter Professor
06. april 2025 - 13:54 #3
Jeg spurgte lige vores "ven" Grok (AI)
Den kom med dette
https://grok.com/share/bGVnYWN5_2e579d0d-17f8-4f18-8918-96725ef4085f
Avatar billede hbl Juniormester
06. april 2025 - 15:27 #4
Mange tak for hjælpen.

Mit testrpogram kører perfekt, nu skal jeg bare have det bygget ind i min skabelon.
Avatar billede hbl Juniormester
07. april 2025 - 19:08 #5
Hej.

Jeg var lige hurtig nok til at række armene over hovedet her.

Jeg får en fejl når jeg kører denne makro, og jeg mener at have fundet ud af at det er fordi jeg prøver at gemme en projektmappe (*.xlxs), og det udløser en fejl da mappen indeholder makroer.
Jeg kan dog ikke "tvinge" filforslaget til at være en mappe med aktive makro (*.xlsm).
Jeg har både prøve at ændre det i VBA koden, og direkte i celle A4, men koden bliver ved ed at foreslå at gemme som *.xlxs.

Er der et eller andet jeg overser?

Her er koden som kører fint, hvis jeg manuelt ændrer filtypen til *.xlsm, går det glat igennem.

Sub SaveAsWithDynamicNameAndPath()
    Dim wb As Workbook
    Dim FileName As String
    Dim FilePath As String
    Dim FullPath As String
   
    ' Sæt reference til den aktive workbook
    Set wb = ActiveWorkbook
   
    ' Hent værdier fra cellerne
    FileName = ThisWorkbook.Sheets("Ark1").Range("A4").Value ' 1458-God
    FilePath = ThisWorkbook.Sheets("Ark1").Range("A5").Value ' C:\Mappe1\Køge-God
   
    ' Sørg for at tilføje filtypenavn (.xlsx)            Har jeg herunder ændret til xlsm

    FullPath = FilePath & "\" & FileName & ".xlsm"
   
    ' Tjek om mappen eksisterer, hvis ikke, opret den
    If Dir(FilePath, vbDirectory) = "" Then
        MkDir FilePath
    End If
   
    ' Åbn "Gem som" dialogboksen med det foreslåede navn og sti
    With Application.FileDialog(msoFileDialogSaveAs)
        .InitialFileName = FullPath
        .Show
        If .SelectedItems.Count > 0 Then
            wb.SaveAs .SelectedItems(1)
        End If
    End With
End Sub
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Stort udvalg af Excel kurser til alle niveauer og jobfunktioner

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester