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

Subscript valt buiten bereik

Status
Niet open voor verdere reacties.

corania17

Gebruiker
Lid geworden
1 okt 2012
Berichten
248
Bij een bestand wat eerst wel werkte maar nu niet meer krijg ik de melding "Subscript valt buiten bereik".
Maar welk bereik?
Ik heb de naam veranderd in de beide cellen H3 en H13
Waarom krijg ik nu deze melding?
Iemand een idee?

Met vriendelijke groet, Rubik
 

Bijlagen

  • Map2.xlsm
    22,1 KB · Weergaven: 18
Het werkblad met de naam actie bestaat niet.
 
Daar komt nog bij dat als de pdf wel bestaat en je klikt in de MsgBox op NO de pdf alsnog wordt gemaakt.
 
En het kan een heel stuk leesbaarder worden geschreven.
 
Geachte heren Edmoor en HSV.
Beiden bedankt voor jullie hulp.
Wat de bedoeling is van dit script is dat als er op de print knop op Blad1 wordt gedrukt dat er dan een print wordt gestuurd naar de printer en tevens een kopie wordt bewaard onder een te maken dir met de naam van de activiteit en met de naam van een deelnemer als pdf.
Edmoor ik ben wel benieuwd hoe u dan het script zou schrijven, waar ik weer wat van kan leren.
Maar ik laat het aan u over of u mij verder kan helpen, het werkt nu wel en bedankt daarvoor.

Groeten, Rubik.
 
Zoiets:
Code:
Sub Ticket()
    Blad = Sheets("Scanblad").Range("H13").Value
    Topdir = "C:\printout"

    If Not Evaluate("ISREF('" & Blad & "'!A1)") Then
        MsgBox "Het blad " & Blad & " bestaat niet", vbCritical, "Probleempje"
        Exit Sub
    End If
    
    Doelmap = Topdir & "\" & Blad
    
    [COLOR="#008000"]'Controleer of de doelmappen bestaan[/COLOR]
    If Dir(TopDir, vbDirectory) = "" Then
        MkDir TopDir
    End If
    
    If Dir(TopDir & "\" & Blad, vbDirectory) = "" Then
        MkDir Doelmap
    End If
    
    [COLOR="#008000"]'Bestandsnaam deelnemer[/COLOR]
     pdf = Doelmap & "\" & Blad & " " & Sheets("Scanblad").Range("H3") & ".pdf"
    
    'Check op aanwezigheid PDF
    If Dir(pdf) <> "" Then
        If MsgBox("Een PDF in printout bestaat al." & vbCrLf & "Alsnog opslaan?", vbQuestion + vbYesNo, "PDF bestaat al") = vbNo Then
            Exit Sub
        End If
    End If
    
    [COLOR="#008000"]'Bewaar het formulier[/COLOR]
    Sheets(Blad).ExportAsFixedFormat 0, pdf, , , , , , False
    
    [COLOR="#008000"]'print het formulier naar de printer[/COLOR]
    Sheets(Blad).PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
End Sub

Tevens hoort dat niet in de ThisWorkbook sectie.
 
Laatst bewerkt:
Hartelijk dank EDMOOR voor uw reactie,
Ik heb het script ingevoerd en werkt prima.
Echter is er een ander probleem.
Als cel H3 leeg is dan wordt het pdf bestand wel bewaard maar zonder naam.
Is het mogelijk om als H3 leeg is dat dan cel B3 kan worden geselecteerd omdat B3 een persoonlijk nummer is en altijd aanwezig moet zijn, beide cellen staan in Scanblad.
Is er geen persoonlijk nummer dan wordt de naam van de persoon ingegeven.
Normaal wordt het nummer gescand en zijn de gegevens bekend, zonder scan wordt de naam gebruikt.
Ik hoop niet dat ik nu te veel vraag?

Met vriendelijke groet, Rubik.
 
Splits gelijksoortige gegevens niet in aparte werkbladen, bestanden, directories.
Gebruik slechts onderscheidende bestandsnamen
Dan is 1 regel VBA voldoende:

Code:
activesheet.ExportAsFixedFormat 0, "voorbeeld_ & [Scanblad!H3] & ".pdf"
 
Betreffende je vraag in #7, kijk eens naar deze:
 

Bijlagen

  • Map2.xlsm
    23,8 KB · Weergaven: 8
Beste Edmoor,

Weer bedankt voor de goede raad.
Er zat alleen nog een klein foutje in.
U heeft wel pnr gedefinieerd maar verder niet gebruikt.
'Bestandsnaam deelnemer
pdf = Doelmap & "" & Blad & " " & Sheets("Scanblad").Range("H3") & pnr & ".pdf"
Nu werkt het en kunnen we als er geen nummer bekend is de persoon voorzien van een naam.
Hartelijk dank voor uw moeite en meedenken.

Met vriendelijke groet, Rubik.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan