Hallo,
Ik ben bezig om een tooltje te maken in VBA maar ik loop nog vast op 1 functie.
In het verleden had ik ooit eens een tool gemaakt die wat Magazijn handelingen kon registreren en werden er wat werkzaamheden uitgevoerd waarbij er altijd een omstapeling plaats vond van 5 pallets met goederen naar 5 gemixte pallets (van iedere pallet steeds 1 tray goederen).
Nu zijn hier wat variaties op gekomen waardoor ik niet altijd van 5 pallets uit kan gaan. Sommige variaties hebben slechts 2, 3 of 4 pallets.
Mijn gehele tool heb ik hier vrijwel op aangepast.
Ik loop echter nog vast bij de volgende routine:
Ik stap deze routine in waarbij diverse waardes/variabelen al bekend zijn (vanuit een UserForm).
THT1 = 210630
THT2 = 210630
THT3 = 210530
THT4 = ""
THT5 = ""
In de oude situatie waren altijd alle 5 de THT waardes gevuld en kreeg ik een kloppende uitkomst.
Nu zijn de waardes THT3, THT4 of THT5 soms leeg.
Ik heb getracht om hier wat op te bedenken. Een dynamische Array die zich vult aan de hand van
de invoer. Met een extra argument om het aantal (1, 2, 3, 4 of 5 stuks) vooraf kenbaar te maken.
Ik kwam hier vervolgens op de volgende code uit:
Als ik de routine in stap zijn de volgende waardes/variabelen al bekend:
AantalPallets = 3
THT1 = 210630
THT2 = 210630
THT3 = 210530
THT4 = ""
THT5 = ""
De waardes THT4 en THT5 zouden dus niet hoeven te worden meegenomen. Dan werkt de .Min (Minimum) functie niet goed.
Toch gaat hier ergens iets nog niet goed. Mijn uitkomst is telkens "0".
Doe ik nog iets verkeerd in mijn code? Of is mijn aanpak onhandig? Ik krijg de oorzaak niet gevonden!
----------
Zojuist nog wat meer getest.
Als ik nu het volgende toevoeg aan de routine:
Krijg ik als uitkomst: "1, 2, 3".
Ik had verwacht dat hier eigenlijk de waarde van de variabelen: THT1, THT2 en THT3 zou komen te staan!
Ik ben bezig om een tooltje te maken in VBA maar ik loop nog vast op 1 functie.
In het verleden had ik ooit eens een tool gemaakt die wat Magazijn handelingen kon registreren en werden er wat werkzaamheden uitgevoerd waarbij er altijd een omstapeling plaats vond van 5 pallets met goederen naar 5 gemixte pallets (van iedere pallet steeds 1 tray goederen).
Nu zijn hier wat variaties op gekomen waardoor ik niet altijd van 5 pallets uit kan gaan. Sommige variaties hebben slechts 2, 3 of 4 pallets.
Mijn gehele tool heb ik hier vrijwel op aangepast.
Ik loop echter nog vast bij de volgende routine:
Ik stap deze routine in waarbij diverse waardes/variabelen al bekend zijn (vanuit een UserForm).
THT1 = 210630
THT2 = 210630
THT3 = 210530
THT4 = ""
THT5 = ""
code:
1
| FinalTHT = WorksheetFunction.Min(THT1, THT2, THT3, THT4, THT5) |
In de oude situatie waren altijd alle 5 de THT waardes gevuld en kreeg ik een kloppende uitkomst.
Nu zijn de waardes THT3, THT4 of THT5 soms leeg.
Ik heb getracht om hier wat op te bedenken. Een dynamische Array die zich vult aan de hand van
de invoer. Met een extra argument om het aantal (1, 2, 3, 4 of 5 stuks) vooraf kenbaar te maken.
Ik kwam hier vervolgens op de volgende code uit:
Als ik de routine in stap zijn de volgende waardes/variabelen al bekend:
AantalPallets = 3
THT1 = 210630
THT2 = 210630
THT3 = 210530
THT4 = ""
THT5 = ""
De waardes THT4 en THT5 zouden dus niet hoeven te worden meegenomen. Dan werkt de .Min (Minimum) functie niet goed.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| Dim THTArray() As Variant Dim X As Long X = 1 ReDim THTArray(1 To AantalPallets) For X = 1 To AantalPallets THTArray(X) = THT & X Next X FinalTHT = WorksheetFunction.Min(THTArray) |
Toch gaat hier ergens iets nog niet goed. Mijn uitkomst is telkens "0".
Doe ik nog iets verkeerd in mijn code? Of is mijn aanpak onhandig? Ik krijg de oorzaak niet gevonden!

----------
Zojuist nog wat meer getest.
Als ik nu het volgende toevoeg aan de routine:
code:
1
| Debug.Print Join(THTArray, ", ") |
Krijg ik als uitkomst: "1, 2, 3".
Ik had verwacht dat hier eigenlijk de waarde van de variabelen: THT1, THT2 en THT3 zou komen te staan!

[Voor 7% gewijzigd door Da_maniaC op 18-01-2022 10:25]
Inventory | Instagram: @sequenzpounder | http://www.zdaemon.org | ZDaemon! Client/Server port for DOOM!