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

excel vba rijen aanpasbaar maken

  • Onderwerp starter Onderwerp starter Kevi
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

Kevi

Gebruiker
Lid geworden
19 dec 2015
Berichten
5
Beste,

weet iemand soms hoe ik in onderstaande vba code ervoor zorg dat deze code werkt vanaf rij 2 tot het aantal gebruikte rijen

Range("C2") = Mid(Range("A2"), 1, (InStr(1, Range("A2"), " ", 1)) - 1)
Range("D2") = Mid(Range("A2"), (InStr(1, Range("A2"), " ", 1)) + 1, Len(Range("A2")))
Range("B2") = Left(Range("C2"), 1) & Left(Range("D2"), 1)

de 2 is juist maar zou ook moeten werken voor drie en vier zo tot het aantal gebruikte rijen
 
Test deze eens:

Code:
Sub splitsen()
With Sheets("Blad1")
  For Each cl In .Range("A1:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
    .Cells(cl.Row, 3).Formula = Mid(Range("A" & cl.Row), 1, (InStr(1, Range("A" & cl.Row), " ", 1)) - 1)
    .Cells(cl.Row, 4).Formula = Mid(Range("A" & cl.Row), (InStr(1, Range("A" & cl.Row), " ", 1)) + 1, Len(Range("A" & cl.Row)))
    .Cells(cl.Row, 5).Formula = Left(Range("C" & cl.Row), 1) & Left(Range("D" & cl.Row), 1)
  Next
End With
End Sub
 
Misschien is het handig om een voorbeelddocument te plaatsen. De code van Cobbe werkt prima mits juist toegepast. De .Formula kan overigens weggelaten worden.
 
hij geeft nog een foutmelding bij cl
Dat komt omdat 'cl' niet gedeclareerd is.

zet onderstaande onder de sub().
Code:
dim cl as range
 
Neen, dat komt doordat het werkblad een andere naam heeft.

Maak er dit van : With Sheets(1)
 
Daar krijg je geen foutmelding van op 'cl' @Cobbe.
De 'For each' zal gewoon niet lopen en gaat gelijk naar 'End sub'.
 
We zijn blij dat je al je bestand kan beveiligen.
Je zou beter uw energie steken in de werking van een en ander.
 
Plaats het bestandje uit #8 nog eens maar dan zonder een wachtwoord. Of is deze niet van jezelf en wil je dat het nagemaakt wordt? Waarom is A3 leeg? Zijn de gegevens in kolom a ook in werkelijkheid zo? Dus de voornaam en de achternaam zijn altijd gesplitst door een " " en het tussenvoegsel wordt aanelkaar vastgeplakt aan de achternaam? Je kan ook eens in dit draadje kijken hoe je namen kan splitsen.http://www.helpmij.nl/forum/showthread.php/878791-Excel-2010-formule-niet-bekend?p=5660515#post5660515
 
Test deze eens:

Code:
Sub splitsen()
Dim cl As Range
With Sheets("Blad1")
On Error GoTo Lege_regel
  For Each cl In .Range("A2:A" & .Range("A" & .Rows.Count).End(xlUp).Row)
    .Cells(cl.Row, 3) = Mid(Range("A" & cl.Row), 1, (InStr(1, Range("A" & cl.Row), " ", 1)) - 1)
    .Cells(cl.Row, 4).Formula = Mid(Range("A" & cl.Row), (InStr(1, Range("A" & cl.Row), " ", 1)) + 1, Len(Range("A" & cl.Row)))
    .Cells(cl.Row, 5).Formula = Left(Range("C" & cl.Row), 1) & Left(Range("D" & cl.Row), 1)
Lege_regel:
  Next
End With
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan