Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 9 van 9

Onderwerp: cellen wissen met VBA

  1. #1
    Senior Member
    Geregistreerd
    17 oktober 2007
    Locatie
    Borsbeek (België)
    Vraag is opgelost

    cellen wissen met VBA

    Hallo,
    Ik ga mijn progje voor de scores van onze bowlingliga een beetje aanpassen.
    Het meeste werk is al gedaan, maar nu wou ik nog een button toevoegen om de scores van het voorbije seizoen te wissen.
    Ik weet dat dit gaat met
    Code:
    With Sheets("Speeldagen")
    Intersect(.Range("A:F, J:O"), .Range("5:7, 15:17; 25:27, 35:37")).clearcontents
    End With
    Dit is de code voor 1 speeldag en zo staan er 28 speeldagen in de sheet en gaan de rijen (hierboven in rood zo verder tot en met 1115:1117).
    Om deze rijen allemaal in de code te zetten wordt, zoals jullie begrijpen, dit een heel lange rij getallen.
    Is er een mogelijkheid om al deze rijen cellen in het kort in de code te zetten.

    Grtjs.
    Armand

  2. #2
    Met vriendelijke groet,
    Vergeet niet de vraag als opgelost te zetten als je tevreden ben.

    EA

  3. #3
    Giga Senior
    Verenigingslid
    SjonR's avatar
    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    Een mogelijke oplossing:

    Code:
    Sub SjonR()
    With Sheets("Speeldagen")
    For i = 5 To 1115 Step 10
        For j = 0 To 2
            For ii = 1 To 6
            Cells(i + j, ii).ClearContents
            Next
            For jj = 10 To 15
                Cells(i + j, jj).ClearContents
            Next
        Next
    Next
    End With
    End Sub

  4. #4
    Mega Senior Jack Nouws's avatar
    Geregistreerd
    16 april 2008
    Locatie
    Zundert
    Afstand tot server
    ±150 km
    Met een paar lussen minder
    Code:
    With Sheets("Speeldagen")
      For i = 5 To 1115 Step 10
        .Cells(i, 1).Resize(3, 6).ClearContents
        .Cells(i, 10).Resize(3, 6).ClearContents
      Next
    End With
    
    Wees gelukkig met wat je hebt in plaats van ongelukkig door wat je ontbreekt

  5. #5
    Senior Member
    Geregistreerd
    17 oktober 2007
    Locatie
    Borsbeek (België)
    Bedankt aan de helpers.
    Heb de oplossing van Jack gebruikt en nog enkele persoonlijke aanpassingen gedaan.
    Code:
    Private Sub cmbVoorbereidenSeizoen_Click()
        If MsgBox("Alle scores wprden gewist! Wilt U doorgaan,", vbYesNo) = vbYes Then
            With Sheets("Speeldagen")
                For i = 5 To 1115 Step 10
                .Cells(i, 1).Resize(3, 6).ClearContents
                .Cells(i, 10).Resize(3, 6).ClearContents
                Next
            End With
        End If
            Sheets("LigaData").Select
                With Sheets("LigaData")
                    MsgBox "Seizoen, Startdatum, Speeldatums en Gemiddelden spelers aanpassen", vbExclamation, "Opgelet !"
            End With
    End Sub
    Grtjs.
    Armand

  6. #6
    Senior Member
    Geregistreerd
    17 oktober 2007
    Locatie
    Borsbeek (België)
    Hallo,
    Ik had een foutje in mijn oorspronkelijke vraag gesteld en hierdoor werken de oplossingen van SjonR en Jack niet exact juist.
    De bedoeling is eigenlijk het volgende.

    In kolommen A t/m H en J t/m O de cellen van rijen 3 en 5:7 en zo t/m 1113 en 1115:1117 worden gewist.
    Alle tussenliggende rijen niet wissen.
    Heb geprobeerd om de codes aan te passen, maar ik kom er niet uit.

    In een ander progje hetzelfde probleem maar dan
    in dezelfde kolommen de cellen 3 en 5:8, 14 en 16:19, 25 en 27:30 zo t/m 2170, en 2172:2175
    Ook alle tussenliggende rijen niet wissen.

    Hopelijk is alles een beetje duidelijk en kan iemand mij verder helpen.

    Grtjs.
    Armand

  7. #7
    Senior Member
    Geregistreerd
    17 oktober 2007
    Locatie
    Borsbeek (België)
    Hallo,
    Na een filmpje te zien over "resize" op Youtube en enkele testen in excel ben ik er toch zelf uitgekomen.
    Eventueel voor liefhebbers hieronder dan de uiteindelijke codes die ik gebruik
    Voor het eerste probleempje
    Code:
    Private Sub cmbVoorbereidenSeizoen_Click()
        If MsgBox("Alle scores wprden gewist! Wilt U doorgaan,", vbYesNo) = vbYes Then
            With Sheets("Speeldagen")
    
                For i = 3 To 1113 Step 10
                .Cells(i, 1).Resize(1, 6).ClearContents
                .Cells(i, 10).Resize(1, 6).ClearContents
                Next
    
                For i = 5 To 1115 Step 10
                .Cells(i, 1).Resize(3, 6).ClearContents
                .Cells(i, 10).Resize(3, 6).ClearContents
                Next
    
            End With
        End If
            Sheets("LigaData").Select
                With Sheets("LigaData")
                    MsgBox "Seizoen, Startdatum, Speeldatums en Gemiddelden spelers aanpassen", vbExclamation, "Opgelet !"
                End With
    End Sub
    Voor het tweede probleempje
    Code:
    Private Sub cmbVoorbereidenSeizoen_Click()
        If MsgBox("Alle scores wprden gewist! Wilt U doorgaan,", vbYesNo) = vbYes Then
            With Sheets("Speeldagen")
    
                For k = 3 To 2170 Step 11
                .Cells(k, 1).Resize(1, 3).ClearContents
                .Cells(k, 10).Resize(1, 3).ClearContents
                Next
    
                For i = 5 To 2172 Step 11
                .Cells(i, 1).Resize(4, 6).ClearContents
                .Cells(i, 10).Resize(4, 6).ClearContents
                Next
    
            End With
         End If
            Sheets("LigaData").Select
                With Sheets("LigaData")
                    MsgBox "Seizoen, Startdatum, Speeldatums en Gemiddelden spelers aanpassen", vbExclamation, "Opgelet !"
            End With
    End Sub
    Grtjs.
    Armand
    Laatst aangepast door bowlingman : Gisteren om 15:38

  8. #8
    Mega Senior Jack Nouws's avatar
    Geregistreerd
    16 april 2008
    Locatie
    Zundert
    Afstand tot server
    ±150 km
    1 Lus zou het zelfde kunnen doen
    Code:
        For k = 3 To 2170 Step 11
          .Cells(k, 1).Resize(1, 3).ClearContents
          .Cells(k + 2, 1).Resize(4, 6).ClearContents
          .Cells(k, 10).Resize(1, 3).ClearContents
          .Cells(k + 2, 10).Resize(4, 6).ClearContents
        Next
    
    Laatst aangepast door Jack Nouws : Gisteren om 16:57
    Wees gelukkig met wat je hebt in plaats van ongelukkig door wat je ontbreekt

  9. #9
    Giga Honourable Senior Member
    Geregistreerd
    18 juli 2008
    Of:
    Code:
     For k = 3 To 200 Step 11
       Union(Cells(k, 1).Resize(, 3), Cells(k + 2, 1).Resize(4, 6), Cells(k, 10).Resize(, 3), Cells(k + 2, 10).Resize(4, 6)).ClearContents
     Next
    ____________
    Met vriendelijke groet,
    Harry

    Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
    (Grunnegs-Gronings)

Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren