Helpmij.nl
Helpmij.nl
Helpmij.nl
Steun Helpmij.nl! Klik hier     Computerprobleem? Klik hier!

Quote

Weergeven resultaten 1 tot 8 van 8

Onderwerp: met VBA zoeken over meerdere tabbladen

  1. #1
    Junior Member
    Geregistreerd
    8 november 2019
    Vraag is opgelost

    met VBA zoeken over meerdere tabbladen

    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
    Bijgevoegde bestanden Bijgevoegde bestanden

  2. #2
    Giga Senior
    Verenigingslid
    SjonR's avatar
    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    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

  3. #3
    Junior Member
    Geregistreerd
    8 november 2019
    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

  4. #4
    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.
    Bijgevoegde bestanden Bijgevoegde bestanden

  5. #5
    Junior Member
    Geregistreerd
    8 november 2019
    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?

  6. #6
    Giga Honourable Senior Member
    Geregistreerd
    2 maart 2013
    Code:
    If Not g Is Nothing Then
                    b = True
    en
    Code:
    Else
                  If Not b And .Index = Sheets.Count Then MsgBox "Waarde niet gevonden"
    Je kan een paard naar het water leiden, maar je kan het niet dwingen te drinken.

  7. #7
    Giga Senior
    Verenigingslid
    SjonR's avatar
    Geregistreerd
    10 november 2016
    Locatie
    Zaandam
    Afstand tot server
    ±116 km
    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

  8. #8
    Junior Member
    Geregistreerd
    8 november 2019
    Allemaal heel erg bedankt. mijn probleem is hierbij helemaal opgelost.


Berichtenregels

  • U mag geen nieuwe vragen starten.
  • U mag niet reageren op berichten.
  • U mag geen bijlagen versturen.
  • U mag uw berichten niet bewerken.
  •  
Helpmij.nl
Helpmij.nl

Helpmij.nl en business

Partners
Sponsoren