Avatar billede ibgn Nybegynder
05. marts 2006 - 13:44 Der er 7 kommentarer

Gemme filer med autom tildelt filnavn

Jeg har konstrueret et excell ark til arbejdssedler.
Jeg ville gerne at det blev gemt automatisk (undet et nyt/ individuelt) navn hver gang arb sedlen bliver skrevet ud, så jeg altid har en kopi på computeren af den aktuelle arb seddel.
Jeg har fået den til at tildele et automatisk nyt arb seddel nummer, men hvordan får jeg den til autom at gemme helst med dette nummer som filnavn.
Avatar billede oyejo Nybegynder
05. marts 2006 - 17:32 #1
du skriver :Jeg har fået den til at tildele et automatisk nyt arb seddel nummer,...


hvis fx dette nummer står i celle "C3" = det sammme som cells(1,3),
kan en løsning se slik ut:

Public Sub Workbook_BeforePrint(Cancel As Boolean)
   
    Dim seddelnavn As String
   
    If Not IsEmpty(Cells(1, 3).Value) Then
      seddelnavn = Cells(1, 3).Text
      Sheets(1).Name = seddelnavn
      Sheets(1).Copy
      ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "\" & seddelnavn
      Windows("Main.xls").Activate
    End If
End Sub
Avatar billede oyejo Nybegynder
05. marts 2006 - 17:35 #2
unnskyld, rettelse..
hvis fx dette nummer står i celle "C1" = det sammme som cells(1,3),
Avatar billede ibgn Nybegynder
06. marts 2006 - 15:01 #3
Mange tak, det virker fint.
Hvor skriver jeg hvor disse filer skal gemmes, således at de kan blive gemt i et underbibliotek ?
Avatar billede oyejo Nybegynder
06. marts 2006 - 15:18 #4
endre denne linje:
....SaveAs Filename:=ThisWorkbook.Path & "\" & seddelnavn
til ....
....SaveAs Filename:=ThisWorkbook.Path & "\navn på din undermappe\" & seddelnavn
Avatar billede oyejo Nybegynder
06. marts 2006 - 15:31 #5
Du kan også samle alle sedler i EN xls bok, slik at de kommer på hver sin fane!
prøvc denne. DU MÅ DA LAGRE EN XLS SOM HETER Seddelbok som sedlene kan kopieres til først.

Public Sub Workbook_BeforePrint(Cancel As Boolean)

    Dim wb(2) As Workbook
    Set wb(1) = ThisWorkbook
    If Not IsEmpty(Cells(1, 3).Value) Then
      Sheets(1).Name = Cells(1, 3).Text
      Workbooks.Open Filename:=ThisWorkbook.Path & "\Seddelbok.xls"
      Set wb(2) = ActiveWorkbook
      wb(1).Activate
      Sheets(1).Copy before:=wb(2).Sheets(1)
      wb(2).Save
      wb(2).Close
      wb(1).Activate
      Set wb(1) = Nothing
      Set wb(2) = Nothing
    End If
End Sub
Avatar billede ibgn Nybegynder
11. marts 2006 - 09:19 #6
Når jeg vil lukke excel arket så spørger den om jeg vil gemme ændringerne i ark 1 - ark 2 -ark 3 (altså alle de nummererede ark jeg har oprettet) Den spørger om alle de nummerede ark der er oprettet, så det er lidt besværlig når jeg skal lukke arket ned igen.
Kan man komme uden om det ?
På forhånd mange tak
Avatar billede oyejo Nybegynder
11. marts 2006 - 10:43 #7
Er litt usikker på hvilken løsning du benytter men generelt.

Hivs du ønser at vba skal lagre regnearket benytter du .SAVE
fx.
ThisWorkbook.Save  eller    wb(1).Save
   
Hvis du ønkser å FORTELLE EXCEL at arket alt er lagret benytter du SAVED
fx.
ThisWorkbook.Saved    eller    wb(1).Saved

når jeg prøver de løsningene som er skissert den 5.mars får ikkke jeg disse spørsmål.
håper du finner ut av det.
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
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

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