Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

  • Clavis
  • Registratie: Mei 2009
  • Laatst online: 12:18
Beste medetweakers,

Ben hier aan het stoeien met een excel sheet.
Daar moet een formule inkomen die bijhoud hoeveel ml er nog in een flesje/potje net wat zit.
Dus als volgd:

Hoeveelheid:
Bijvoorbeeld 10. Dit is de beginwaarde, kan 10 of 30 of bijvoorbeeld 100 zijn.

Gebruikt:
Ik pak 5 van de 10/30/100 af. Dan blijft er nog 5/25/95 over.

Resterend:
5/25/95.

Mijn vraag als volgt. Ik probeer dus een formule te bedenken die de resterende inhoud "bewaard" en als ik volgende keer weer 5 invul dat het 0/20/90 wordt.


Is dit mogelijk met excel? Heb zelf al wat rondgezocht, maar weet niet hoe ik dit het beste kan formuleren in google..

Verwijderd

Je wil dus data in een cel invoeren en die moet dan verwerkt worden, waarna de cel weer leeg is?

Dat gaat je zonder macro niet lukken.

  • Clavis
  • Registratie: Mei 2009
  • Laatst online: 12:18
Verwijderd schreef op maandag 07 november 2016 @ 13:49:
Je wil dus data in een cel invoeren en die moet dan verwerkt worden, waarna de cel weer leeg is?

Dat gaat je zonder macro niet lukken.
De waarde kan gewoon bij "resterend" blijven staan.
Maar inderdaad, die moet verwerkt worden en afgetrokken van het totaal.
Daarna eventueel "gebruikt" weer op 0. Zodra ik de volgende keer weer een cijfer kan invullen en dit weer van het totaal wordt afgetrokken.

Verwijderd

Buiten macro's zit je met een standaard excel blad aan de volgende restricties:

Een cel bevat of een waarde, of een formule.De formule geeft een resultaat, deze zie je in de cel.

De resultaten die de formules geven kunnen alleen veranderen door de cellen met waarden te wijzigen (of de formules uiteraard). Formules kunnen geenandere cellen met waarden wijzigen!

In de oplossing die jij wil loop je aan tegen het probleem dat het resultaat niet meer af te leiden is uit de waarden als je niet alle onttrekkingen bijhoudt in excel.

Je kan als invoer een lijst met onttrekkingen bij houden en een beginstand van de potjes. En als uitvoer een formule die beginstand minus onttrekkingen laat zien.

Een macro kan wel andere cellen met waarden aanpassen. Je kan een knop maken in de sheet met 'ontrekking' Die knop start dan een macro die in een userform vraagt hoeveel je wil onttrekken. De macro kan de waarde van je potjes daarmee verlagen. Je hebt dan altijd alleen de actuele stand en zonder logging geen historie van onttrekkingen.

  • jopie
  • Registratie: Juli 1999
  • Laatst online: 11:19
Je zou op een plek de inhoud van het potje kunnen zetten (bijvoorbeeld cel A1).
Dan op cel H1 t/m H99 onder elkaar invullen wat er uit het potje gehaald wordt (bijvoorbeeld H1 10, H2 5, H3, 15 enz...)
A2 kun je dan vullen met SOM H1:H99
A3 zou kunnen worden =A1-A2
Dan wordt er in A3 precies weergegeven wat er nog in het flesje zit.

  • Clavis
  • Registratie: Mei 2009
  • Laatst online: 12:18
jopie schreef op maandag 07 november 2016 @ 14:08:
Je zou op een plek de inhoud van het potje kunnen zetten (bijvoorbeeld cel A1).
Dan op cel H1 t/m H99 onder elkaar invullen wat er uit het potje gehaald wordt (bijvoorbeeld H1 10, H2 5, H3, 15 enz...)
A2 kun je dan vullen met SOM H1:H99
A3 zou kunnen worden =A1-A2
Dan wordt er in A3 precies weergegeven wat er nog in het flesje zit.
Thanks, dat kan ook. Maar het moet wel overzichtelijk blijven. Dus zo weinig mogelijk informatie op het werkblad. (Behalve de info die er toe doet uiteraard).
Verwijderd schreef op maandag 07 november 2016 @ 14:06:
Buiten macro's zit je met een standaard excel blad aan de volgende restricties:

Een cel bevat of een waarde, of een formule.De formule geeft een resultaat, deze zie je in de cel.

De resultaten die de formules geven kunnen alleen veranderen door de cellen met waarden te wijzigen (of de formules uiteraard). Formules kunnen geenandere cellen met waarden wijzigen!

In de oplossing die jij wil loop je aan tegen het probleem dat het resultaat niet meer af te leiden is uit de waarden als je niet alle onttrekkingen bijhoudt in excel.

Je kan als invoer een lijst met onttrekkingen bij houden en een beginstand van de potjes. En als uitvoer een formule die beginstand minus onttrekkingen laat zien.

Een macro kan wel andere cellen met waarden aanpassen. Je kan een knop maken in de sheet met 'ontrekking' Die knop start dan een macro die in een userform vraagt hoeveel je wil onttrekken. De macro kan de waarde van je potjes daarmee verlagen. Je hebt dan altijd alleen de actuele stand en zonder logging geen historie van onttrekkingen.
Thanks, historie van onttrekkingen is niet nodig. Maar zal eens met jou uitleg gaan experimenteren.
Zou je nog kunnen toelichten met wat je bedoeld met:

"Je kan als invoer een lijst met onttrekkingen bij houden en een beginstand van de potjes. En als uitvoer een formule die beginstand minus onttrekkingen laat zien."

[ Voor 17% gewijzigd door Clavis op 07-11-2016 14:16 ]


  • MeltedForest
  • Registratie: Februari 2007
  • Laatst online: 14-11 17:04

MeltedForest

Lenny-t

B1 is de beginwaarde B2 de hoeveelheid die je eruit haalt en B3 de resterende waarde dmv de formule =B1-B2.

Ergens op de sheet heb je een knop 'Reset' die het volgende doet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Reset_Click()
    'Kopieer restwaarde naar beginwaarde
    Range("B3").Select
    Selection.Copy
    Range("B1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    
    'Zet hoeveelheid op 0
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "0"
End Sub

  • Clavis
  • Registratie: Mei 2009
  • Laatst online: 12:18
MeltedForest schreef op maandag 07 november 2016 @ 14:25:
B1 is de beginwaarde B2 de hoeveelheid die je eruit haalt en B3 de resterende waarde dmv de formule =B1-B2.

Ergens op de sheet heb je een knop 'Reset' die het volgende doet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
Private Sub Reset_Click()
    'Kopieer restwaarde naar beginwaarde
    Range("B3").Select
    Selection.Copy
    Range("B1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
    
    'Zet hoeveelheid op 0
    Range("B2").Select
    ActiveCell.FormulaR1C1 = "0"
End Sub
Thanks, maar volgens mij werkt deze niet helemaal zoals ik het wil.

Wil graag dat er 1 cel met de hoeveelheid "vast" is. Dus altijd 10 of wat dan ook.
Als ik dan 2 ML gebruik moet er bij de cel "vast" 8 komen staan.

Dus stel ik heb 100ML bij "vast", daar haal ik bij "gebruikt" 50 van af heb ik bij "over" 50.

Heb een plaatje bijgevoegd.Afbeeldingslocatie: http://imgur.com/a/xOUBj

Als ik dan de volgende keer bijvoorbeeld 1 gebruik moet er i.p.v. 9 in tabel "over" 1 in tabel "over" komen staan.

[ Voor 8% gewijzigd door Clavis op 07-11-2016 15:46 ]


Verwijderd

Dat gaat op zich niet heel anders. Is er haast bij? Zo niet, dan post ik vanavond wel een voorbeeldje voor je.

  • Clavis
  • Registratie: Mei 2009
  • Laatst online: 12:18
Verwijderd schreef op maandag 07 november 2016 @ 15:47:
Dat gaat op zich niet heel anders. Is er haast bij? Zo niet, dan post ik vanavond wel een voorbeeldje voor je.
Nee hoor, heb er tijd genoeg mee!

Verwijderd

OK heel simpel (en niet erg robuust) voorbeeld:
Maak een nieuwe excel workbook aan.

Vuld e volgende cellen:
B2: ' Hoeveel heb je gebruikt
B6: 'Voorraad:

C5: Klein
D5: Middel
E5: Groot


C6: 10
D6: 30
E6: 100

Maak de volgende macro:
code:
1
2
3
4
5
6
7
8
9
10
Sub UpdateVoorraad()

    Waarde = Range("C2").Value
    
    Range("C6").Value = Range("C6").Value - Waarde
    Range("D6").Value = Range("D6").Value - Waarde
    Range("E6").Value = Range("E6").Value - Waarde
    Range("C2").Value = 0

End Sub


In het developer pane kies voor Insert en voeg een knop toe.

Rechtklik de knop en assign macro -> UpdateVoorraad

in C2 zet je nu de waarde die je in mindering wil brengen en als je op de knop drukt wordt alle voorraad met de waarde in C2 verlaagd.

Checken op voldoende voorraad e.d. kan je in de code toevoegen. Er is genoeg over VBA te vinden op het internet.

  • Clavis
  • Registratie: Mei 2009
  • Laatst online: 12:18
Verwijderd schreef op maandag 07 november 2016 @ 19:51:
OK heel simpel (en niet erg robuust) voorbeeld:
Maak een nieuwe excel workbook aan.

Vuld e volgende cellen:
B2: ' Hoeveel heb je gebruikt
B6: 'Voorraad:

C5: Klein
D5: Middel
E5: Groot


C6: 10
D6: 30
E6: 100

Maak de volgende macro:
code:
1
2
3
4
5
6
7
8
9
10
Sub UpdateVoorraad()

    Waarde = Range("C2").Value
    
    Range("C6").Value = Range("C6").Value - Waarde
    Range("D6").Value = Range("D6").Value - Waarde
    Range("E6").Value = Range("E6").Value - Waarde
    Range("C2").Value = 0

End Sub


In het developer pane kies voor Insert en voeg een knop toe.

Rechtklik de knop en assign macro -> UpdateVoorraad

in C2 zet je nu de waarde die je in mindering wil brengen en als je op de knop drukt wordt alle voorraad met de waarde in C2 verlaagd.

Checken op voldoende voorraad e.d. kan je in de code toevoegen. Er is genoeg over VBA te vinden op het internet.
Thanks! Zal er eens mee gaan hobbyen.
Pagina: 1