• 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 genereren selectie cellen

Status
Niet open voor verdere reacties.

boomen

Gebruiker
Lid geworden
17 sep 2014
Berichten
275
Hallo daar,

Mijn naam is Paul en ben redelijk nieuw met Excel.
In de bijlage Staat mijn model.
Ik Loop tegen het het volgende aan.

Op het 1e blad staan de Tabellen voor het "toekomstige" kostprijsmodel wat ik aan het maken ben.
Bij de 2e stap in de 1e tabel(cel C21 tm G21) heb ik de mogelijkheid gemaakt een bestrijdingsmiddel te Kiezen.
Deze word dan automatisch omgezet door het standaard gebruik per M te vermenigvuldigen met de prijs.
Nu will ik graag de tabel zo klein mogelijk houden, Maar bestaat de mogelijkheid dat er voor 1 product wel 8 verschillende bestrijdingsmiddelen gebruikt worden.
Kan ik een formule of macro maken die ervoor zorgt dat je door middel van een +tekenknop een rijtje cellen invoegd onder de cellen C21 tm G21? Dus alleen die 5 en dan zonder dat komende formules die eronder zullen staan in de war raken.

Een variatie van wat ik will is ook prima, alle hulp is welkom!

Gr Paul

P.S. Ik heb 1x een macro gemaakt voor een automatische bestandsgeneratie bij opslaan. Verder ben ik hier niet bekend mee.Bekijk bijlage Model breeding.xlsx
 
beetje wazig omschrijving van wat je nu precies wilt.
dus maar een gok

Code:
Sub Macro1()
    Range("B22").Resize(InputBox("hoeveel rijen invoegen?"), 6).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
End Sub

Niels
 
Ik heb hem gekopieerd en het is precies wat ik bedoel!
Superleuk dit excel:thumb:

Heb alleen nog het probleem dat de formules in het 1e rijtje cellen (C21 tm G21) niet worden overgenomen.
Kann dit automatisch of moet dit handmatig worden gekopieerd?
En is het mogelijk een knop te maken die ipv ALT F8 en dan uitvoeren te klikken die handelingen in 1x doet. dus bv in cel H22?

Bedankt voor de hulp zo ver Niels.

Paul
 
Laatst bewerkt:
rechter muisknop op tabblad 1 => programmacode weergeven

dit daar plakken:

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Column = 1 And Target <> "" Then
    i = InputBox("hoeveel rijen invoegen?")
    Target.Offset(4).Resize(i, 7).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
    Target.Offset(4, 4).Resize(i, 1).FormulaR1C1 = "=R20C7*VLOOKUP(RC[-1],Bestrijdingsmiddelen,7)"
    Target.Offset(4, 6).Resize(i, 1).FormulaR1C1 = "=RC[-2]*VLOOKUP(RC[-3],Bestrijdingsmiddelen,3)"
    End If
End Sub

Dubbelklik op een getal in kolom A en de macro wordt uitgevoerd.

Niels
 
Pardon ik zit nog met een probleempje.
Ik heb bij 1 en 6 de bestrijdingsmiddelen niet nodig.
Stom dat ik dit niet eerder verteld heb:facepalm:

paul
 
Laatst bewerkt:
Bij deze, meteen even controle op de inputbox toegevoegd

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, 7).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
            Target.Offset(4, 4).Resize(i, 1).FormulaR1C1 = "=R20C7*VLOOKUP(RC[-1],Bestrijdingsmiddelen,7)"
            Target.Offset(4, 6).Resize(i, 1).FormulaR1C1 = "=RC[-2]*VLOOKUP(RC[-3],Bestrijdingsmiddelen,3)"
        End If
    End If
    Cancel = True
End Sub

Niels
 
Ik heb nu in de andere 2 Tabellen van stap 2 ook de formules geplaatst.
Sorry voor het roven van je tijd, Maar zou graag willen dat die 2 Tabellen ook mee veranderen.
Dus ook I tm N en P tm R in al die Tabellen.

Paul
 
Zit nog een fout in de formule, de blijft verwijzen naar G20 of N20 maar dat zou voor veld 3 een andere cel moeten zijn.
Ik weet even niet hoe dit aan te passen.



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 = "=R20C7*VLOOKUP(RC[-1],Bestrijdingsmiddelen,7)"
            Target.Offset(4, 11).Resize(i, 1).FormulaR1C1 = "=R20C14*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

Niels
 
Laatst bewerkt:
Formule aangepast.

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

Niels
 
Je formule werkt goed voor het aantal Liters. Echter het totaalbedrag heeft nog het probleem wat je eerder benoemde.

Paul
 
totaalbedrag???
daar doe ik toch niks mee???

Niels
 
Sorry ik bedoel gewoon Kolom G.
Als ik bij stap 4 een rij toevoeg pakt hij wel in E het goede nummer Maar in Kolom G krijg ik steeds dezelfde uitkomst als in tabel 1.

Paul
 
Laatst bewerkt:
Reactie

Ik heb die formule gebruikt.
Aangezien het moeilijk uitleggen is voor mij heb ik hier de bijlage bijgedaan die ik nu gebruik.
Dit is jou laatste formule:
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

Probeer Maar is bij stap 4 een rijtje in te voegen en selecteer daar Maar is hetzelfde bestrijdingsmiddel als het 1e rijtje in stap 4. je zult zien dat de bedragen die eruit komen anders zijn terwijl deze hetzelfde moeten zijn.(het bedrag is hetzelfde als bij stap 1.)
Als ik dan verschillende meters invoer bij 1 en 4 krijg ik bij het kostenbedrag bij stap 4 regel 2 hetzelfde bedrag als de 1e regel van stap 1.Bekijk bijlage Model breeding.xlsm
 
waarom is bij 4 de formule anders dan bij 1?

formule bij 1

Code:
=E21*VERT.ZOEKEN(D21;Bestrijdingsmiddelen;3)

formule bij 4 in je nieuwe bestand

Code:
=$G$49*VERT.ZOEKEN(D50;Bestrijdingsmiddelen;3)

Dan kun je wel zeggen dat er iets niet klopt maar dan moet je niet tussendoor de formule gaan wijzigen


Niels
 
Bij zijn dit de formules?
=$E$21*VERT.ZOEKEN(D21;Bestrijdingsmiddelen;3)
=$G$49*VERT.ZOEKEN(D50;Bestrijdingsmiddelen;3)

Ik snap niet dat jij dan een andere formule hebt...

paul
 
Bij 4 ga je mijn inziens de fout in, je doet het aantal m2 * de literprijs
bij 1 doe je het aantal liters * de literprijs, dit lijkt mij logischer
 
Oh wat stom!
De formule bij 4 klopte idd niet.
Mijn nederige excuses...

Bedankt voor alle tijd en hulp.

Live to win!

grtz Paul
 
kijk in je laatst geposte bestand

de formule in cel G21: hier vermenigvuldig je met E21
de formule in cel G50: hier vermenigvuldig je met G49 (dit is dus anders) terwijl logischerwijs die dan E50 zou moeten zijn.

edit: oke je hebt het al gezien :-)

Niels
 
Je hebt 100% gelijk!(Heel raar dit. In het echt ga ik altijd net zo lang door tot ik gelijk heb.)
Heb de formule aangepast naar Liters * literprijs.

paul
 
Status
Niet open voor verdere reacties.

Nieuwste berichten

Terug
Bovenaan Onderaan