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

Meerdere regels automatisch verschuiven + doorslepen formules

Status
Niet open voor verdere reacties.

Ridegroot

Gebruiker
Lid geworden
25 mei 2016
Berichten
30
Voor de slimme excel programmeur heb ik de volgende uitdaging:

Ik wil dat regels automatisch worden toegevoegd in mijn berekening (zie voorbeeld) hierbij verspringen de rijen automatisch als ik begin te typen in A2. Tot zo ver perfect.. Mijn probleem is dat:

1 De formule in G3 niet meegaat (naar G2)
2 Dat ik dit script maar 1 keer kan toepassen en dus niet kan toepassen voor A8 en A13 in het voorbeeld. Dit is dus wel de bedoeling want ook hier wil ik dat rijen + formules automatisch doorgesleept. (ook het toevoegen van rijen in boven genoemde tabellen)

Wie kan mij helpen?

alvast bedankt
 

Bijlagen

Volgens mij bedoel je C3 en C2 in plaats van G3 en G2.
Overigens gaan in jouw script de formules wél mee, maar daarna verwijder je ze weer met clearcontents. :rolleyes:
Ik heb het script zodanig aangepast, dat een regel wordt toegevoegd zodra er 1 numerieke waarde in kolom A wordt ingevuld en de cel erboven niet numeriek en niet leeg is (zo kun je gegevens wijzigen zonder dat er een regel wordt toegevoegd).
En de gekopieerde formule wordt niet weer weggepoetst.

Dit is het geworden:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Intersect(Target, Columns(1)) Is Nothing Then Exit Sub

If IsNumeric(Target) And Not IsNumeric(Target.Offset(-1)) And Target.Offset(-1) <> "" Then
    Application.EnableEvents = False
    With Target.EntireRow
        .Copy
        .Insert Shift:=xlDown
        .Offset(-1).Resize(, 2).ClearContents
    End With
    Target.Offset(-1).Select
    Application.EnableEvents = True
End If
End Sub
 
Erg bedankt voor de moeite en je oplossing. Werkt bijna al goed want het werkt nu alleen met cijfers.

ik ben in mijn vorige uitleg en voorbeeld niet helemaal duidelijk geweest.

Kun je de code ook zo maken dat hij zowel werkt bij tekst als bij cijfers? (voorkeur is tekst).

nogmaals dank!
 
De uitdaging is dan om precies te definiëren wanneer het wel en niet moet gebeuren.

In de volgende code wordt gekeken naar de opvulkleur van de bovenliggende cel. Als dat geel is (zoals in het voorbeeld), dan wordt een regel ingevoegd.

Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Count <> 1 Then Exit Sub
If Intersect(Target, Columns(1)) Is Nothing Then Exit Sub
If Target.Row = 1 Then Exit Sub

If Target.Offset(-1).Interior.ColorIndex = 6 Then
    Application.EnableEvents = False
    With Target.EntireRow
        .Copy
        .Insert Shift:=xlDown
        .Offset(-1).Resize(, 2).ClearContents
    End With
    Target.Offset(-1).Select
    Application.EnableEvents = True
End If
End Sub

I.p.v. ColorIndex, kun je ook Color gebruiken:
If Target.Offset(-1).Interior.Color = rgbYellow Then
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan