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

Sorteren in meerdere werkbladen

Status
Niet open voor verdere reacties.

R0bert

Gebruiker
Lid geworden
10 apr 2016
Berichten
48
Ik heb een Excelbestand met een werkblad "Spelers" met 5 kolommen (zie bijlage)
Die gegevens kan ik eenvoudig sorteren zodat alle data uit kolom E (Team) bij elkaar staan.
Nu wil ik de data uit kolom A & B & C overbrengen naar het werkblad "Teams", gesorteerd naar team. Dus eerst de spelers van team A1 (heren links, cel A3 en volgende, dames rechts, cel B3 en volgende), dan team A2, team B1 enz.
Ik heb dat handmatig in de bijlage gedaan.

Ik ben op zoek naar een VB module die zo'n opdracht kan uitvoeren.
Kan iemand mij daaraan helpen?
Bij voorbaat dank!!
 
Laatst bewerkt door een moderator:
samengevoegde cellen en VBA zijn geen vrienden.
 
Bestand verwijderd. Lees de kop in deze sectie:
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
.
 
Voor het sorteren is dit voldoende
Code:
Sub sorteerSpelers()
  Cells(1).CurrentRegion.Sort [A1], , [B1], , , [C1], , 1
End Sub
Sub SorteerTeam()
  Cells(1).CurrentRegion.Sort [E1], , , , , , , 1
End Sub

Om in te delen
Code:
Sub VenA()
  ar = Sheets("Spelers").Cells(1).CurrentRegion
  For Each it In Sheets("Teams").Range("A3:B12,D3:E12,A15:B24,D15:E24").Areas
    c00 = Split(it.Cells(1).Offset(-2))(1)
    it.ClearContents
    For j = 2 To UBound(ar)
      If ar(j, 5) = c00 Then it.Cells(10, Abs(ar(j, 4) = "V") + 1).End(xlUp).Offset(1) = ar(j, 1) & IIf(ar(j, 2) = "", "", " " & ar(j, 2)) & " " & ar(j, 3)
    Next j
  Next it
End Sub

@huijb, de achternamen heb ik een beetje verminkt.
 

Bijlagen

  • Teamindeling maken.xlsb
    22 KB · Weergaven: 59
Laatst bewerkt:
Sorteren van blad 1 naar blad 2

Ik snap de codes nog niet helemaal, maar het werkt als een speer.
Nu nog even uitdokteren hoe en waarom....
Heel erg bedankt voor de hulp!!
 
Een langere code maar snellere methode (minder interactie met het blad).
Code:
Sub hsv()
  sv = Sheets("Spelers").Cells(1).CurrentRegion
  For Each it In Sheets("Teams").Range("A3:B12,D3:E12,A15:B24,D15:E24").Areas
  ReDim b(1, 0)
    c00 = Split(it.Cells(1).Offset(-2))(1)
    it.ClearContents
    For i = 2 To UBound(sv)
      If sv(i, 5) = c00 Then
        mv = Application.Trim(Join(Array(sv(i, 1), sv(i, 2), sv(i, 3))))
            If LCase(sv(i, 4)) = "m" Then
               b(0, m) = mv
               m = m + 1
             Else
               b(1, v) = mv
             v = v + 1
            End If
     End If
  ReDim Preserve b(1, IIf(m > v, m, v))
 Next i
   it.Cells(1).Resize(IIf(m > v, m, v), 2) = Application.Transpose(b)
   m = 0
   v = 0
  Next it
End Sub
 
top forum

Wat een top forum! Bedankt Harry en de anderen voor de zeer bruikbare antwoorden op mijn vraag. Ik ben er erg mee geholpen!!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan