• 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 rij invoegen excel

Status
Niet open voor verdere reacties.

MJJBROEKHUI

Gebruiker
Lid geworden
6 jun 2001
Berichten
175
In excel heb ik bijgaand overzicht gemaakt. Voor product A en product B geef ik aan hoeveel ik er datum verkocht hebt. Vervolgens is er een subtotaal per product en een totaaltelling.

Indien ik op een datum product A verkocht hebt moet iedere keer handmatig een regel invoegen.

Kan dit ook automatisch ? Via een macor bijvoorbeeld? Als ik de laatste regel heb ik ingevuld dat excel automatisch een regel invoegt?

Alvast bedankt!
 

Bijlagen

Je zou produkt A en B ook naast elkaar kunnen zetten.

Maar in de bijlage doet een macro wat je bedoelt.
 

Bijlagen

Hoi,

Wat je zou kunnen doen is voor product A een aantal regels reserveren, laat A beginnen op rij 11 en B op 111 of zoiets. De niet gebruikte rijen, op 1 na, maak je rijhoogte 0. Nu maak je in VBA een code dat als in kolom A of B Iets ingevoerd wordt dat de rij eronder rijhoogte 14,25 krijgt.

Nu geen tijd om de VBA-code in elkaar te zetten, maar als je meer gegevens aanlevert, kan ik deze wel maken. Ik heb nodig:
Hoeveel rijen moeten er tussen produkt A en B en
Welke kolom wordt er als eerste ingevoerd?

Jeroen
 
bedankt voor jullie antwoorden.

in totaal met een rij tussen. Ik vul iets in in kolom B
 
jzeedijk,

Die oplossing die jij voordraagt iets wat ik zoek, want in sommige rijen staan ook formules.

Zie je nog kans om zo'n VBA code in elkaar te zetten?

Alvast bedankt!!
 
Hoi MJJ,

De code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B11:B110")) Is Nothing Then
If Target <> "" Then Target.Offset(1, 0).RowHeight = 14.25
If Target = "" And Target.Offset(1, 0) = "" Then Target.Offset(1, 0).RowHeight = 0
If Target = "" And Target.Offset(-1, 0) = "" Then Target.RowHeight = 0
End If
End Sub

In B11 beginnen de rijen van product A, in B111 de rijen van product B. (als je dat anders wilt hebben even Range aanpassen). Formules kopieren in de toegevoegde rijen. De lege rijen die nu tussen product A & B zitten even rijhoogte 0 maken en de code in de editor van het werkblad plaatsen (rechtermuisknop klikken op het tabblad, Programmacode weergeven kiezen en de code inkopieren).

Jeroen
 
waarom ...

Waarom VBA ?

Met 2 producten is dit nog redelijk, maar met veel producten is het toch niet de bedoeling zelf alles te berekenen.
Laat excel de subtotalen zelf berekenen ! Extra voordeel is bij lange databanken kan je per groep of subgroep of subsubgroep ... je gegevens d.m.v. + en - tekentjes openklappen of verbergen. EN hij print enkel wat je op dat moment in beeld hebt en niet steeds alle detail gegevens.

HOE ?
Maak er een databank van vb.:

product naam prijs
A appels 10
A peer 5
B citroen 8

stap 2 klik in de product kolom en op de werkbalkknop sorteren (vergeet dit niet want anders krijg je onnodig tussenresultaten)
stap 3 kies DATA --> subtotalen
vak 1 per 'product'
vak 2 de 'som'
vak 3 van 'prijs'
Op amper 1 minuut heb je gesorteerd je subtotalen voor alle producten eenvoudig te raadplegen bij lange lijsten.

Wil je ook nog een aantal, gemiddelde, ... herhaal deze stappen dan. In het subtotalen venster is ook een knop om de subtotalen te verwijderen.

Je naast het invoegen van rijen zoals je nu doet, de subtotalen verwijderen en gewoon met je databank werken en weer snel binnen enkele seconden je subtotalen invoegen.
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan