Macro schoonmaken witte cellen werkt niet goed

Status
Niet open voor verdere reacties.

basblok

Gebruiker
Lid geworden
11 nov 2011
Berichten
216
Geacht forum,

Ik heb een bestand gemaakt waarbij bij aanvang van een nieuwe finale alle "witte" cellen schoongemaakt dienen te worden. Hiervoor heb ik een knop op het betreffende blad geplaatst welke de macro in werking zet.

Echter worden niet alle opgegeven cellen schoongemaakt:
De cellen op de regels 114:116 op de regels 123:125 en op de regels 132:134 blijven gewoon staan.

Wat heb ik hier niet goed gedaan?

Bij voorbaat dank voor de reactie.
 

Bijlagen

  • Prg. Regio Finale Versie 7-1-2021.xls
    720 KB · Weergaven: 30
En waar staat die macro?
 
Test deze eens, er staan fouten in u code
HTML:
Sub Einde_toernooi()

    Antwoord = MsgBox(" Alle invoer ( Uitslagresultaten ) zal worden verwijderd!  Weet U het zeker? ", vbQuestion + vbYesNo, "Bas Blok")
    If Antwoord = vbNo Then
        Exit Sub
    End If


  
    Range("F6:G8,I6:I8,P6:P8,S6:S8").ClearContents
    Range("F15:G17,I15:I17,P15:P17,S15:S17").ClearContents
    Range("F24:G26,I24:I26,P24:P26,S24:S26").ClearContents
    Range("F33:G35,I33:I35,P33:P35,S33:S35").ClearContents
    Range("F42:G44,I42:I44,P42:P44,S42:S44").ClearContents
    Range("F51:G53,I51:I53,P51:P53,S51:S53").ClearContents
    Range("F60:G62,I60:I62,P60:P62,S60:S62").ClearContents
    Range("F69:G71,I69:I71,P69:P71,S69:S71").ClearContents
    Range("F78:G80,I78:I80,P78:P80,S78:S80").ClearContents
    Range("F87:G89,I87:I89,P87:P89,S87:S89").ClearContents
    Range("F96:G98,I96:I98,P96:P98,S96:S98").ClearContents
    Range("F105:G107,I105:I107,P105:P107,S105:S107").ClearContents
    Range("F114:G116,I114:I116,P114:P116,S114:S116").ClearContents
    Range("F123:G125,I123:I125,P123:P125,S123:S125").ClearContents
    Range("F132:G134,I132:I134,P132:P134,S132:S134").ClearContents
    
    MsgBox "Alle gegevens zijn verwijderd !", vbExclamation, "Bas Blok"

End Sub
 
Lijkt mij een for next lus met step 9 mogelijkheid.
 
Macro schoonmaken witte cellen

Beste edmoor,

De macro staat op het blad Uitslagen: de knop verwijst naar de macro einde_toernooi

De wijziging welke je stuurde heeft geen verbetering opgeleverd; de eerder genoemde fout zit er nog in.
Overigens dank voor je snelle reactie.
 
Ik heb niks gestuurd :shocked:
 
@Ed.

Eerste twee regels zijn bestemd voor jou. :D
 
Dit werkt gewoon goed, maar de groene regels bevatten samengevoegde cellen.
Die mag je zelf opzoeken en opheffen.
Code:
Sub Einde_toernooi()
    If MsgBox(" Alle invoer ( Uitslagresultaten ) zal worden verwijderd!  Weet U het zeker? ", vbQuestion + vbYesNo, "Bas Blok") = vbNo Then
        Exit Sub
    End If

    Range("F6:G8,I6:I8,P6:P8,S6:S8").ClearContents
    Range("F15:G17,I15:I17,P15:P17,S15:S17").ClearContents
    Range("F24:G26,I24:I26,P24:P26,S24:S26").ClearContents
    Range("F33:G35,I33:I35,P33:P35,S33:S35").ClearContents
    Range("F42:G44,I42:I44,P42:P44,S42:S44").ClearContents
    Range("F51:G53,I51:I53,P51:P53,S51:S53").ClearContents
    [COLOR="#008000"]'Range("F60:G62,I60:I62,P60:P52,S60:S62").ClearContents[/COLOR]
    Range("F69:G71,I69:I71,P69:P71,S69:S71").ClearContents
    Range("F78:G80,I78:I80,P78:P80,S78:S80").ClearContents
    Range("F87:G89,I87:I89,P87:P89,S87:S89").ClearContents
    Range("F96:G98,I96:I98,P96:P98,S96:S98").ClearContents
    [COLOR="#008000"]'Range("F105:G107,I105:I107,P105:P107,S1058:S107").ClearContents[/COLOR]
    Range("F114:G116,I114:I116,P114:P116,S114:S116").ClearContents
    Range("F123:G125,I123:I125,P123:P125,S123:S125").ClearContents
    Range("F132:G134,I132:I134,P132:P134,S132:S134").ClearContents
    
    MsgBox "Alle gegevens zijn verwijderd !", vbExclamation, "Bas Blok"
End Sub

Of doe een keer dit:
Code:
ActiveSheet.Cells.UnMerge
 
Laatst bewerkt:
Zoals ik al zei fout in de code

HTML:
Sub Einde_toernooi()
    If MsgBox(" Alle invoer ( Uitslagresultaten ) zal worden verwijderd!  Weet U het zeker? ", vbQuestion + vbYesNo, "Bas Blok") = vbNo Then
        Exit Sub
    End If

    Range("F6:G8,I6:I8,P6:P8,S6:S8").ClearContents
    Range("F15:G17,I15:I17,P15:P17,S15:S17").ClearContents
    Range("F24:G26,I24:I26,P24:P26,S24:S26").ClearContents
    Range("F33:G35,I33:I35,P33:P35,S33:S35").ClearContents
    Range("F42:G44,I42:I44,P42:P44,S42:S44").ClearContents
    Range("F51:G53,I51:I53,P51:P53,S51:S53").ClearContents
    'Range("F60:G62,I60:I62,P60:P52,S60:S62").ClearContents ' moet zijn
    Range("F60:G62,I60:I62,P60:P62,S60:S62").ClearContents
    Range("F69:G71,I69:I71,P69:P71,S69:S71").ClearContents
    Range("F78:G80,I78:I80,P78:P80,S78:S80").ClearContents
    Range("F87:G89,I87:I89,P87:P89,S87:S89").ClearContents
    Range("F96:G98,I96:I98,P96:P98,S96:S98").ClearContents
    'Range("F105:G107,I105:I107,P105:P107,S1058:S107").ClearContents ' moet zijn
 Range("F105:G107,I105:I107,P105:P107,S105:S107").ClearContents
    Range("F114:G116,I114:I116,P114:P116,S114:S116").ClearContents
    Range("F123:G125,I123:I125,P123:P125,S123:S125").ClearContents
    Range("F132:G134,I132:I134,P132:P134,S132:S134").ClearContents
    
    MsgBox "Alle gegevens zijn verwijderd !", vbExclamation, "Bas Blok"
End Sub
 
Of gebruik dit:
Code:
Sub Einde_toernooi()
    If MsgBox(" Alle invoer ( Uitslagresultaten ) zal worden verwijderd!  Weet U het zeker? ", vbQuestion + vbYesNo, "Bas Blok") = vbNo Then Exit Sub
    ActiveSheet.Cells.UnMerge
    cm = Application.Calculation
    Application.Calculation = xlCalculationManual
    For Each cl In ActiveSheet.UsedRange
        If cl.Interior.Color = 16777215 Then cl.ClearContents
    Next cl
    Application.Calculation = cm
    MsgBox "Alle gegevens zijn verwijderd !", vbExclamation, "Bas Blok"
End Sub
Is maar heel iets trager en hoef je niet zo moeilijk te doen met al die ranges.
 
Laatst bewerkt:
Hallo edmoor,

Ik heb nog een keer een poging gedaan met de laatste code, maar het probleem is niet opgeheven.
zie de prt.sc afbeelding.
 

Bijlagen

  • Prt.scr Schoonmaken witte cellen.docx
    183,2 KB · Weergaven: 16
Het voorbeeld in #11 werkt prima in het document dat je plaatste.
 
Laatst bewerkt:
Hallo edmoor,

Je hebt gelijk, het werkt inderdaad goed met die laatste code.
Er valt mij wel iets op; als ik de Macro's weergeef en dan klik op Uitvoeren werkt het goed, maar als ik de knop Witte cellen schoonmaken gebruik zit die fout er weer in.
Moet ik de knop verwijderen en opnieuw die knop maken?
Bedankt voor het eindeloze geduld, maar het gaat om het resultaat, toch?
 
Dan is de betreffende Sub dus niet aan die knop gekoppeld.
 
Gebruik:

Code:
Sub M_snb()
   Blad6.Cells.SpecialCells(2, 1).clearcontents
End Sub
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan