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

met VBA zoeken over meerdere tabbladen

Status
Niet open voor verdere reacties.

Bartjess

Gebruiker
Lid geworden
8 nov 2019
Berichten
13
Hallo,

Ik heb een vraag over het zoeken met VBA over een geheel Excel bestand met meerdere tabbladen.

in een bestand met meerdere tabbladen heb ik op de homepage een textbox en commandbutton geplaatst.
Doormiddel van een waarde die in de textbox staat, via de commandbutton, moeten meerdere tabbladen worden doorzocht.
Als de waarde gevonden is moet het tabblad worden geopend en de waarde die gezocht word moet worden gehiglight.

ik heb al een vba gemaakt maar kan alleen de waarde zoeken op het tabblad dat actief is(homepage)

zouden jullie mij kunnen helpen zodat dit wel werkt.

alvast bedankt.


hieronder de vba code

Private Sub CommandButton1_Click()

'
' ZoekOp Macro
'
Dim bladnr As String
Dim zoek As String
Dim i As Integer
Dim eerstegevonden As String

'
'On Error Resume Next
aantal = ActiveWorkbook.Worksheets.Count
zoek = TextBox1.Value
Sheets("Homepage").Activate
Range("a1").Select

For i = 1 To aantal
bladnr = "blad" + Format(i)
'Sheets(bladnr).Activate
Range("a1").Select
If Not Cells.FindNext(After:=ActiveCell) Is Nothing Then
eerstegevonden = Cells.Find(zoek).Address
Cells.Find(What:=zoek, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False).Activate
ActiveCell.Interior.ColorIndex = 4
'While Cells.FindNext(After:=ActiveCell).Address <> eerstegevonden
'Cells.FindNext(After:=ActiveCell).Activate

Cells.Interior.Color = RGB(255, 255, 255)
ActiveCell.Interior.ColorIndex = 4

'Wend
End If
Next
End Sub
 

Bijlagen

  • voorbeeld.xlsm
    25,9 KB · Weergaven: 34
zoiets?
Code:
Sub SjonR()
For Each Blad In Sheets
    With Blad
        If .Name <> "Homepage" Then
            If Not .Cells.Find(TextBox1.Value) Is Nothing Then
                Application.Goto .Cells.Find(TextBox1.Value)
                .Cells.Find(TextBox1.Value).Interior.ColorIndex = 4
            End If
        End If
    End With
Next
End Sub
 
Super dat werkt inderdaad heel erg bedankt.

nu heb ik nog 2 vervolg vragen.

1. Is het ook mogelijk om met en de command button en met de "enterknop" op het toetsenbord te bevestigen.
2. Als ik een waarde heb die niet in de tabbladen staat hoe kan ik dan een msgbox maken zodat er komt te staan dat de waarde niet is gevonden.

Nogmaals bedankt
 
is dit wat je wil?
in feite zijn de knop en textbox niet nodig, de macro begint te zoeken na het invullen van de cel.
hij zoekt nu wel enkel de waarden die overeenkomen met de waarde in de cel.
 

Bijlagen

  • zoeken op ander blad.xlsm
    25,5 KB · Weergaven: 52
Dit is inderdaad al een deel van wat ik bedoel dankjewel. met de 2 antwoorden van jullie samen kom ik al een heel eind.
Ik zou echter alleen een msgbox willen als in het hele document geen overeenkomst is gevonden, dus niet per tabblad. is dit ook mogelijk?
 
Code:
If Not g Is Nothing Then
                b = True

en
Code:
Else
              If Not b And .Index = Sheets.Count Then MsgBox "Waarde niet gevonden"
 
voortbordurend op Emields zijn code:

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [g6]) Is Nothing Then
Z = Target.Value
For Each blad In Sheets
    With blad
        If .Name <> "Homepage" Then
        Set g = .Cells.Find(Z, lookat:=xlWhole)
            If Not g Is Nothing Then
                .Cells.Interior.Pattern = xlNone
                g.Interior.ColorIndex = 4
                MsgBox "Waarde gevonden op " & blad.Name & " in cel " & g.Address
                Exit Sub
            End If
        End If
    End With
Next
End If
MsgBox "Er is niets gevonden"
End Sub
 
Allemaal heel erg bedankt. mijn probleem is hierbij helemaal opgelost.

:D:D:D:D:D:D
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan