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

Automatisch rijen invoegen bij verandering van naam

Status
Niet open voor verdere reacties.

tkof95

Gebruiker
Lid geworden
4 feb 2016
Berichten
6
Hallowaah!

Ik zoek al een tijdje naar een handige oplossing voor volgend probleem.
In mijn Excel-sheet zou ik graag door een macro of formule dit bereiken:
Er is 1 kolom waar allemaal namen in staan. Graag zou ik hebben dat, vanaf er gewisseld wordt van naam, er 5 lege rijen tussengevoegd worden.
Dit door een zeer simpele beweging te doen zoals een macro.
MAAR..

Het excel-bestand wordt elke dag vernieuwd door nieuwe namen.
De enige dag ziet de kolom er bijvoorbeeld zo uit:

Jurgen
Jurgen
Jurgen
Tom
Tom
Olivier
Olivier
Olivier
Olivier
Sander


Maar de volgende dag kan dit er zo uit zien:

Jurgen
Jurgen
Kurt
Kurt
Kurt
Tom
Filip
Filip
Sander


De namen komen dus niet in dezelfde cellen terecht.
Wat ik momenteel gedaan heb is: ik heb een macro gemaakt die 5 lege rijen invoegt onder de cel waarop ik sta (Ctrl+r)
Maar nu moet ik telkens de namen zoeken en per verandering, op de cel gaan staan en de macro uitvoeren.
Het zijn behoorlijk grote bestanden waardoor ik zeer veel tijd verlies.

Kan dit niet met een formule opgelost geraken zoals iets als dit: =ALS(Naam1<>Naam2;InsertDown5;"")
Deze formule bestaat niet maar ik hoop dat jullie het ongeveer wat begrijpen.
Dus zodra de naam veranderd zouden er 5 lege rijen moeten onder komen.

Bedankt voor de hulp!
 
Als de namen in kolom A staan vanaf A1 en verder naar onderen.
Code:
Sub hsv()
Dim i As Long
For i = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
  If Not Cells(i, 1) = Cells(i - 1, 1) And Cells(i - 1, 1) > 0 And Cells(i, 1) > 0 Then Rows(i).Resize(5).Insert
Next i
End Sub
 
Laatst bewerkt:
Hang deze achter een button :

Code:
Sub cobbe()
For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1
 If Cells(i, 1) <> Cells(i - 1, 1) Then
  For y = 1 To 5
   Rows(i).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
  Next
 End If
Next
End Sub
 
Echt bedankt hiervoor!
Helpt enorm veel!

Bedankt gasten!!
Fijn weekend verder!
 
Is het veel werk om dit aan te passen zodat de macro begint van A2 ipv A1?
Merci'kes!
 
For i = Range("A" & Rows.Count).End(xlUp).Row To 3 Step -1

Ik van die 2 een 3 gemaakt.
Dus de code loopt nu van de onderste gevulde cel in kolom A tot cel A2 - laatste instructie vergelijk A3 met A2
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan