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

Namen rangschikken

Ik vermoed dat cow18 gelijk heeft, en dat kun je zo controleren:
Code:
    For i = 1 To UBound(uit)
        If InStr(uit(i, 1), " % ") = 0 Then
            MsgBox "Namen uit niet gescheiden door  % op rij " & i
            Exit Sub
        End If
        namen = Split(uit(i, 1), " & ")
Hmm, ik ben geen VBA expert, macro toegevoegd maar....................................

(next ontbrak??)

1718608569445.png
 
Het was de bedoeling dat je die vier regels code zou tussenvoegen in de bestaande code;)
 
Het was de bedoeling dat je die vier regels code zou tussenvoegen in de bestaande code;)
Hmmmm...., ik heb van VBA totaal geen kaas gegeten, maar heb wel eens begrepen dat je macro's best in één script mag wegschrijven. Maar goed, single krijg ik dit te zien:

1718609301157.png
 
De bedoeling was dit:
Code:
Sub Paren()
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row
    uit = Range("J2:J" & lastrow)
    thuis = Range("K2:K" & lastrow)
    For i = 1 To UBound(uit)
    
        If InStr(uit(i, 1), " % ") = 0 Then
            MsgBox "Namen uit niet gescheiden door  % op rij " & i
            Exit Sub
        End If
    
        namen = Split(uit(i, 1), " & ")
        For j = i + 1 To UBound(uit)
            If InStr(uit(j, 1), namen(0)) > 0 And InStr(uit(j, 1), namen(1)) > 0 Then
                uit(j, 1) = uit(i, 1)
            End If
        Next
        For j = 1 To UBound(uit)
        If InStr(thuis(j, 1), namen(0)) > 0 And InStr(thuis(j, 1), namen(1)) > 0 Then
            thuis(j, 1) = uit(i, 1)
        End If
        Next
    Next
    Range("J2:J" & lastrow) = uit
    Range("K2:K" & lastrow) = thuis
End Sub
 
De bedoeling was dit:
Code:
Sub Paren()
    lastrow = Cells(Rows.Count, 1).End(xlUp).Row
    uit = Range("J2:J" & lastrow)
    thuis = Range("K2:K" & lastrow)
    For i = 1 To UBound(uit)
   
        If InStr(uit(i, 1), " % ") = 0 Then
            MsgBox "Namen uit niet gescheiden door  % op rij " & i
            Exit Sub
        End If
   
        namen = Split(uit(i, 1), " & ")
        For j = i + 1 To UBound(uit)
            If InStr(uit(j, 1), namen(0)) > 0 And InStr(uit(j, 1), namen(1)) > 0 Then
                uit(j, 1) = uit(i, 1)
            End If
        Next
        For j = 1 To UBound(uit)
        If InStr(thuis(j, 1), namen(0)) > 0 And InStr(thuis(j, 1), namen(1)) > 0 Then
            thuis(j, 1) = uit(i, 1)
        End If
        Next
    Next
    Range("J2:J" & lastrow) = uit
    Range("K2:K" & lastrow) = thuis
End Sub
Schiet mij maar lek, wil je eens naar dit bestand kijken en macro draaien? Ik heb fictieve namen aangebracht.
 

Bijlagen

  • voorbeeld_c (1).xlsm
    19,7 KB · Weergaven: 9
Je mag mij lekschieten, ik heb % gebruikt in plaats van &. Als je % wijzigt in & dan gaat het goed.
En de fabeltjeskrant was leuk.
 
Terug
Bovenaan Onderaan