• 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.

Opslaan als in excel 2007

Status
Niet open voor verdere reacties.

Jan Vliegen

Nieuwe gebruiker
Lid geworden
22 aug 2008
Berichten
3
Ik probeer een macro te maken die een factuur opslaag op naam van het factuurnummer.
Het nummer staat in C1.
De macro is als volgt geprogrammeerd

Code:
Sub Macro1()

Dim Bestandsnaam As String

Bestandsnaam = "C:\Leo\" & CStr(Range("C1").Value) & ".xls"
ThisWorkbook.SaveAs Bestandsnaam


End Sub

Bij uitvoering geeft hij echter altijd een fout bij de laatste regel: ThisWorkbook.SaveAs Bestandsnaam

Wat kan de fout zijn?

Jan Vliegen
 
Laatst bewerkt door een moderator:
Jan,

probeer volgende code eens:

Code:
Sub Macro1()

Dim Bestandsnaam As String

Bestandsnaam = "C:\Leo\" & CStr(Range("C1").Value) & ".xls[B]m[/B]"
Me.SaveAs [B]Filename:=[/B]Bestandsnaam

End Sub
 
Probeer deze eens.

Code:
Dim Bestandsnaam as String
Bestandsnaam  = "C:\Leo"
Sheets("Jou sheet naam ").Range("C1").Select
ActiveWorkbook.SaveAs Filename:=Bestandsnaam & "\" & ActiveCell & ".xls ", FileFormat:=xlXLS, CreateBackup:=False
 
Geeft dezelfde foutmelding:Kan de programmacode in uitvoeren in de onderbrekingsmodus

Jan,

probeer volgende code eens:

Code:
Sub Macro1()

Dim Bestandsnaam As String

Bestandsnaam = "C:\Leo\" & CStr(Range("C1").Value) & ".xls[B]m[/B]"
Me.SaveAs [B]Filename:=[/B]Bestandsnaam

End Sub
 
Probeer deze eens.

Code:
Dim Bestandsnaam as String
Bestandsnaam  = "C:\Leo"
Sheets("Jou sheet naam ").Range("C1").Select
ActiveWorkbook.SaveAs Filename:=Bestandsnaam & "\" & ActiveCell & ".xls ", FileFormat:=xlXLS, CreateBackup:=False

Wat bedoel je met "Sheet naam"? Naam van de file is gewoon het nummer wat in C1 staat.
Ook hier de foutmelding :Kan de programmacode in uitvoeren in de onderbrekingsmodus

Jan
 
Ook hier de foutmelding :Kan de programmacode in uitvoeren in de onderbrekingsmodus
Jan Vliegen,

Je moet even in de vba editor op het vierkantje klikken.
 
Het gaat mis als:
- als er geen C drive is
- als je geen schrijfrechten op C hebt
- als er niets in range(C1") staat
om dat alles uit te sluiten:

Code:
Sub Macro1()
  ThisWorkbook.SaveAs application.defaultfilepath & "test" & sheets(1).Range("C1").Value & ".xls"
End Sub

PS. We slaan bestanden op; waneer die zijn opgeslagen kunnen we die opgeslagen bestanden wederom opslaan. Daarom sloegen we ze uiteraard eerst op. Of een macro het bestand opslaat of wijzelf maakt niet uit. Wie dit werkwoord verkeerd gebruikt verdient natuurlijk een virtueel pak slaag.
 
Laatst bewerkt:
Wat bedoel je met "Sheet naam"? Naam van de file is gewoon het nummer wat in C1 staat.
Ook hier de foutmelding :Kan de programmacode in uitvoeren in de onderbrekingsmodus

Jan

Elk werkblad binnen excel heeft een cel die C1 heet.
Als er de mogelijkheid is dat de gebruiker er van op een andere sheet aan het werk is en dan de code activeert zal deze een error vertonen.
De text "Jou Sheet naam" moet jij daarom dan ook vervangen met de naam van de sheet waar je het over hebt.

Als je er zeker van bent dat er nooit op een andere sheet gewerkt wordt en dat de sheet waar het nummer in C1 staat altijd actief is dan hoef je natuurlijk de sheet naam niet op te geven.

Dan kan je van de code
Code:
Sheets("Jou sheet naam ").Range("C1").Select
deze code maken.
Code:
Range("C1").Select
 
Misschien dit in de macro verwerken:
Code:
SaveAs FileName:=bestand, _
                    FileFormat:=52
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan