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

Macro probleem bij het wegsaven

Status
Niet open voor verdere reacties.

anne200

Gebruiker
Lid geworden
19 dec 2008
Berichten
18
Goedemorgen allemaal,

Op een forum stond enige tijd geleden een mooi voorbeeld om facturen aan te maken. Uitgaande van dit voorbeeld waren er wat aanpassingen nodig.

Er doet zich echter een probleemp(je) voor met de macro “afsluiten”.

Wat is de bedoeling?

1. Er wordt een leeg Excelblad opgehaald uit C:\facturen\lege factuur.xls
2. Na invulling wordt deze geprint
3. Na het activeren van macro “Afsluiten” zou het volgende moeten gebeuren

• Wegsaven onder naam, jaar en factuur nr

• Blad leegmaken

• Opnieuw wegsaven als leeg blad, het factuur nr blijft bestaan

Probleem:

Alles gaat goed tot dat, per ongeluk voor de tweede keer op de macro “afsluiten” wordt gedrukt. Er wordt dan gevraagd of het bestaande bestand mag worden overschreven.
Als nee wordt ingedrukt komt een foutmelding.

Concreet: als voor de tweede keer op de macroknop “afsluiten” wordt gedrukt zou dit genegeerd moeten worden. Zie voorbeeld.

Weet iemand een oplossing?

Anne
 

Bijlagen

Laatst bewerkt:
Helaas kan ik de bijlage niet openen (corrupt?)
Dan maar een los voorbeeldje wat je zelf verder kunt aanpassen.
met de volgende code kun je zien of een bestand bestaat.

Code:
If Dir(sBestandsnaam) = vbNullString then
      msgbox "factuur bestaat al"
    exit sub
end if
sBestandsnaam is de naam van het factuur bestand plus het volledige pad
Dat zal wel ergens in je code zijn opgenomen (welke ik dus niet kan zien)


mvg leo
 
Helaas kan ik de bijlage niet openen (corrupt?)

Leo,

Voorbeeld opnieuw ingepakt (met een ander prog.) Hopelijk lukt het uitpakken nu wel.

Groeten,
Anne

Dan maar een los voorbeeldje wat je zelf verder kunt aanpassen.
met de volgende code kun je zien of een bestand bestaat.

Code:
If Dir(sBestandsnaam) = vbNullString then
      msgbox "factuur bestaat al"
    exit sub
end if
sBestandsnaam is de naam van het factuur bestand plus het volledige pad
Dat zal wel ergens in je code zijn opgenomen (welke ik dus niet kan zien)


mvg leo
 
Helaas lukt het openen nog steeds niet.
Ligt mogelijk aan de pc/netwerk hier.
Op mn werk:o
 
Gelukkig zijn er heel wat meer helpmijers, vanavond nl bbq:D
Anders daarna.
 
Probeer deze eens
Code:
Sub Afsluiten()
 Dim strFile As String
With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
End With
strFile = Dir("C:\Facturen\" & [AA2] & ".xls")
    If strFile <> "" Then
    MsgBox "factuur bestaat reeds"
    Exit Sub
Else
    ActiveWorkbook.SaveAs "C:\Facturen\" & [AA2]
    [C18:N47].ClearContents
    [A2].Select
End If
ActiveWorkbook.SaveAs "C:\Facturen\Lege factuur.xls", xlNormal, "", "", False, False
 With Application
    .DisplayAlerts = True
    .ScreenUpdating = True
 End With
End Sub

Mvg

Rudi
 
Laatst bewerkt:
Probeer deze eens
Code:
Sub Afsluiten()
 Dim strFile As String
With Application
    .ScreenUpdating = False
    .DisplayAlerts = False
End With
strFile = Dir("C:\Facturen\" & [AA2] & ".xls")
    If strFile <> "" Then
    MsgBox "factuur bestaat reeds"
    Exit Sub
Else
    ActiveWorkbook.SaveAs "C:\Facturen\" & [AA2]
    [C18:N47].ClearContents
    [A2].Select
End If
ActiveWorkbook.SaveAs "C:\Facturen\Lege factuur.xls", xlNormal, "", "", False, False
 With Application
    .DisplayAlerts = True
    .ScreenUpdating = True
 End With
End Sub

Mvg

Rudi

Rudi,

Wederom heb je me geholpen. Deze code werkt perfect!!! . Het is precies wat ik bedoelde.
Ik vind het altijd knap wat jij en de andere helpers zo rap te voorschijn toveren en dat geheel belangeloos!

Ik ben enorm content met deze code, hartelijk dank hiervoor.

Anne
 
Leo had de voorzet al gegeven, ik had 'm er maar in te trappen. In elk geval bedantkt en succes verder

Mvg

Rudi
 
da's misschien iets te veel eer.:)

In elke geval mooi dat het naar tevredenheid werkt.
(of om in dezelfde termen te blijven, mooi doelpunt)

Groet Leo
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan