Hallo
Ik zit met het volgende.
Ik heb een aantal tabellen voor een kostprijsberekening waarbij bestrijdingsmiddelen aan de orde komen.
Nu heb ik al eerder op dit Forum gezeten en een mooie code gekregen die tot voor kort goed werkte!
Ik ben zelf al begonnen met een studieboek voor VBA en dit heeft mij de mogelijkheid gegeven wat simpelere codes te maken. Nu alleen de "complexe" code niet werkt kann ik hem niet aanpassen.
Ik Loop tegen 2 concrete Problemen aan.
1. De code kopieerd alleen het 1e deel van de tabel de formules.
2. In kolom D werk ik met gegevensvalidatie en als ik na het invoegen van rijen 1 vd 2 bovenste waarde pak rekent hij ook de 1e tabel niks uit.
Hieronder de code en 1 vd tabellen die hij aanpast. (nummer 2). Als iemand een oplossing weet, geef aub aan wat er verändert in de code zodat ik deze beter begrijp.
En zoals beloofd tabel 2.
Bekijk bijlage Voorbeeld 3.xlsx
Alvast bedankt voor alle hulp!
grtz
Ik zit met het volgende.
Ik heb een aantal tabellen voor een kostprijsberekening waarbij bestrijdingsmiddelen aan de orde komen.
Nu heb ik al eerder op dit Forum gezeten en een mooie code gekregen die tot voor kort goed werkte!
Ik ben zelf al begonnen met een studieboek voor VBA en dit heeft mij de mogelijkheid gegeven wat simpelere codes te maken. Nu alleen de "complexe" code niet werkt kann ik hem niet aanpassen.
Ik Loop tegen 2 concrete Problemen aan.
1. De code kopieerd alleen het 1e deel van de tabel de formules.
2. In kolom D werk ik met gegevensvalidatie en als ik na het invoegen van rijen 1 vd 2 bovenste waarde pak rekent hij ook de 1e tabel niks uit.
Hieronder de code en 1 vd tabellen die hij aanpast. (nummer 2). Als iemand een oplossing weet, geef aub aan wat er verändert in de code zodat ik deze beter begrijp.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 And InStr("2.3.4.5.7.", Target.Value) Then
i = InputBox("hoeveel rijen invoegen?")
If i > 0 And IsNumeric(i) Then
Target.Offset(4).Resize(i, 18).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Target.Offset(4, 4).Resize(i, 1).FormulaR1C1 = "=R" & Target.Row + 2 & "C7*VLOOKUP(RC[-1],Bestrijdingsmiddelen,7)"
Target.Offset(4, 11).Resize(i, 1).FormulaR1C1 = "=R" & Target.Row + 2 & "C14*VLOOKUP(RC[-1],Bestrijdingsmiddelen,7)"
Target.Offset(4, 6).Resize(i, 1).FormulaR1C1 = "=RC[-2]*VLOOKUP(RC[-3],Bestrijdingsmiddelen,3)"
Target.Offset(4, 13).Resize(i, 1).FormulaR1C1 = "=RC[-2]*VLOOKUP(RC[-3],Bestrijdingsmiddelen,3)"
End If
End If
Cancel = True
End Sub
En zoals beloofd tabel 2.
Bekijk bijlage Voorbeeld 3.xlsx
Alvast bedankt voor alle hulp!
grtz