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

Opgelost Voorwaardelijke opmaak kostprijs simulatie

Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

Georgyboy

Terugkerende gebruiker
Lid geworden
6 jan 2007
Berichten
1.020
Besturingssysteem
Windows 11
Office versie
365
Goeiedag ieder,

Heb een Excel Tabblad Met VBA code op 1 Tabel "Prijs aanpassing" en onderstaand een tabel gewicht aanpassing.
Op de eerste Tabel (Prijs Aanpassing) is er een VBA code met voorwaardelijke opmaak en een Code om de opmaak te wissen.

In kolom C staan de huidige waarden van de prijs voor tabel "prijs aanpassing"

In kolom D staan de huidige waarden van de prijs voor tabel "Gewicht aanpassing"

De voorwaardelijke opmaak is nu ingesteld op de 1° tabel (Prijs aanpassing)
1) Doch had graag geen opmaak als de waarde gelijk is uit kolom C.

2 Idem voor de 2° tabel maar dan uit kolom D

In Kolom aanpassing mogen er wijzigen zijn behalve moet het eindgewicht en 2 velden niet wijzigen.

Wat is er mogelijk te wijzigen in de VBA Code?

Alvast bedankt,
Georgyboy
 

Bijlagen

Goedemorgen,

Dit zijn de VBA Codes die wellicht kunnen worden aangepast?




Sub WisVoorwaardelijkeOpmaak()
Dim ws As Worksheet

' Verwijder voorwaardelijke opmaak van een specifiek werkblad
Set ws = ThisWorkbook.Sheets("KostSimulaties") ' Vervang "KostSimulaties" door de naam van je werkblad
ws.Cells.FormatConditions.Delete ' Verwijder voorwaardelijke opmaak van het hele werkblad

MsgBox "Alle voorwaardelijke opmaak is verwijderd."
End Sub


Sub KleurRij()
Dim ws As Worksheet
Dim compareValue As Double
Dim startRow As Long
Dim endRow As Long
Dim i As Long
Dim specificValue As Double

' Verander "KostSimulaties" naar de naam van je werkblad
Set ws = ThisWorkbook.Sheets("KostSimulaties")

' Definieer de start- en eindrij
startRow = 4
endRow = 8

' Definieer de specifieke waarde waarmee je wilt vergelijken
specificValue = 0 ' Vervang 0 door de specifieke waarde

' Loop door elke rij in het bereik
For i = startRow To endRow
' Verkrijg de waarde van de overeenkomstige cel in kolom C
compareValue = ws.Cells(i, 3).Value ' C-kolom (kolom 3)

' Controleer of de waarde niet gelijk is aan de specifieke waarde
If compareValue <> specificValue Then
' Verwijder bestaande voorwaardelijke opmaak
ws.Range("F" & i & ":P" & i).FormatConditions.Delete

' Voeg een nieuwe kleurenschaal voorwaardelijke opmaak toe
With ws.Range("F" & i & ":P" & i).FormatConditions.AddColorScale(ColorScaleType:=3)
' Minimum waarde (groen)
.ColorScaleCriteria(1).Type = xlConditionValueLowestValue
.ColorScaleCriteria(1).FormatColor.Color = RGB(0, 255, 0)

' Middenwaarde (geel)
.ColorScaleCriteria(2).Type = xlConditionValueNumber
.ColorScaleCriteria(2).Value = compareValue
.ColorScaleCriteria(2).FormatColor.Color = RGB(255, 255, 0)

' Maximum waarde (rood)
.ColorScaleCriteria(3).Type = xlConditionValueHighestValue
.ColorScaleCriteria(3).FormatColor.Color = RGB(255, 0, 0)
End With
End If
Next i
End Sub
 
Dag iedereen,
Iemand een voorstel hoe dit beter te doen?
Alvast bedankt!
 
bereik F4:I8
  • Wordt grondstof V 1€/kg duurder, dan stijgt de eenheidsprijs met 0.394€
  • wordt grondstof V 1% duurder dan neemt de eenheidsprijs met 0.46% (ofwel 0.025€) toe (eigenlijk "prijselasticiteit")
  • verander je het gewicht van grondstof V met x gram of kg (en bijgevolg zakken 2 andere grondstoffen gezamelijk met dat gewicht) dan neemt de eenheidsprijs toe met 0.0178 €/verandering (in kg)
 

Bijlagen

Dankjewel Cow18,

Sorry voor mijn late reactie! we hebben om de ongeveer 14 dagen een weekendje met de kleindochter van bijna 7.
200% Quality Time :)
Leert me schaken, spelletjes spelen, spelen algemeen, lach filmpjes bekijken, verzonnen verhaaltjes en zoveel meer.....

Als ik dan even op de computer wil zijn dan is dit direct ik wil dit ook met die kotjes (Excel), spelen met woordjes, cijfertjes, .....

Dank voor je Functie! een heel andere aanpak dan mijn eerste opzet.
Probeer dit ook verder te ontdekken en te gebruiken voor toepasselijke andere berekeningen.

Voor ons is het belangrijk waar mag de prijs en volumes te kunnen wijzigen en dit toe te passen, wel met behoud van hetzelfde eindproduct.
Grondstof V kan vandaag 6.25€ kosten en grondstof V DV 6.10€ dan kunnen we die volumes licht aanpassen indien dezelfde nutritionele waarden (vet, eiwit, ....)

We moeten steeds rekening houden met vraag en aanbod en concurrentieel blijven.

Zo is handig om zoveel als mogelijk snel te wijzigen en te visualiseren.
 
zoals je het nu stelt, is dat een typische vraag voor SOLVER/OPLOSSER.
Daarvoor moet je die dus activeren in Bestand>opties>invoegtoepassingen
1730033954847.png

Daarna moet je nog een verwijzing aanmaken, als je die ook in VBA wenst te gebruiken, dus
1730034041543.png

en dan zijn we vertrokken ....

Kan je anders eens je bestandje sturen met daarbij de samenstelling van ieder van je producten in % Vet, % Eiwit, kCal (of kJk) /100 gr, droge stof, en dan de marges waarbinnen je oplossing zich moet bevinden.

Momentje, ik maak alvast een voorbeeldje ...
 
je mag alles aanpassen behalve de groene cellen.
tabel1 is dus alle gegevens van je grondstoffen, waarbij dan de 3e laatste en de laatste kolom het min en max aandeel van elk produkt in het eindresultaat is.
Daarboven heb je dan rij 2 en 4 de min en max grens waarbinnen een bepaalde bestanddeel zich moet bevinden.
Kan je die tabel anders eens aanpassen ?
Kon j iets met de vorige opmerking om die invoegtoepassing te selecteren en ev. die VBA-verwijzing aan te maken ?
 

Bijlagen

Dag Cow18,

Dank voor het nieuwe voorstel, het 1° is zeker en vast een bruikbare manier wat ik zeker kan gebruiken :)
ook je 2° opzet is zeer bruikbaar!

Hier nog eens een simulatie weg van gevoelige info!
 

Bijlagen

ik heb de max voor KH, suikers en zout moeten aanpassen, anders vond Oplosser geen oplossing ....😇
 

Bijlagen

sorry foutje, ik had de duurste oplossing gevraagd hierboven, het moest natuurlijk de goedkoopste zijn, dus bij deze ...
Je zout is een probleem, door je "mix" breng je al zoveel zout binnen, dat je nooit onder die 1.5 kan komen, dus die even aangepast naar 1.6
Daarnaast levert Oplosser nog bijkomende info, maar dat wordt al snel vrij technisch, dus voor een latere bijdrage.
 

Bijlagen

even die technische details in het blad "Gevoeligheidsrapport" en met wat aangepaste (misschien niet realistische) grenzen in het model.
De oranje cellen zijn die cellen waar oplosser tegen aan loopt, dus de "beperkende" factoren.
De oplossing in de groene cellen dik omlijnd is de oplossing, nu is de vraag hoe lang blijft die oplossing geldig als je met iets gaat spelen, ttz. prijs van een element of een grens. Je kan eigenlijk 3 rapporten generen binnen oplosser, maar gevoeligheid biedt het meest, en toch kan je er nog niet zoveel mee.
De macro "Gevoelig" maakt één en ander wat gemakkelijker toegankelijk.
  • Bovenste deel "Variabele cellen", in kolom D heb je de waarden voor waarden die oplosser mocht aanpassen en in kolom F (groen) de gebruikte prijzen. Bon, in kolom J:K staat het bereik waarbinnen de oplossing ongewijzigd blijft. Dus "grondstof V DV" kost vandaag 6€, (alle andere zaken blijven gelijk !!!) die prijs mag dus zakken naar 4€ of stijgen naar 6.25€, de oplossing zal niet veranderen (die groene omkaderde cellen van Blad1)
  • Onderste deel "Randvoorwaarden", in kolom D (groen) zijn de waarden van de randvoorwaarden weergegeven, in de kolommen J:K staat hetzelfde als hierboven, dat zijn de grenzen waarbinnen de groen omkaderde oplossing van blad1 niet zal wijzigen. In kolom E (gele cellen) staat er dan nog een schaduwprijs voor beperkende randvoorwaarden (de anderen zijn 0), dus bijvoorbeeld "Grondstof V", die moest minimaal 2% zijn, nu zegt het model dan 1 eenheid (in dit geval 100% dus) je -0.25 kost, dus moest je die 2% veranderen naar 0% dan zou je eenheidsprijs 2% van die 0.25 of 0.005€ goedkoper worden. Dus je die grondstof is eigenlijk zoveel te duur om in de oplossing gebracht te worden. Die 0.25 zie je anders ook terugkeren in cel H10.
Al bij al vrij technisch en je moet heel hard nadenken🤓voor je iets zegt, maar ik heb je toch de mogelijkheid getoond.
 

Bijlagen

Dankjewel voor de aangeboden oplossing!

Vraagt voor deze wat denkwerk maar heb gekregen waar ik om gevraagd heb.
Zal er even moeten op kauwen! :)
Zal in het vervolg dieper nadenken voor ik iets zeg ;)

Bekijk het dit weekend wat meer in detail!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan