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

nieuwe regel invoegen met behoud van formule dmv Macro

Status
Niet open voor verdere reacties.

litmanen10

Gebruiker
Lid geworden
31 mrt 2006
Berichten
284
Hallo,

Ik probeer een grootboekrekeningschema te maken dat doormiddel van knoppen (macro's) makkelijk functioneert.

Nu is het de bedoeling dat er een regel(1 regel) kan worden toegevoegd alsmede een nieuwe boeking (4 regels) doormiddel van 1 druk op de knop.

Tot dusver geen probleem.

1 regel toevoegen gebeurt in rij 3 en een nieuwe boeking in rij 3 tot en met rij 6.
In kolom E heb ik een vert.zoeken gemaakt zodat men door middel van een grootboeknummer direct de omschrijving krijgt. Deze formule zou ik graag willen behouden op het moment ik 1 extra regel of een nieuwe boeking toevoeg. Maar hoe is dat mogelijk?

Mijn dank is groot!
 
litmanen10,

We kunnen niet in je bestandje kijken maar als je de formule nou eens in de macro verwerkt.
 
Dit is de macro:

Range("A6").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Formule welke ik graag erbij heb is:

=ALS(D4>0;VERT.ZOEKEN(D4;rekeningschema;2;ONWAAR);"")

Hoe dien ik deze dan te verwerken
 
Zou het zo werken?
Code:
Range("A6").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
[E] = "=ALS(D4>0;VERT.ZOEKEN(D4;rekeningschema;2;0);"")
 
Dan krijg ik foutmelding

Fout 424 tijdens uitvoering:

object vereist.


Ik dacht hem als volgt in te voeren maar ook dat lukt niet:

Range("A6").Select
Range("A6").Formula = "=ALS(D4>0;VERT.ZOEKEN(D4;rekeningschema;2;0);"")"
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
 
Een formule die je in een macro zet staaat in het Engels If .......... vlookup ............
 
Dan zou dit hem moeten zijn:

Range("A6").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
[E] = "=IF(D6>0;VLOOKUP(D6;rekeningschema;2;0);"")"

Al werkt het dan helaas nog niet
 
Dan zou dit hem moeten zijn:

Range("A6").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
[E] = "=IF(D6>0;VLOOKUP(D6;rekeningschema;2;0);"")"

Al werkt het dan helaas nog niet

Jij kan hem testen , werkt hij niet dan is rekeningschema geen geldige validatie .zet er mss [E6] bij
 
Laatst bewerkt:
Zou u eens naar het bestand willen kijken, want ik kom er nu echt niet meer uit.

Ik kan hem alleen niet uploaden met macro's erbij.
 
ok danku.

Hierbij het bestand.

probeer deze
Code:
Sub Extraregel()
'
' Extraregel Macro
'

    Range("A6").Select
    ActiveCell.Rows("1:1").EntireRow.Select
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlForma 'tFromLeftOrAbove
     [E6].FormulaR1C1 = _
        "=IF(RC[-1]>0,VLOOKUP(RC[-1],rekeningschema,2,0),"""")"
    
End Sub
 
Hij werkt nu! Hartelijk bedankt voor de hulp! Echt super!
 
Laatst bewerkt:
litmanen10,

Ik denk dat dit hem is.
Code:
Sub Extraregel()
Extraregel Macro
    Range("A6").Select
    ActiveCell.Rows("1:1").EntireRow.Select
    [E6].Formula = "=IF(D6>0,VLOOKUP(D6,Rekeningschema!A:B,2,False),"""")"
    Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub
 
Laatst bewerkt:
is dit dan niet voldoende ?

Code:
Sub tst()
  [E6].FormulaR1C1 = "=IF(RC[-1]>0,VLOOKUP(RC[-1],rekeningschema,2,0),"""")"
  [E6:E7].FillDown
End Sub
 
is dit dan niet voldoende ?

Code:
Sub tst()
  [E6].FormulaR1C1 = "=IF(RC[-1]>0,VLOOKUP(RC[-1],rekeningschema,2,0),"""")"
  [E6:E7].FillDown
End Sub

Ik had de eer aan de TS gelaten maar ? ik zal het voorbeeldje posten in normaal formaat
@ snb ;) je code zet wel de formule op de sheet naar geen nieuwe regel :)
je macro staat erin .
 

Bijlagen

Vermijd Select en Activate in VBA-code

Code:
Sub Extraregel()
  sheets("invoer").rows(6).insert
  [E7].FormulaR1C1 = "=IF(RC[-1]>0,VLOOKUP(RC[-1],rekeningschema,2,0),"""")"
End Sub

Sub nieuweboeking()
    with sheets("invoer")
      .rows(6).resize(3).Insert
      .rows(3).resize(3).copy  sheets("invoer").rows(6)
    end with 
End Sub

Sub Regelwissen()
    ActiveCell.EntireRow.Delete
End Sub
 
Waarom dien ik Select en Activate in VBA-code te vermijden.

Dit is degene die werkt:

Extraregel Macro
'

Range("A6").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlForma 'tFromLeftOrAbove
[E6].FormulaR1C1 = _
"=IF(RC[-1]>0,VLOOKUP(RC[-1],rekeningschema,2,0),"""")"
End Sub

Maar wat ik niet snap is bij [E6].FormulaR1C1 = Wat de betekenis is van R1C1 ?!
Wat ik ook niet goed snap is waarom men in de formule van VLOOKUP op het eind de aanhalingstekens voor het haakje zet. Zou iemand mij dat aub kunnen uitleggen
 
Waarom dien ik Select en Activate in VBA-code te vermijden.

Dit is degene die werkt:

Extraregel Macro
'

Range("A6").Select
ActiveCell.Rows("1:1").EntireRow.Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlForma 'tFromLeftOrAbove
[E6].FormulaR1C1 = _
"=IF(RC[-1]>0,VLOOKUP(RC[-1],rekeningschema,2,0),"""")"
End Sub

Maar wat ik niet snap is bij [E6].FormulaR1C1 = Wat de betekenis is van R1C1 ?!
Wat ik ook niet goed snap is waarom men in de formule van VLOOKUP op het eind de aanhalingstekens voor het haakje zet. Zou iemand mij dat aub kunnen uitleggen

DE code's van snb werken ook , ofwel pas je de naam van je sheet aan ofwel pas je de macro aan naar de naam van de sheet >> sheets("invoer"). >> zal dan sheets("invoer berekeningsblad ???"). of zo worden , kem hem niet van buiten en via de mobile download ik hem niet . R1C1 Row1 Column1 of A1 A1 de aanhalingstekens staat voor het verkrijgen van eenlege cel > verdiep je eens in excel , lees een handboek of kijk voor een gratis cursus op het internet .
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan