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

Zoeken of waarde bestaat met Match

Status
Niet open voor verdere reacties.

Esducsafe

Gebruiker
Lid geworden
2 sep 2009
Berichten
185
@Helpers

Als in kolom D een percentage wordt ingevoerd moet deze voorkomen in kolom A.

Wanneer het percentage gevonden is, moet in kolom E de waarde uit kolom B worden overgenomen.
Ook na veel zoekwerk en uitproberen heb ik geen oplossing kunnen vinden.

Wie kan mij helpen?

Esko


Code:
Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("D:D")) Is Nothing Then
Dim RangeToSearchIn As Range
Dim ValueToSearchFor

Set RangeToSearchIn = ActiveSheet.Range("A1:A100")

ValueToSearchFor = Target 'value as percent to search

    If Not IsError(Application.Match(ValueToSearchFor, RangeToSearchIn, 0)) Then
        MsgBox "found  " & ValueToSearchFor
        Else
        Application.EnableEvents = False
        MsgBox "not found"
        Target.ClearContents
    End If
  
   
End If

Application.EnableEvents = True


End Sub
 

Bijlagen

  • Match find percent 001.xls
    53 KB · Weergaven: 18
Laatst bewerkt:
Code:
=ALS(AANTAL.ALS($A$8:$A$9;D8);B8;"")

Voor in E8
(Totaal geen vba voor nodig)
 
1x codetages gebruiken is ook wel voldoende.:D
Waarom moet het met VBA? Kan toch simpel met gegevensvalidatie en een zoekfunctie.
 
Waar reageer je nu op? Waarom heeft VBA de voorkeur als zoiets eenvoudigs al niet lukt?

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Column = 4 And Target.Count = 1 Then
    Application.EnableEvents = False
      x = Application.Match(Target.Value, Columns(1), 0)
      If IsNumeric(x) Then
        Target.Offset(, 1) = Cells(x, 2)
       Else
        MsgBox "not found"
        Application.Undo
      End If
    Application.EnableEvents = True
  End If
End Sub
 
@VenA
Dat dacht ik ook, het moet toch eenvoudig zijn.
Bedankt, het werkt.

Groet,
Esko
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan