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

Zoekscherm

Status
Niet open voor verdere reacties.

Mieke1985

Gebruiker
Lid geworden
3 mrt 2011
Berichten
101
Hallo allemaal,

Ik heb onderstaande macro aangemaakt. Deze heb ik ergens op internet gevonden en hij werkt goed... Echter zoekt deze alleen in 1 werkblad. Ik zou graag willen dat deze het hele bestand doorzoekt. Wie weet hoe ik dit moet aanpassen?


Code:
Sub Zoekscherm()

Dim zk As String, gevonden As String
zk = InputBox("Wat zoek je?")
On Error Resume Next
gevonden = Cells.Find(What:=zk, After:=ActiveCell, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False).Activate
If gevonden = vbNullString Then
MsgBox "Zoektekst niet gevonden"
End If
End Sub

Alvast bedankt!
 
Laatst bewerkt door een moderator:
Nu wel werkend:

Code:
Sub Zoekscherm()

 Dim zk As String, gevonden As Variant
 zk = InputBox("Wat zoek je?")
 On Error Resume Next
 For Each sh In ThisWorkbook.Sheets
   Set gevonden = Cells.Find(What:=zk, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
    If Not gevonden Is Nothing Then
     gevonden.Select
       Exit Sub
    End If
 Next
  If gevonden = vbNullString Then
       MsgBox "Zoektekst niet gevonden"
  End If
 End Sub
 
Bedankt, maar helaas werkt bovenstaande code ook niet.

Ik zou er evt. ook vrede mee hebben als het zoekscherm van excel opent zodra er op de knop gedrukt wordt.

(Helaas zijn mijn collega's eigenwijs en willen niet mer ctrl+f werken...)
 
Je vertelt er ook niet bij wat er eigenlijk moet gebeuren als je de waarde hebt gevonden.
Nu wordt die cel geselecteerd:

Code:
Sub Zoekscherm()

 Dim zk As String, gevonden As Variant
 zk = InputBox("Wat zoek je?")
 On Error Resume Next
 For Each sh In ThisWorkbook.Sheets
   Set gevonden = sh.Cells.Find(What:=zk, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
    If Not gevonden Is Nothing Then
     Application.Goto sh.Range(gevonden.Address)
       Exit Sub
    End If
 Next
  If gevonden = vbNullString Then
       MsgBox "Zoektekst niet gevonden"
  End If
 End Sub
 
Excuses. Ik heb het inderdaad niet goed uitgelegd.

Ik heb een groot excel bestand met een hoop tabbladen; graag zou ik op de eerste pagina een zoekbalk/zoekknop hebben waar je kan zoeken door het hele bestand. (net als ctrl+f)
En de meeste woorden komen meerdere keer voor; dus is er ook een mogelijkheid om naar het volgende zoek resultaat te gaan?

Bedankt!
 
Gebruik dan deze eens om te testen:

Code:
Sub Zoekscherm()
 Dim zk As String, gevonden As Variant
 zk = InputBox("Wat zoek je?")
 On Error Resume Next
 For sh = 1 To Sheets.Count
   Set gevonden = Sheets(sh).Cells.Find(What:=zk, LookIn:=xlValues, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
    If Not gevonden Is Nothing Then
     Application.Goto Sheets(sh).Range(gevonden.Address)
       If MsgBox("Wil u verder zoeken?", vbYesNo) = vbNo Then Exit Sub
    End If
 Next
  If gevonden = vbNullString Then
       MsgBox "Zoektekst niet gevonden"
  End If
 End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan