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

Leden via macro verplaatsen naar juiste tablad

Status
Niet open voor verdere reacties.

Paulisie

Gebruiker
Lid geworden
15 feb 2014
Berichten
10
In het volgende voorbeeld heb ik een tabblad leden hier staan een aantal namen in in kolom H en Q staan de teams nu
wil ik dat als ik een team invult zoals in voorbeeld dat deze speler gelijk in de juiste tabblad gezet word onder de juiste team.

Ik zelf kom er niet uit misschien dat iemand weet hoe ik dit kan doen.

Bekijk bijlage TEST.xlsx

alvast bedankt
 
Eigenwijs als ik ben: zie bijlage voor een formule-oplossing.

Ik heb ook even de R1K1 verwijzingsvorm uitgeschakeld.

Via tab FORMULES - Namen beheren - heb ik 2 namen gedefinieerd met een dynamisch bereik voor Dames resp. Heren.

Er zijn 4 formules: Dames/team1, Heren/team1, Dames/team2, Heren/team2
Deze zijn doorgetrokken naar beneden en gekopieerd naar alle werkbladen (behalve 'Leden').

Ik denk dat een VBA/macro oplossing redelijk ingewikkeld wordt als je denkt aan allerlei soorten mutaties (nieuw/wijzigen/verwijderen) waarmee rekening gehouden moet worden.
De formule-oplossing dekt dit allemaal.

Wellicht dat de ras-VBA-ers op dit forum daar hele andere gedachten over hebben; ik ben benieuwd :)
 

Bijlagen

Wellicht dat de ras-VBA-ers op dit forum daar hele andere gedachten over hebben; ik ben benieuwd :)

Ik niet; als het met formules kan moet je geen Vba gebruiken.
Formules gaan voor Vba tenzij het teveel rekenkracht vergt en de Pc het nauwelijks kan trekken.
Vba is voor een leek bijna niet te onderhouden.
Stel dat je een kolom in wilt voegen, dan zou je de code al zo moeten schrijven dat alles synchroon blijft lopen.
Met formules gaat dit automatisch.
 
Een andere benadering door Listobjects (dynamisch) en autofilter met een kleine aanpassing aan de tabnamen.

Edit: vermelding dat er een Vba code in moduleblad 'leden' staat.
Code niet aangepast in het bestand, maar toch nog maar een wijziging wat logischer is.
Code:
Sub hsv()
Dim sn, x As Long, oDic As Object, j As Long, key, rng As Range
Application.ScreenUpdating = False
For x = 1 To 2
sn = ListObjects(x).DataBodyRange
Set oDic = CreateObject("scripting.dictionary")
  For j = 1 To UBound(sn)
   oDic.Item(sn(j, 8)) = oDic.Item(sn(j, 8))
  Next
     For Each key In oDic.keys
         ListObjects(x).Range.AutoFilter 8, key
        With Sheets(Left(key, 1) & "-teams").Columns(1).Find(key)
           .Offset(3, x * 2 - 1).Resize(10).ClearContents
           Set rng = Me.ListObjects(x).AutoFilter.Range
           rng.Offset(1).Resize(rng.Rows.Count - 1).SpecialCells(12).Columns(1).Copy .Offset(3, x * 2 - 1)
        End With
       ListObjects(x).Range.AutoFilter
     Next key
 Next x
End Sub
 

Bijlagen

Laatst bewerkt:
Bedankt Sylvester,

Alleen wat mij opvalt is dat de namen dan in kleine letters komen te staan terwijl in de tab leden de namen met een hoofdletter beginnnen.

heb je hier ook een oplossing voor ??

Groeten,

Paulisie
 
Formuletje verkeerd in F-teams B4:B12 ?
 
Hallo Sylvester,

Weet ik toch, maar het staat nog verkeerd in Team F dames.
Maakt voor mij niet uit, maar misschien ziet Ts dit over het hoofd.

Je gedefinieerde namen moet je nog +1 doen omdat je in A2 begint.
 
Mijn excuses Sylvester,
Dan heb ik gisteren vast iets niet goed gedaan waarom ik meende van +1.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan