• 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 werkt niet

Ik heb het vermoeden dat dit iets met de printer te maken heeft.
Klopt het dat je ook deze foutmelding krijgt?
Code:
1004 - De huidige printer is niet beschikbaar. Selecteer een andere printer.
 
Werkt prima hier met mijn test.
Wel de code iets vereenvoudigd.
Wat is de foutmelding die je krijgt?
Code:
Sub sluiten()
    Dim FacName As String
    'FacName = "C:\Users\DickRhetap\Rhetap\Rhetap - Documenten\Documenten\D.v.Rhee Holding\Facturen [Verzonden]\Fact " & Range("E18").Value & ".pdf"
    FacName = "C:\Users\Ed\Desktop\Facturen [Verzonden]\Fact " & Range("E18").Value & ".pdf"
 
    If Dir(FacName) <> "" Then
        MsgBox "Het bestand: " & FacName & " bestaat reeds"
    Else
        ActiveSheet.ExportAsFixedFormat 0, FacName
        Range("E18").Value = Range("E18").Value + 1
        Range("B12").Select
        ActiveWorkbook.Close savechanges:=True
    End If
End Sub
 
Laatst bewerkt:
Ik heb de vereenvoudigde code 1 op 1 overgenomen in het Excelbestand.
In de 2 bijlagen de foutmelding.
 

Bijlagen

  • Factuur management ori.xlsm
    Factuur management ori.xlsm
    437,6 KB · Weergaven: 5
  • foutmelding.webp
    foutmelding.webp
    9,6 KB · Weergaven: 15
  • foutmelding2.webp
    foutmelding2.webp
    26 KB · Weergaven: 16
Je moet in die macro uiteraard wel je eigen foldernamen gebruiken.
Nu staat mijn test info er in.
 
Ik heb voor de test info een ' gezet, maar ik blijf de foutmelding houden.
 

Bijlagen

  • foutmelding.webp
    foutmelding.webp
    56,9 KB · Weergaven: 12
Welke regel wordt geel als je op Foutopsporing klikt?
Wat staat er precies in cel E18?
 
Getest en goedgekeurd. Als het bij jou niet werkt scheelt er duidelijk iets met het pad naar de folder.
Code:
Sub sluiten()
    Dim FacName As String, fName As String
    With Sheets("Factuur")
        FacName = "C:\Users\DickRhetap\Rhetap\Rhetap - Documenten\Documenten\D.v.Rhee Holding\Facturen [Verzonden]\"
        fName = "Fact " & .Range("E18").Value
        If Dir(FacName & fName & ".pdf") <> "" Then
            MsgBox "Het bestand: " & Chr(10) & Chr(9) & FacName & fName & ".pdf" & Chr(10) & " bestaat reeds!"
        Else
            .ExportAsFixedFormat 0, FacName & fName
            .Range("E18").Value = .Range("E18").Value + 1
            Application.Goto .Range("B12")
            ActiveWorkbook.Close True
        End If
    End With
End Sub
 
Als het pad wel in orde is kan het ook zo zijn dat de inhoud van E18 een teken bevat dat niet in een bestandsnaam mag worden gebruikt.
Vandaar mijn vraag in #7.

Overigens had ik mijn voorbeeld in #3 uiteraard ook getest en in orde bevonden.
Als je een MsgBox zo netjes opmaakt zou ik er ook nog vbInformation of vbExclamation achter zetten ;)
 
Laatst bewerkt:
Volgens het vb is het gewoon een nummer (dat volgens de code telkens met 1 wordt verhoogd na elke export) dus normaal gezien zou daar het probleem niet mogen liggen.
Jouw code werkt uiteraard ook feilloos maar ik heb er voor de zekerheid toch maar een expliciete verwijzing naar het factuurblad aan toegevoegd. (ben geen grote fan van ActiveSheet)
 
De macro wordt gestart met een knop op het werkblad en dan is ActiveSheet sowieso overbodig, maar voor sommige opdrachten is een verwijzing naar het werkblad of een Range verplicht.
Bericht automatisch samengevoegd:

Volgens het vb is het gewoon een nummer (dat volgens de code telkens met 1 wordt verhoogd na elke export) dus normaal gezien zou daar het probleem niet mogen liggen.
Daar heb je helemaal gelijk in.
 
Laatst bewerkt:
Terug
Bovenaan Onderaan