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

Vervangen geselecteerde waarde

Status
Niet open voor verdere reacties.

vaneijk

Gebruiker
Lid geworden
31 mrt 2017
Berichten
152
Beste experts van het forum,

Ik heb 2 kleine problemen, de insteek lijkt vrij simpel maar qua opstelling van het script kom ik er zelf niet uit, hopelijk kunnen jullie mij verder helpen.

In heb in een cell meerdere waardes staan (lengtes van restantrollen), deze laat ik opsplitsen en inladen in een listbox.

De bedoeling is dat van de geselecteerde restrol in listbox1 de waarde van textbox1 wordt afgetrokken (uitgave van materiaal) en de nieuwe waarde wordt geplaatst in de cell voor de geselecteerde waarde.

b.v.

cell(3,7) = 1,75cm | 1,35cm | 0,90cm
geselecteerde rol in listbox1 = 1,35cm minus 0,30 (textbox1) = uitkomst
cell(3,7) = 1,75 | uitkomst | 0,90cm


Tevens is er een mogelijkheid dat de geselecteerde rol volledig uitgegeven wordt, dus dan zal deze compleet uit de cell(3,7) moeten verdwijnen. Hoe ik hier mee om zou moeten gaan weet ik niet.

Is er een beste expert/helper die mij hiermee zou kunnen helpen?

hierbij het voorbeeldbestandje Bekijk bijlage Testmagazijn.xlsm
 
Wat je met Combobox1 wil weet ik niet, maar dit lijkt me voldoende.
Zet jouw code helemaal als opmerking of verwijder het en zet onderstaande ervoor in de plaats.


Code:
Private Sub CommandButton1_Click()
If ComboBox2 = "restant rol" And TextBox1.Value Like "0,##" Then
s00 = Split(Cells(3, 7), "| ")
    With ListBox1
     If .ListIndex > -1 Then
       s00(.ListIndex) = Format((Replace(s00(.ListIndex), "cm", "") - TextBox1.Value), "0.00cm")
       Cells(3, 7) = Join(s00, "|")
     End If
    End With
 End If
End Sub


Private Sub UserForm_Initialize()
  ComboBox1.List = Array("Lood 20 pds", "Lood 25 pds", "Lood 30 pds", "Lood 35 pds", "Lood 40 pds")
  ComboBox2.List = Array("volle rol", "restant rol")
  ListBox1.List = Split(Cells(3, 7), "| ")
End Sub
 
Laatst bewerkt:
Beste HSV,

Bedankt voor uw hulp, hier was ik al even mee aan het stoeien. De bedoeling van combobox1 is om vanuit hier een case select te gaan maken, er moeten nog een paar extra haken en ogen aan verbonden worden.
 
Misschien moet je de tweede regel toch maar even aanpassen in..
Code:
Private Sub CommandButton1_Click()
[COLOR=#0000ff]If ComboBox2.ListIndex = 1 And IsNumeric(TextBox1.Value) Then[/COLOR]

Maar goed,..ik weet nog niet wat je van plan bent met combobox1.
 
@HSV,

Ik heb naar even uw opzet gekeken en dit is inderdaad wat ik bedoel. Ik heb echter wel een paar problemen waar ik alweer helaas tegenaan loop en wellicht wilt u mij hiermee ook helpen.

Als er een stuk van de gekozen rol af moet dan gaat het goed, als er meerdere verschillende waardes in de range staan. Als er 2 dezelfde lengtes of meer instaan (wat voorkomt in de praktijk) dan loopt hij vast doordat er (waarschijnlijk?) geen onderscheid te maken is. Ook als de gekozen rol moet komen te vervallen door de gehele lengte aan te geven loopt hij ook vast wellicht doordat er geen waarde meer is om weg te schrijven.
 
Kun je dat eens aantonen in een bestand met mijn code en de handelingen die je daarbij doet.
 
dmv combobox 1 wil ik een Select Case ComboBox1.Value van maken om de Access database aanspreken van het type materiaal en hier de resterende data gelijk in laten verwerken.
De wegschrijving is in het voorbeeld in excel maar het gaat uiteindelijk allemaal naar een access database
 
Dan kan je beter een nieuwe vraag aanmaken in Visual Basic for Application, en in de titel aangeven dat het om Access gaat.

Daar is bijna iedere dag iemand actief die erg goed is in die materie.
 
en ik heb het foutje gevonden xD mijn excuses. Ik had staan " | " ( met extra spaties ertussen ) en u "|" zonder spaties, het werkt dus wel perfect !! Hartelijk bedankt !!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan