Ga naar inhoud

Excel 2010 Macro - als waarde, dan rij invoegen en formules doortrekken


ebonk

Aanbevolen berichten

Hallo,

Ik heb een werkblad waarin via (horizontal) Vlookup informatie in de verschillende kolommen van een rij worden ingevoegd, eens een code wordt voorzien in de eerste kolom (A).

Bvb.

code "384" geeft andere waarden in de volgende kolommen dan code "265" en dit op basis van andere werkbladen waarnaar wordt verwezen (Vlookup)

Op deze manier kunnen via codes waarden "automatisch" ingevuld worden in de kolommen.

Echter, de cellen met formules moeten beveiligd worden, uitgezonderd de codekolom (kolom A).

Op deze manier kunnen andere gebruikers enkel codes invullen en zo waarden krijgen, maar toch niets wijzigen aan het document.

Graag had ik een macro geschreven die de beveiliging overschrijdt en die, vanaf er een waarde >=0 wordt ingevuld in het "codeveld" (kolom A), automatisch een nieuwe rij invoegt onder de actieve cel en die alle formules van de volgende kolommen in die rij doortrekt, zodat ook in de nieuwe rij via dezelfde formules Vlookup, opnieuw "automatisch" de kolommen worden voorzien van de info uit de tabellen waar de Vlookups naar verwijzen.

Op deze manier zou ik beginnen met 1 lege rij en telkens er een code wordt ingevoerd (en de waarden in de volgende kolommen verschijnen), wordt er een nieuwe rij toegevoegd aan het werkblad, onder de actieve cel. Eens die rij ingevuld, weer een nieuwe rij, etc.

Er zouden verschillende blokken met verschillende categorieën onder elkaar moeten komen, dus ik moet met ActiveCell werken en kan dus niet werken met vaste celreferenties. In dat geval wordt mijn werkblad uit elkaar getrokken eens er rijen werden tussen gevoegd, aangezien de celreferenties opschuiven.

EntireRow zou dienen om de rij in te voegen.

Maar ik weet niet hoe aan de code te beginnen en loop de hele tijd vast op syntaxfouten.

iemand die dit kan uitpuzzelen?

Alvast veel dank!

groetjes,

Ebonk

Link naar reactie
Delen op andere sites

  • 2 weken later...

dag ebonk,

wil je graag helpen maar kan niet goed aan je uitleg volgen. Kort, je wil een blad waar enkel kolom A toegankelijk/wijzigbaar is voor de gebruiker, en de rest mag niet overschreven worden.... of zie ik dit fout?

eventueel voorbeeldje ?

Link naar reactie
Delen op andere sites

dag ebonk,

wil je graag helpen maar kan niet goed aan je uitleg volgen. Kort, je wil een blad waar enkel kolom A toegankelijk/wijzigbaar is voor de gebruiker, en de rest mag niet overschreven worden.... of zie ik dit fout?

eventueel voorbeeldje ?

Hallo,

Dank voor je antwoord.

Eenvoudiger uitgelegd: I am too trying to create a macro that will insert rows depending on a cell value. If the value is > 0 then the macro should insert a row below the active cell, and copy the format of the formulas in the following columns into the new row, without the content.

Ik weet niet hoe ik best de sub moet starten.

Hierbij een voorbeeld, zonder de formules, enkel de voorwaarde om een rij in te voegen (dat kan later nog volgen):

Sub ifthenshizzle()

Dim Mynumber As Long

Mynumber = 0

If Mynumber > 0 Then

ActiveCell.EntireRow.Insert

End If

End Sub

Zou het mogelijk zijn om er toch nog eens naar te kijken, aub?

Alvast veel dank!

groetjes,

ebonk

Link naar reactie
Delen op andere sites

moedertaal is niet engels, was idd wel duidelijker (denk ik)

Effe geprobeerd, lijkt te werken.... zoiets ?

Sub ifthenshizzle()

If ActiveCell > 0 Then

ActiveCell.EntireRow.Select

Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Selection.Offset(1, 0).Copy

Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _

SkipBlanks:=False, Transpose:=False

Application.CutCopyMode = False

End If

End Sub

Link naar reactie
Delen op andere sites

×
×
  • Nieuwe aanmaken...

Belangrijke informatie

We hebben cookies geplaatst op je toestel om deze website voor jou beter te kunnen maken. Je kunt de cookie instellingen aanpassen, anders gaan we er van uit dat het goed is om verder te gaan.