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

Foutmelding bij vba code

Status
Niet open voor verdere reacties.

bowlingman

Gebruiker
Lid geworden
17 okt 2007
Berichten
433
Hallo,
Ik heb in één van mijn progjes voor onze bowlingscores de volgende vba code in een module staan
Code:
Sub Wissen()
If MsgBox("Alle scores worden gewist! Wilt U doorgaan,", vbYesNo) = vbYes Then
  For j = 1 To 25
        Sheets("speeldag " & j).Range("A4:B6,G4:L6,R4:S6,X4:AC6,A20:B22,G20:L22,R20:S22,X20:AC22,A36:B38,G36:L38,R36:S38,X36:AC38").ClearContents
  Next j
    End If
End Sub
En dit werkt perfect.
Nu zet ik in mijn ander prog de volgende code (ook in een module)
Code:
Sub Wissen()
If MsgBox("Alle scores worden gewist! Wilt U doorgaan,", vbYesNo) = vbYes Then
  For j = 1 To 25
        Sheets("Speeldag " & j).Range("A4:B7,G4:L7,R4:S7,X4:AC7" & _
                                      "A22:B25,G22:L25,R22:S25,X22:AC25" & _
                                      "A40:B43,G40:L43,R40:S43,X40:AC43" & _
                                      "A58:B61,G58:L61,R58:S61,X58:AC61" & _
                                      "A76:B79,G76:L79,R76:S79,X76:AC79" & _
                                      "A94:B97,G94:L97,R94:S97,X94:AC97" & _
                                      "A112:B115,G112:L115,R112:S115,X112:AC115" & _
                                      "A130:B133,G130:L133,R130:S133,X130:AC133").ClearContents
  Next j
    End If
End Sub
En dan krijg ik de melding " Fout 1004, Door toepassing of door Object gedefinieerde fout"
Waar doe ik ergens fout.

Grtjs.
Armand
 
Je mist achter iedere regel een komma. Maak er eens dit van:
Code:
Sheets("Speeldag " & j).Range("A4:B7,G4:L7,R4:S7,X4:AC7," & _
                              "A22:B25,G22:L25,R22:S25,X22:AC25," & _
                              "A40:B43,G40:L43,R40:S43,X40:AC43," & _
                              "A58:B61,G58:L61,R58:S61,X58:AC61," & _
                              "A76:B79,G76:L79,R76:S79,X76:AC79," & _
                              "A94:B97,G94:L97,R94:S97,X94:AC97," & _
                              "A112:B115,G112:L115,R112:S115,X112:AC115," & _
                              "A130:B133,G130:L133,R130:S133,X130:AC133").ClearContents

Dan gaat het nog niet goed omdat het maximum aantal argumenten voor het Range object wordt overschreden.
Haal er hierboven maar eens 1 regel tussen uit.
 
Hallo,
Ik heb geprobeert met overal een komma te plaatsen en dat lukt ook niet.
Ik heb dan ook nog een regel weg gehaald
Code:
Sub Wissen()
If MsgBox("Alle scores worden gewist! Wilt U doorgaan,", vbYesNo) = vbYes Then
  For j = 1 To 25
        Sheets("Speeldag " & j).Range("A4:B7,G4:L7,R4:S7,X4:AC7, _
                                       A22:B25,G22:L25,R22:S25,X22:AC25, _
                                       A40:B43,G40:L43,R40:S43,X40:AC43, _
                                       A58:B61,G58:L61,R58:S61,X58:AC61, _
                                       A76:B79,G76:L79,R76:S79,X76:AC79, _
                                       A94:B97,G94:L97,R94:S97,X94:AC97, _
                                       A112:B115,G112:L115,R112:S115,X112:AC115").ClearContents"
  Next j
    End If
End Sub
Dan zet hij vanaf "Range" alles in het rood en krijg ik de melding "Verwacht : lijstscheidingsteken of )"
 
Je mist nu bij iedere regel de " er voor en er achter. Kijk naar mijn voorbeeld en haal daar een regel tussen weg.
 
Laatst bewerkt:
Die moet toch wel werken:
Code:
Sub Wissen()
If MsgBox("Alle scores worden gewist! Wilt U doorgaan,", vbYesNo) = vbYes Then
  For j = 1 To 25
        Sheets("Speeldag " & j).Range("A4:B7,G4:L7,R4:S7,X4:AC7,A22:B25,G22:L25,R22:S25,X22:AC25,A40:B43,G40:L43,R40:S43,X40:AC43,A58:B61,G58:L61,R58:S61,X58:AC61,A76:B79,G76:L79,R76:S79,X76:AC79,A94:B97,G94:L97,R94:S97,X94:AC97,A112:B115,G112:L115,R112:S115,X112:AC115").ClearContents
  Next j
    End If
End Sub
 
Klopt, maar dan is die hele brede regel niet meer in stukken verdeeld en ik dacht dat dat was wat hij wilde.
Het is aan TS :)
 
@Edmoor
Eventjes niet opgelet.
Eerst de komma's vergeten en vervolgens de komma's op een verkeerde plaats gezet.
En wel degelijk 1 argument te veel.
Lukt nu prima
Ga ik nu eens zien of ik dit laatste argument met een nieuwe "For-Next" bij te voegen lukt.

@Cobbe
Ja op die manier lukte het tot ik dat laatste argument erbij zette.
Daarom dat ik de regel wou splitsen, voor een beetje meer duidelijkheid.

Bedankt Jongens
Grtjs.
Armand
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan