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

Controleer invoer van Cel

Status
Niet open voor verdere reacties.

minifreak

Gebruiker
Lid geworden
23 feb 2012
Berichten
8
Ik heb een goed werkend stukje VBA code wat de invoer van een cel controleert, en op basis van de invoer een andere cel een bepaalde waarde geeft.
Nu wil ik nog een laatste controle erbij doen, maar die lukt me op een of andere manier niet, of ik denk weer te ingewikkeld.
In het kort moet de waarde in cel a1 verhoogd worden met 1 als de invoer in G10 cijfer 1 is.
de waarde van cel b1 moet met 1 verhoogd worden als de invoer in cel G10 cijfer 2 is.
is de invoer "1234" dan moet de waarde van c1 verhoogd worden met 1, en is de invoer "234567" dan moet d1 met 1 verhoogd worden.
Werkt zoals gezegd prima, maar nu wil ik de waarde van cel e1 met 1 verminderd hebben als aan de andere voorwaarden NIET wordt voldaan...
is de invoer dus bijvoorbeeld 2222 dan pas moet cel e1 verminderd worden met 1
het stukje code waar het precies gebeurt staat hieronder, ik mis dus alleen nog die laatste controle... wie weet hoe ik dit moet realiseren ??

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim x As Variant
x = Range("g10")
If x = "1" Then Range("a1") = Range("a1") + 1
If x = "2" Then Range("b1") = Range("b1") + 1
If x = "1234" Then Range("c1") = Range("c1") + 1
If x = "234567" Then Range("d1") = Range("d1") + 1
 
Als ik het goed begrepen heb zou dit wel eens in de buurt komen:

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 Dim x As Variant
 x = Range("g10")
 If x = "1" Then Range("a1") = Range("a1") + 1
 If x = "2" Then Range("b1") = Range("b1") + 1
 If x = "1234" Then Range("c1") = Range("c1") + 1
 If x = "234567" Then Range("d1") = Range("d1") + 1 
[B][/B][COLOR="#FF0000"]
If x <> "1" AND x <> "2" AND x <> "1234" AND x <> "234567" then Range("E1") = Range("E1") - 1[/COLOR]
 
Of:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("g10")) Is Nothing Then
   Select Case Range("g10").Value
 Case 1
  Range("a1") = Range("a1") + 1
 Case 2
  Range("b1") = Range("b1") + 1
 Case 1234
  Range("c1") = Range("c1") + 1
 Case 234567
  Range("d1") = Range("d1") + 1
 Case Else
   Range("E1") = Range("E1") - 1
  End Select
 End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan