Zoeken in meerdere tab-bladen

Status
Niet open voor verdere reacties.

Offthefield

Gebruiker
Lid geworden
27 apr 2005
Berichten
369
Ik heb een programma met 4 kwartalen, nu wil ik zoeken in 4 kwartalen tegelijk,
maar ik weet niet hoe!. Met mijn oude programma kan ik alleen zoeken in 1 kwartaal,
heeft iemand een idee hoe ik in 4 kwartalen tegelijk kan zoeken?

Alvast bedankt

Offthefield
 

Bijlagen

Zet alle kwartalen in 1 werkblad in een 'intelligente' tabel (zoals het hoort).
 
snb,

Dat heb ik nu, maar dat vind ik onoverzichtelijk en wil het daarom in 4 tabbladen zetten.

Maar is het wel mogelijk ?

Alvast bedankt

Offthefield
 
Ik zie helemaal geen intelligente tabel.
 
Ik heb het programma iets aangepast m.b.v. een combobox waarvan de inhoud in cel O1 wordt geplaatst,
deze geeft de tabbladen aan, maar ik krijg de vba-regel niet werkend, kan iemand mij vertellen wat ik
fout doet. (Sub UitgebreidFilteren())

With Sheets & Range("O1") moet volgens mij With Sheets("BOEKINGEN1KW") worden (als er in cel O1 ("BOEKINGEN1KW")
staat, maar ik krijg een foutmelding "argument is niet optioneel"

Heeft iemand een idee, wat ik precies fout doet.

Alvast bedankt
 

Bijlagen

Ja, en dat staat in #6. En je ziet het ook als je op de knop klikt.

Code:
With Sheets & Range("O1")
 
VenA,

De formule is dus goed, maar wat moet ik dan in O2 tm O5 zetten, om in de juiste tabbladen te komen
Ik heb er BOEKINGEN1KW, BOEKINGEN2KW,BOEKINGEN3KW,BOEKINGEN4KW gezet, maar dat geeft ook dezelfde
foutmelding.

Alvast bedankt
 
Kijk eens 2 regels onder
Code:
With Sheets & Range("O1")
Misschien dat het dan duidelijk wordt.

Sheets(Indexnummer) of Sheets(Naam)
 
VenA,

Sorry, maar het zeg mij niets.


Kan je een klein voorbeeldje geven,


Offthefield
 
Wat voor voorbeeld moet ik geven dan?

Het object Sheets heeft 3 opties om deze aan te roepen.
Sheet1 = codename
Sheets(1) = Indexnr
Sheets("Sheet1") = Name

Is wel erg basis allemaal.

Code:
Sub ikbegrijpernietsvan()
  For Each sh In Sheets
    c00 = c00 & "Codename: " & sh.CodeName & " Indexnr: " & sh.Index & " Name: " & sh.Name & vbLf
  Next sh
  MsgBox c00, vbCritical, "Geen idee"
End Sub
 
kan even niet vinden waar bovenstaande staat, maar ik denk dat dit ongeveer de denkpiste moet zijn, eventueel in een ander stuk van je macros
Code:
Sub UitgebreidFilteren()
   On Error Resume Next
   Dim c As Range, c1 As Range, i As Integer, sh As Worksheet
   Set sh = Sheets("ZOEKEN2020")
   With sh
      If .UsedRange.Range("A1").Address <> "$A$1" Then .Range("A1") = " "
      .UsedRange.Offset(6).Columns("B:H").Clear
      Set c1 = .Range("B6:H6")
      If WorksheetFunction.CountA(c1) = 0 Then MsgBox "niets": Exit Sub

     [COLOR="#FF0000"] For Each Sh1 In Sheets                     'alle werkbladen aflopen
         If Left(Sh1.Name, 9) = "BOEKINGEN" Then   'enkel diegene die beginnen met BOEKINGEN
            With Sh1
     [/COLOR]          .AutoFilterMode = False
               With .Range("A1:G1000")
                  .AutoFilter
                  For Each c In c1.SpecialCells(xlConstants)
                     i = 0: i = WorksheetFunction.Match(c.Offset(-1).Value, .Rows(1), 0)
                     If i = 0 Then MsgBox "foutje": Exit Sub
                     .AutoFilter i, c.Value
                  Next
                  ' Vanaf welke cel worden de gegevens geplaatst
                  .SpecialCells(xlVisible).Copy sh.Range("B8")
                  '
                  Opmaak
                  '
               End With
               .AutoFilterMode = False
            End With
         End With
     [COLOR="#FF0000"] End If
   Next[/COLOR]
End Sub
PS. ik zie nu dat die laatste "end with" na die next moet komen
 
Laatst bewerkt:
VenA en cow18,

Hartelijk dank voor de reactie, ik ga ze vanavond uitproberen
 
cow18,

Ik heb snel even gekeken, maar als je op de knop drukt dan zie je wel alles langs schieten,
maar hij geeft alleen het laatste kwartaal aan.

Wat klopt er niet aan de procudure?

Alvast hartelijk dank
 
de resultaten moet je netjes onder elkaar schrijven en nu plak je die altijd in B8
Bovendien moeten de headers van je tabellen altijd netjes gelijk noemen ivm. je filter.
Vergelijk eens B5:H5 met B8:H8, dat moet netjes matchen anders krijg je die msgbox.
Vermoedelijk moet die opmaak maar 1 keer gedraaid worden etc.
 

Bijlagen

cow18,

Ziet er mooi uit, ik ga vanavond de procedures bekijken
nog hartelijk dank

Offthefield
 
VenA,

Zou je het "basis" zoals jij het noemt in de procedure kunnen plaatsen,
ik ben al een aantal uren bezig, maar ik zie het niet !! en het ik snap het ook niet !!
wat er nu precies gedaan moeten worden

Ik hoop dat je me wilt helpen, dan kan ik misschien aan de hand van het werkende programma
zien hoe het moet en of ik het daarna misschien wel snap!

Offthefield
 
zelfde achterliggende gedachte als snb, gooi alles in 1 tabel.
Dus onderstaande maakt van je 4 tabbladen 1 goeie tabel en filtert daar op.
Maak desnoods gebruik van wildcards (zoals *)
Eens je die tabel verzameld hebt, hoef je dat daarna niet opnieuw te doen als je geen nieuwe gegevens toegevoegd had.
 

Bijlagen

Iedereen nog hartelijk dank voor de hulp en ideeen, ik heb de versie iets
uitgebreid met zoeken per kwartaal mbv listbox en combobox. (zie bijlage)
voor het mooie moeten de letters in kolom N en O op wit gezet worden,
zodat deze niet zichtbaar zijn.

Offthefield
 

Bijlagen

Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan