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

Gegevens wegschrijven

Status
Niet open voor verdere reacties.

Hemijo

Nieuwe gebruiker
Lid geworden
20 mei 2013
Berichten
4
Hallo allemaal,

Het maken van een eenvoudig calculatiemodel lukt me aardig, alleen krijg ik de gegevens niet weggeschreven.
Wanneer de juiste info is ingevoerd op tabblad "calculatie" wil ik graag dat deze wordt weggeschreven op tabblad "recepten" nadat er op de knop "opslaan" (D21) wordt geklikt.
De gegevens op tabblad "calculatie" moeten behouden blijven. Wanneer er weer op "opslaan" wordt geklikt is het de bedoeling dat alle gegevens op een nieuwe (blanco) regel wordt weggeschreven, dus onder de vorige.
Het gaat alleen om de rode gegevens, de totalen kunnen in het tabblad "recepten" worden berekend lijkt me?
Als voorbeeld heb ik een paar celverwijzingen geplaatst op het tabblad "recepten".

Is dit te doen?

Alvast bedankt van een leek;-)

Bekijk bijlage tekst_wegschrijven.xlsx
 
Goedemorgen,

Met formules zal dit je niet lukken, het is dan namelijk niet mogelijk om het calculatie blad leeg te maken en de gegevens te behouden.

Je zult een macro (VBA-code) moeten maken om de gegevens weg te schrijven naar de database.

Nog een opmerking, is het niet handig om de prijs te behouden? als je in de toekomst prijswijzigingen krijgt kloppen de prijzen van de oude calculaties niet meer.
 
Hallo,

Dat het met vba gaat gebeuren dacht ik al, dat is geen probleem.
Alleen kom ik niet achter de juiste code.

Ik heb onderstaande geprobeerd en het werkt.
Ik begrijp alleen niet hoe ik dit toe kan passen voor alle ingrediënten, 13 in totaal.
Daarnaast snap ik niet hoe ik dit kan toepassen voor bijvoorbeeld alleen de naam v/h gerecht, zonder dat daar iets anders aan gekoppeld is, zoals gram gekoppeld is aan ingrediënt.
Overigens is het de bedoeling dat de 'oude' gegevens op tabblad calculatie blijven staan. De prijs moet idd ook worden overgenomen, dat is wel handig ja;-)

Is dit op te lossen?

Private Sub CommandButton1_Click()
Dim ingredient As String, gram As Integer
Worksheets("calculatie").Select
ingredient = Range("B25")
gram = Range("E5")
Worksheets("recepten").Select
Worksheets("recepten").Range("B1").Select
If Worksheets("recepten").Range("B1").Offset(1, 0) <> "" Then
Worksheets("recepten").Range("B1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = ingredient
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram
Worksheets("calculatie").Select
Worksheets("calculatie").Range("B21").Select
End Sub
 
We zijn alweer een heel stuk verder;-)
Ik heb de code zo geschreven dat de juiste gegevens op de juiste plaats worden weggeschreven, wat is dát handig zeg!
Het enige waar ik nog tegenaan loop is dat het bedrag, € 1,66 als voorbeeld, wordt vermenigvuldigd met 10.000.
Is dat nog op te lossen?
 
en hoe ziet de code er uit?
 
Hoogstwaarschijnlijk heeft de 1,66 die weergegeven wordt als 10.000x groter te maken met de getalnotatie van het veld waarin het geplaatst wordt???
 
Hallo allemaal,

Bedankt voor de reacties, het probleem is inmiddels verholpen door de ActiveCell.Value te delen door 1.
Geen idee waarom dit werkt, maar het werkt.

De complete staat hieronder.
Deze zal vast eenvoudiger kunnen, maar zover gaat mijn kennis niet, dit is m'n eerste vba om eerlijk te zijn.
Iedereen bedankt voor de input.

Private Sub CommandButton1_Click()

Dim SmaakNaam As String
Dim ingredient1 As String, gram1 As Integer
Dim ingredient2 As String, gram2 As Integer
Dim ingredient3 As String, gram3 As Integer
Dim ingredient4 As String, gram4 As Integer
Dim ingredient5 As String, gram5 As Integer
Dim ingredient6 As String, gram6 As Integer
Dim ingredient7 As String, gram7 As Integer
Dim ingredient8 As String, gram8 As Integer
Dim ingredient9 As String, gram9 As Integer
Dim ingredient10 As String, gram10 As Integer
Dim ingredient11 As String, gram11 As Integer
Dim ingredient12 As String, gram12 As Integer
Dim GramTotaal As String
Dim EuroTotaal As String
Dim EuroBol As String
Worksheets("melk").Select
SmaakNaam = Range("B21")
ingredient1 = Range("B24")
gram1 = Range("E24")
ingredient2 = Range("B25")
gram2 = Range("E25")
ingredient3 = Range("B26")
gram3 = Range("E26")
ingredient4 = Range("B27")
gram4 = Range("E27")
ingredient5 = Range("B28")
gram5 = Range("E28")
ingredient6 = Range("B29")
gram6 = Range("E29")
ingredient7 = Range("B30")
gram7 = Range("E30")
ingredient8 = Range("B31")
gram8 = Range("E31")
ingredient9 = Range("B32")
gram9 = Range("E32")
ingredient10 = Range("B33")
gram10 = Range("E33")
ingredient11 = Range("B34")
gram11 = Range("E34")
ingredient12 = Range("B35")
gram12 = Range("E35")
GramTotaal = Range("E37")
EuroTotaal = Range("AC37")
EuroBol = Range("AC39")
Worksheets("recepten").Select
Worksheets("recepten").Range("A1").Select
If Worksheets("recepten").Range("A1").Offset(1, 0) <> "" Then
Worksheets("recepten").Range("A1").End(xlDown).Select
End If
ActiveCell.Offset(1, 0).Select
ActiveCell.Value = SmaakNaam
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram2
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram3
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient4
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram4
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient5
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram5
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient6
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram6
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient7
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram7
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient8
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram8
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient9
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram9
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient10
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram10
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient11
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram11
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = ingredient12
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = gram12
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = GramTotaal
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = EuroTotaal / 1
ActiveCell.Offset(0, 1).Select
ActiveCell.Value = EuroBol / 1
ActiveCell.Offset(0, 1).Select
Worksheets("melk").Select
Worksheets("melk").Range("B21").Select

End Sub
 
om te beginnen zou je alle select statements eruit kunnen halen, dus i.p.v.

ActiveCell.Offset(1, 0).Select
ActiveCell.Value = SmaakNaam

ActiveCell.Offset(1, 0).Value = SmaakNaam

Let op dat je selectie dan dus NIET mee schuift, en je de volgende offset dus moet veranderen.......
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan