• 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 in Excel

  • Onderwerp starter Onderwerp starter roe
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

roe

Gebruiker
Lid geworden
4 feb 2007
Berichten
32
Vorige week heb ik de vraag ook gesteld - het is me ondanks de ideeën die ik aangereikt heb gekregen niet gelukt èn wellicht heb ik mijn vraag niet duidelijk gesteld. Ik blijf er tegenaan lopen. Daarom het toegevoegde voorbeeldbestand.

Ik heb een bestand met 3 werkbladen: een startpagina waarop je altijd binnenkomst en vervolgens 2 werkbladen waar je naar toe kan gaan Boten en Auto's. Graag wil ik op de startpagina een button met macro opnemen waarin je een zoekfunctie opneemt. In deze zoekfunctie tik je het nummer waarna je naar het juiste werkblad toegaat.
Hoe moet ik dit doen? Kan het wellicht in het voorbeeldbestand voorgedaan worden, zodat ik begrijp wat er is gebeurd...?

Alvast ENORM bedankt....
 

Bijlagen

Zoiets?

Niet de beste code die ik al geschreven heb, maar het werkt.

Code:
Sub zoeken()
    
    Dim nummer As Long, autoboot As String, rgevondencel As Range
    
    autoboot = Application.InputBox("Typ Auto's of Boten, naargelang wat van toepassing is", Type:=2)
       
       nummer = Application.InputBox("Geef nummer in", Type:=1)
    
    On Error Resume Next
    Sheets(autoboot).Select
    Set rgevondencel = Columns("A:A").Find(what:=nummer, lookat:=xlWhole, LookIn:=xlValues)
    
    If Not rgevondencel Is Nothing Then rgevondencel.Select
    On Error GoTo 0
End Sub

Wigi
 
Wigi,

Bedankt voor je reactie - kan het wellicht ook met één tussenstap minder - in de VBA-code die je gegeven hebt moet nu nog ingegeven worden auto's of boten - ik wil graag zonder deze tussenstap overslaan en direct de code invoeren.

Hoe moet ik dit oplossen?

Bedankt,

Roe
 
Wigi,

Bedankt - deze aanwijzing kreeg ik eerder. Ik had hem reeds geprobeerd maar het wil niet werken - het enige dat ik krijg is 'No match'.

Roe
 
Het is mij nog niet gelukt om de zoekfunctie compleet te krijgen - wie kan mij op een nieuw spoor brengen? Of anders - wat doe ik fout, met de voorbeeldfunctie?
 
Hang je meest recente bestandje hier bij, samen met de code van Ozgrid die je aanpast. Dan kijk ik er zeker naar.
 
Hierbij het bestand met het originele tekstbestand van OzGrid
 
Ik wil je niet onderschatten, en misschien is dit een domme vraag, maar je hebt toch de code van Ozgrid aangepast? :o Of niet?
 
VBA is niet mijn sterkste kant - in het verleden nam ik macro's op, nu heb ik wat eerste stappen gezet op het programmeervlak.

De volgende macro had ik gemaakt:

Sub FindCat()

Dim wsSheet As Worksheet
Dim rFound As Range



Application.InputBox ("Geef nummer in")

For Each wsSheet In ThisWorkbook.Worksheets

Sheets.Select
Set rFound = wsSheet.UsedRange. _
Find(What:=nummer, LookIn:=xlValues, _
LookAt:=xlWhole, MatchCase:=False)

If Not rFound Is Nothing Then
Application.Goto rFound, Scroll:=True
End
End If
Next wsSheet

MsgBox "No match"
End Sub

Hij selecteert de mappen, maar gaat niet op zoek... Wat klopt er dan niet?
 
Met deze macro lukt het.

Code:
Sub ZoekenBladen()
    Dim i As Integer
    Dim Nummer As String
    Dim rng As Range
    Nummer = InputBox("Wat zoekt u?")
    For i = 1 To Worksheets.Count
        Set rng = Worksheets(i).Cells.Find(Nummer)
        If Not rng Is Nothing Then
        Worksheets(i).Activate
        rng.EntireRow.Activate
        End If
    Next i
End Sub

Ben benieuwd naar wat Wigi te zeggen heeft want bij mij lukt de macro (FindCat) ook niet en geeft gewoon "No match" aan?

Pierre
 
Ben benieuwd naar wat Wigi te zeggen heeft want bij mij lukt de macro (FindCat) ook niet en geeft gewoon "No match" aan?

Pierre

Ik ben vertrokken van de code van Roe in post # 11 en lichtjes aangevuld tot:

Code:
Sub FindCatRoe()

    Dim wsSheet As Worksheet
    Dim rFound As Range
    Dim lNum As Long

    lNum = Application.InputBox("Geef nummer in", "Nummer", 0, Type:=1)

    For Each wsSheet In ThisWorkbook.Worksheets
        
        Set rFound = wsSheet.UsedRange.Find(What:=lNum, LookIn:=xlValues, LookAt:=xlWhole, MatchCase:=False)
        
        If Not rFound Is Nothing Then
            Application.Goto rFound, Scroll:=True
            End
        End If
    Next wsSheet

    MsgBox "No match"
End Sub

En dat werkt prima ;)

Het verschil zit hem in het gebruik van Application.InputBox.

Wig
 
OK, Inputbox moest eerst gedefineerd worden natuurlijk.
Dat ik dat niet gezien heb? (was onder tussen met iets anders bezig).


Pierre
 
Ik zie waar ik fout ben gegaan... Weer wat geleerd, enorm bedankt voor jullie hulp!

Roe
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan