• 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 een regel toevoegen na invoer

Status
Niet open voor verdere reacties.

Luna08

Gebruiker
Lid geworden
14 apr 2009
Berichten
28
Hoi,

Momenteel ben ik bezig met een lijst waarop verschillende "acties" gezet kunnen worden.
Deze acties worden tussen "vaste" regels toegevoegd. Deze regels bevatten een omschrijving van het soort actie (bijv. prio 1, prio 2 e.d.)

Omdat het per soort kan verschillen hoeveel acties er zijn zou ik bijv. standaard 50 regels kunnen reserveren om acties op in te vullen. dit is echter niet praktisch omdat er dan ook 49 lege regels tussen 2 soorten kunnen zitten en ik onnodig veel papier nodig heb met printen :)

Ik zoek dus een manier waarmee ik d.m.v. een vast bereik vast te leggen (bijv. rij 5 tot 50) automatisch een nieuwe rij maak (of zichtbaar maken) als er op de bovenstaande rij iets ingevuld wordt.

Heeft iemand een idee hoe ik dit zou kunnen doen? Alvast bedankt.
 
Hallo,

Met dit stukje VBA code kun je op elk gewenste regel een rij invoegen.
In dit geval wordt er in rij 6 een nieuwe regel ingevoegd.
Code:
Sub Invoegen()
    Rows(6).Insert
End Sub

Met vr gr
Jack
 
Beste Jack,

Bedankt voor je reactie.

De regel toevoegen is het probleem niet.
Het probleem zit hem in hoe dit automatisch kan.

Als ik in rij 3 iets invul moet hij rij 4 aanmaken zodat deze eventueel ook ingevuld kan worden.
Zo is er maximaal 1 lege regel.
 
Bedoel je het zo:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value <> "" Then Target.Offset(1, 0).Rows.Insert
End Sub

Zodra er iets in een cel wordt geplaatst dan worden de gegevens daaronder A4 1 cel naar beneden geschoven.

Bijv:
1
2
3
4
5
6

3 wordt 33

1
2
33

4
5
6

Met vriendelijke groet,


Roncancio
 
@ Roncancio

Ik zat te denken om de lege rijen in een array te zetten bijv. op deze manier.
Code:
Sub Invoegen()

    Lc = Array([A3], [A7], [A11], [A15], [A19])

        For Each c In Lc
            If c.Value <> "" Then
                Rows(c.Row).Insert
            End If
        Next

End Sub
Maar mooier zou zijn als de code automatisch liep, dus via Private Sub Worksheet_Change(ByVal Target As Range).
Hoe zou deze code dan aangepast moeten worden?

Met vr gr
Jack
 
@Jack
Door een array te gebruiken, ga je de rijen hard coderen. Dat wil de TS m.i. niet.

Met vriendelijke groet,


Roncancio
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan