• 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 met Match-functie

Status
Niet open voor verdere reacties.

wieter

Terugkerende gebruiker
Lid geworden
26 jun 2009
Berichten
1.128
Met onderstaande code-regel zoek ik in een bereik met de [Match-functie].
Code:
rij = Application.Match(InputBox("Tekst in inputBox:", "Titel"), Columns(1), 0)
Zoekwaarde = (InputBox("xxxx","xxx")
Zoekmatrix = Columns(1)
Criteriumtype = 0 (dus alles wat exact overeen komt, ongeacht de volgorde)

Dit werkt alleen voor tekst, echter niet voor getallen.
Wat is er mis met die regel?
Code:
Private Sub CommandButton1_Click()
ActiveSheet.UsedRange.Interior.Color = xlNone
[COLOR="#FF0000"]rij = Application.Match(InputBox("Tekst in inputBox:", "Titel"), Columns(1), 0)[/COLOR]   
With ActiveWindow
    If Not IsError(rij) Then
           Cells(rij, 1).Resize(, 8).Interior.Color = vbRed
          .ScrollRow = Cells(rij - 1, 1).Row
      Else
         .ScrollRow = 1
    End If
 End With
End Sub
 

Bijlagen

Als je cijfers in een Inputbox intikt is dat qua datatype nog steeds tekst en geen echt getal.
 
Laatst bewerkt:
Wat Edmoor zegt:
Code:
Private Sub CommandButton1_Click()
    Dim Sb
    
    ActiveSheet.UsedRange.Interior.Color = xlNone
    Sb = InputBox("Tekst", "Titel")
    If IsNumeric(Sb) Then Sb = Val(Sb)
    rij = Application.Match(Sb, Columns(1), 0)
    With ActiveWindow
        If Not IsError(rij) Then
            Cells(rij, 1).Resize(, 8).Interior.Color = vbRed
            .ScrollRow = Cells(rij - 1, 1).Row
        Else
            .ScrollRow = 1
        End If
    End With
End Sub
 
Bedankt Timshel, weer mooi opgelost.
Zo leer ik telkens wat bij.
 
of

Code:
Private Sub CommandButton1_Click()
    On Error Resume Next
    
    With ActiveSheet.UsedRange.Columns(1)
        .Resize(, 8).Interior.Color = xlNone
        .Find(InputBox("Tekst in inputBox:", "Titel"), , , 1).Resize(, 7).Interior.Color = vbRed
    End With
End Sub
 
Bedankt snb,
Heb ik gelijk ook zoeken met de Find-Functie
 
Dit was ook een oplossing met je eigen code.
Code:
rij = Application.Match([COLOR=#0000ff]Application.[/COLOR]InputBox("Tekst in inputBox:", "Titel"[COLOR=#0000ff], , , , , , 1 + 2[/COLOR]), Columns(1), 0)
 
Bedankt Harry,
Nu ga ik uitzoeken wat de functie is van al die "0" argumenten.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan