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

waarde in cel met 1 verminderen aan de hand van keuze in ComboBox op ander Blad !?

Status
Niet open voor verdere reacties.

nhojnavslig

Gebruiker
Lid geworden
13 dec 2005
Berichten
80
Hallo iedereen,

Ik ben op zoek naar een "regeltje" dat ervoor zorgt dat de keuze die word gemaakt in de ComboBox, op een ander WerkBlad de waarde in een bepaalde cel met 1 verminderd, ... ?

Zie TextVakje in de Bijlage, ...

Bij voorbaat Dank, John
 

Bijlagen

Deze?
Code:
Private Sub ComboBox1_Change()
    With Sheets("Blad3")
        Select Case ComboBox1.Text
            Case 6:  .Range("E4") = .Range("E4") - 1
            Case 8:  .Range("F4") = .Range("F4") - 1
            Case 10: .Range("G4") = .Range("G4") - 1
        End Select
    End With
End Sub
 
Nog eentje.

Code:
Private Sub CommandButton2_Click()
 If ComboBox1.ListIndex > -1 Then
   With Sheets("blad3").Range("E4")
    .Offset(, ComboBox1.ListIndex) = .Offset(, ComboBox1.ListIndex) - 1
   End With
 End If
Unload Me
End Sub
 
Als we toch bezig zijn ;)
Code:
Private Sub ComboBox1_Change()
    With Sheets("Blad3")
        kol = Choose(ComboBox1.Text, , , , , , 5, , 6, , 7)
        .Cells(4, kol) = .Cells(4, kol) - 1
    End With
End Sub

Of:
Code:
Private Sub ComboBox1_Change()
    Sheets("Blad3").Cells(4, Choose(ComboBox1.Text, , , , , , 5, , 6, , 7)) = Sheets("Blad3").Cells(4,  Choose(ComboBox1.Text, , , , , , 5, , 6, , 7)) - 1
End Sub

Wie biedt minder! :D
Moet een uitdaging zijn voor snb ;)
 
Laatst bewerkt:
Of minder perse beter is weet ik niet. Van 'zwevende' cellen houd ik niet.

Code:
Private Sub CommandButton2_Click()
  If ComboBox1.ListIndex > -1 Then Sheets("Blad3").Cells(4, 2).Offset(, ComboBox1 / 2) = Sheets("Blad3").Cells(4, 2).Offset(, ComboBox1 / 2) - 1
End Sub
 
Laatst bewerkt:
Helemaal mee eens. Mijn voorkeur gaat altijd uit naar leesbaarheid.
 
Heren, ....
een overvloed aan oplossingen, :D in mijn meegestuurde voorbeeldje werken ze allemaal !!
Echter in het bestandje waar ik mee bezig ben krijg ik het (tot nu toe) nog niet werkend ! :d:d:d
Nog even puzzelen, ..... misschien kom ik er nog een keer mee terug !?

Alvast hartelijk bedankt !!

John
 
Heren,
Zoals hierboven "beloofd" kom ik nog een keer terug op mijn initiële vraag.
Ik krijg de aangereikte oplossingen niet in "mijn" bestand ingevoegd, .... het invoegen veroorzaakte diverse fouten, bij de verschillende oplossingen.
door mijn ZEER beperkte kennis van VBA (eigenlijk enkel knippen en plakken van stukjes code etc.) weet ik de juiste oplossing niet te vinden!!

We gebruiken dit bestandje (ook met veel hulp destijds van "Worksheet.NL) al sinds 2008 (naar volle tevredenheid op het werk)
Nu willen wij zelf ook de bestellingen gaan doen, vandaar deze "uitbreiding" zodat we ook zicht hebben op de actuele voorraad materiaal.

Ik hoop dat eea duidelijk is in het bijgesloten bestand.
Wie kan mij verder helpen, ....

Bij voorbaat dank, John
 

Bijlagen

Is er ook een gebruiksaanwijzing?
 
Hallo HSV,
Een gebruiksaanwijzing, ... tja daar heb ik niet aan gedacht, :shocked:

Je begint linksboven en kiest een dienst en operator (velden met een * moeten worden ingevuld) vervolgens kies je een diameter, dan de leverancier, als je hier "geen label" selecteerd
worden de volgende velden overgeslagen (hier komen automatisch kruisjes in te staan).
bij de "rekgegevens" maakt het niks uit wat je invult, als het maar 6 cijfers zijn, en rekhoogte maakt ook niks uit.
Als bij "" Diameter" 6 of 8 MM word gekozen, moet ook 1 van de radio buttons worden "aangevinkt" !
daarna worden de gegevens op het desbetreffende Blad geschreven.

Bij het UserForm op het blad "Voorraad" word achter een diameter een getal ingevuld (aantal rollen geleverd, normaal bestaat een levering uit 12 rollen staal)
Op het Blad "Log" word bijgehouden wanneer er hoeveel rollen zijn geleverd.

Voor de duidelijkheid, ... de Bladen "Voorraad"en "Log" zijn nieuw dus nu pas bijgevoegd, de rest van het bestand word al jaren (in die vorm) gebruikt.

Ik hoop dat dit eea wat duidelijker maakt !?

John
 
Dit bedoel je?
Code:
[COLOR=#ff0000]If IsNumeric(TextBox2) Then[/COLOR] Range("B17") = Range("B17") + TextBox2.Value
 
Is het 1 vraag of zijn het meerdere vragen? Probeer wat structuur in de hele code aan te brengen. Voor het voorraadbeheer bv.

Code:
Private Sub CommandButton1_Click()
  ar = Sheets("Voorraad").Cells(17, 2).Resize(, 6)
  Dim ar1(6) As Double
  For j = 2 To 7
    If Not IsNumeric(Me("TextBox" & j)) And Me("TextBox" & j) <> "" Then
      Me("TextBox" & j).SetFocus
      Exit Sub
     Else
      B = True
      ar1(j - 1) = Val(Me("TextBox" & j))
      ar(1, j - 1) = ar(1, j - 1) + ar1(j - 1)
    End If
  Next j
  If B Then
    ar1(0) = Date
    Sheets("Log").Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(, 7) = ar1
    Sheets("Voorraad").Cells(17, 2).Resize(, 6) = ar
  End If
  Unload Me
End Sub
 
Hallo VenA,
Bedankt voor je reactie, ..... Als ik zoiets dan zie, moet ik altijd een beetje lachen om mezelf, .... schitterend, alleen zou ik het zo nooit kunnen bedenken !!! :d:d:d
Als ik het regel voor regel bekijk, snap ik ook nog wel "wat er gebeurt", maar (jammer genoeg) ontbreekt mij de kennis om dat zelf te verzinnen ! :confused:
Ik ben al blij als ik iets op "mijn manier" voor elkaar kan krijgen, en soms lukt dat, maar vaak ook niet !! Dat is dan het moment om "hier" hulp te zoeken, en dat lukt meestal wel. :thumb:

Voor wat betreft mijn initiele vraag, ... daar heb ik meerdere oplossingen voor aangereikt gekregen, echter als ik daarmee aan de slag ging in mijn "originele" bestand, kreeg ik het niet werkend !
Vandaar dat ik dus dit bestand later heb bijgesloten, .... misschien had ik dit beter in een aparte vraag kunnen doen ?!

Nogmaals hartelijk dank voor je reactie !!! :thumb:

John
 
Vermijd het gebruik van rowsource


Op verzoek van EdMoor:

Code:
Private Sub UserForm_Initialize()
    ComboBox1.List = [diameter].Value
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    y = ComboBox1.ListIndex
    If y > -1 Then Blad3.Cells(4, 5).Offset(, y) = Blad3.Cells(4, 5).Offset(, y) - 1
End Sub
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan