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

Repeterende groep van waarden telkens apart kopiëren

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
Er is een lap tekst nodig om de vraag te verduidelijken, en dan nog zal het chaotisch overkomen.
In de bijlage is het gewenste resultaat 1x manueel ingevuld op blad3.

Op blad2 in kolom C staat een steeds weerkerende reeks van getallen.(Dit zijn de pleinnrs. van de spelrondes)
Die reeks van getallen kan variëren van 2 getallen tot 5 getallen, afhankelijk van het aantal spelers.
- 4 en 5 spelers hebben 2 pleinen nodig
- 6 en 7 spelers hebben 3 pleinen nodig
- 8 en 9 spelers hebben 4 pleinen nodig
- 10 spelers hebben 5 pleinen nodig

Graag had ik elke reeks van getallen(spelrondes) apart willen kopiëren naar blad 3
De eerste reeks getallen(1ste spelronde) is manueel ingevuld op blad3

Ik weet dat mijn vraag zeer onduidelijk is. Misschien brengt de bijlage duidelijkheid.
 

Bijlagen

  • Tennis poule1.xlsm
    49,6 KB · Weergaven: 28
Zoiets?

Code:
Sub VenA()
Dim j As Long, jj As Long, jjj As Long, t As Long
Blad3.Range("A3:T7,A11:P15").ClearContents
With Blad2
  t = Application.Max(.Columns(3))
  For j = 3 To 38 Step t
    If j / t <= 5 Then
      Blad3.Cells(3, jj + 1).Resize(t, 4) = .Cells(j, 3).Resize(t, 4).Value
      jj = jj + 4
      Else
        Blad3.Cells(11, jjj + 1).Resize(t, 4) = .Cells(j, 3).Resize(t, 4).Value
      jjj = jjj + 4
    End If
  Next j
End With
End Sub
 
Hoe doe jij het toch!
Steeds weer die logische oplossingsstructuur vinden!
Echt respect.
Nu ben ik weer een tijdje zoet, met het doorgronden van je code.
En weer eens: Bedankt VenA
 
Het is allemaal een kwestie van tellen en een beetje trial and error. Er staan in mijn optiek nog wat te veel variabelen in maar geeft jou natuurlijk wel de mogelijkheid om dmv <F8> alles stap voor stap te volgen;)

Als je een voorbeeldbestand plaatst haal dan alle bladbeveiligingen uit de code en uit de tabjes. Ook zonder wachtwoord is het vrij irritant om de beveiliging weer uit te moeten zetten.
 
Onbegrijpelijk, maar toch loopt het mis ,ALLEEN BIJ 5 SPELERS.
Juist zoals het mis liep bij het wedstijdschema op blad2, alleen bij 5 spelers.
Ondanks de voorwaarde in:
Code:
 If j / t <= 5 Then
Springt de code toch naar de "ELSE" bij 5 spelrondes.
Dit is niet zo bij de andere oneven getallen( 7 en 9)
Wie vindt hier de reden?
Code:
Sub VenA()
'Vul de spelrondes op Blad 3
Blad3.Unprotect
Dim j As Long, jj As Long, jjj As Long, t As Long
Blad3.Range("A3:T7,A11:P15").ClearContents
With Blad2
  t = Application.Max(.Columns(3))
  For j = 3 To 48 Step t
    [COLOR="#FF0000"]If j / t <= 5 Then[/COLOR]
      Blad3.Cells(3, jj + 1).Resize(t, 4) = .Cells(j, 3).Resize(t, 4).Value
      jj = jj + 4
      Else
        Blad3.Cells(11, jjj + 1).Resize(t, 4) = .Cells(j, 3).Resize(t, 4).Value
      jjj = jjj + 4
    End If
  Next j
End With
'Blad3.Protect
End Sub
 

Bijlagen

  • Tennis poule1(1).xlsm
    50,2 KB · Weergaven: 20
Probeer het zo eens.

Code:
If (j - 1) / t <= 5 Then
 
Hey VenA,
Lijkt op het eerste zicht te werken.
Ik moet nu weg, zal later uitvoeriger testen.
Bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan