Avatar billede ferdinand.k Mester
25. juni 2009 - 22:03 Der er 6 kommentarer og
1 løsning

Navngivning af nye Exceldokumenter

Jeg har et Exceldokument, hvor jeg i første faneblad har en lang liste med navne

Indholdet af faneblad nr 2 indeholder en masse ting som skal kopieres over til et nyt exceldokument og herefter navngives og gemmes.
Jeg ønsker at ende op med 50 kopiere af faneblad nr. 2, hvis man antager at jeg har 50 navne i kolonne A i det første faneblad.

Hvis i ser nedenstående kode, så mangler jeg et stykke kode som laver en lykke og dynamisk udfylder feltet "xxxxxxxxxxxxx" nedenfor.

Giver dette mening ?


Dim Sti As String
Sti = ThisWorkbook.Path & "\" & "Navnedokumenter"

    If Dir(Sti & " " & Format(Date, ("DD-MM-YYYY")), vbDirectory) = "" Then
        MkDir (Sti & " " & Format(Date, ("DD-MM-YYYY")))
    End If

ActiveWorkbook.SaveAs Filename:=Sti & " " & Format(Date, ("DD-MM-YYYY")) & "\" & "Navnedokumenter " & xxxxxxxxxxx & " " & Format(Date, ("DD-MM-YYYY"))
ActiveWorkbook.Save
ActiveWorkbook.Close
Avatar billede kabbak Professor
25. juni 2009 - 22:22 #1
noget i denne stil

Public Sub gem()
    Dim Sti As String, Navne As String, I As Integer, Data As Variant
    Sti = ThisWorkbook.Path & "\" & "Navnedokumenter"
   
    Navne = ThisWorkbook.Sheets(1).Range("A2:A" & Range("A65536").End(xlUp).Row)
   
    If Dir(Sti & " " & Format(Date, ("DD-MM-YYYY")), vbDirectory) = "" Then
        MkDir (Sti & " " & Format(Date, ("DD-MM-YYYY")))
    End If
   
    ThisWorkbook.Sheets(2).Copy
    For I = 1 To UBound(Data)
        ActiveWorkbook.SaveAs Filename:=Sti & " " & Format(Date, ("DD-MM-YYYY")) & "\" & "Navnedokumenter " & Data(I, 1) & " " & Format(Date, ("DD-MM-YYYY"))
        ActiveWorkbook.Save
    Next
    ActiveWorkbook.Close
End Sub
Avatar billede ferdinand.k Mester
26. juni 2009 - 12:17 #2
Halløjsa,
Tak for input.
Jeg får dog en fejl (type mismatch) omkring:    For I = 1 To UBound(Data)
Avatar billede kabbak Professor
26. juni 2009 - 22:35 #3
Min fejl
Navne = ThisWorkbook.Sheets(1).Range("A2:A" & Range("A65536").End(xlUp).Row)

skal være

Data = ThisWorkbook.Sheets(1).Range("A2:A" & Range("A65536").End(xlUp).Row)
Avatar billede ferdinand.k Mester
29. juni 2009 - 07:13 #4
Go'morgen,

Ja den havde jeg godt luret, og nu faldt jeg over en anden brøler :)
I min afsluttende sætning hvor jeg gemmer dokumentet, får jeg fejlen <Subscription out of range>

    For I = 0 To UBound(Data)
    ActiveWorkbook.SaveAs Filename:=Sti & " " & Format(Date, ("DD-MM-YYYY")) & "\" & "VMware Pricelists " & Data(I, 1) & " " & Format(Date, ("DD-MM-YYYY"))
    ActiveWorkbook.Save
    Next
Avatar billede kabbak Professor
29. juni 2009 - 23:48 #5
For I = 1 To UBound(Data)
Avatar billede ferdinand.k Mester
30. juni 2009 - 08:38 #6
mindre detailje...

Takker :)

Ligger du lige et svar
Avatar billede kabbak Professor
30. juni 2009 - 11:46 #7
;-))
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
Kurser inden for grundlæggende programmering

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