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

eenzelfde zoekterm vinden over verschillende tabbladen en de overeenkomstige andere waarden tonen.

Status
Niet open voor verdere reacties.

PeterPlessers

Gebruiker
Lid geworden
23 apr 2024
Berichten
23
Beste helpertjes :cool:

Ik heb zelf uitgedokterd hoe ik de letter "p" terugvind op een tabblad 'klanten' en dan de waarden weergeef die bij die lijn horen, je kan dat in mijn voorbeeld bestand zien wat ik bedoel.
Voorbeeldje van eerste cel:
=ALS.FOUT(INDEX(klanten!$E:$E;KLEINSTE(ALS(klanten!$G:$G="p";RIJ(klanten!$G:$G);9^99);RIJ(A1)));"")

Hoewel ik blij ben dat ik dit uitgevogeld heb, kan ik er niet bij hoe ik dit zou kunnen bekomen van mijn resultaat uit verschillende tabbladen te halen.

Misschien dat iemand mij even een aanzetje kan geven?

Dit is een voorbeeld bestandje.
 

Bijlagen

in welke tabbladen staat die info?
 
Euhm, in tabblad 'planning' zou de info tevoorschijn moeten komen, dat gebeurd nu al, maar enkel gelezen uit tabblad 'klanten' en niet uit tabblad 'AVL'.
Excuus, dat had ik er nog kunnen bij zetten, bij mijn vraag.
 
Als je alle gegevens in 1 werkblad zet doet het autofilter voor jou het werk.
 
Als, als, als,... als kasseien ti*eten waren liep ik op mijn handen rond.
Dit is de situatie, en dit is mijn problemen.

Zonder vervelend te willen doen.
 
Als je de situatie doet veranderen zoals SNB al aangeeft dan is je probleem opgelost.
Maar ja, het over een andere boeg gooien kost even wat energie maar dan heb je ook wat.
 
Ik heb al een paar keer hulp gevraagd op dit forum voor dingen waar ik tegen loop bij verbeteringspogingen in onze werking. Elke keer zegt er wel iemand dat het gemakkelijker was als alles samen in één lijst zou zitten.
Dan zou het inderdaad gemakkelijker zijn, en misschien komt dit ooit nog wel, maar momenteel is dit onze manier van werken. Als alles in één lijst zou zitten zou ik ook geen hulp vragen, want dan was het gemakkelijker.
Ik wil niet ondankbaar zijn voor de hulp die aangereikt wordt, zeker niet.
 
Om hoeveel andere tabbladen gaat het? Zien die er allemaal hetzelfde uit?
En welke versie van Excel gebruik je?
 
Dank je wel AlexCEL,
Het gaat over in totaal 7 tabbladen.
De layout heb ik naar aanleiding van eerdere remarks allemaal op één lijn getrokken, het is een kwestie van de waarden altijd in dezelfde kolommen te gaan zoeken, wat ik zelf al gemerkt heb dat dat het wat gemakkelijker maakt.

Ik heb wel gemerkt sinds mijn aanzet dat mijn excel een stuk trager reageert, ik vrees een beetje dat dat het er niet beter op gaat maken, maar soit, dat is iets anders.

Het is microsoft 365 en de excel versie geeft Versie 2404 build 17531.20190 aan
 
Laatst bewerkt:
Probeer deze eens, doet die ongeveer wat je wilt?
Code:
=LET(x;VERT.STAPELEN(klanten!E2:Q100;AVL!G5:X100);y;FILTER(x;INDEX(x;;3)="p";"");z;KIES.KOLOMMEN(y;1;4;5;6;8;9;13);ALS(z=0;"";z))
Als je meer tabbladen hebt moet je die bereiken toevoegen aan de VERT.STAPELEN functie. De opbouw moet wel hetzelfde zijn, dus dezelfde gegevens in dezelfde kolommen, anders wordt het wel heel gecompliceerd.
 
Laatst bewerkt:
Je argumentatie 'is nu eenmaal onze werkwijze' vind ik wel heel erg mager.
Als je om hulp vraagt loop je het risico dat je de beste ook krijgt: zet alles in 1 werkblad.
Dit ter voorkoming van de verzuchting achteraf: 'had ik dit maar eerder geweten/gedaan'
 
Ja maar snb, er zal wel een reden achter zitten hé, moet ik dat echt uit de doeken doen om dan pas aanvaard te worden dat dit onze manier van werken is? Sommige klanten worden uitgesplitst omdat die hun wensen in onze productie nét wat anders zijn, en daarom onze productie anders moet gebeuren, die hun bestellingen bundelen we en dan produceren we die in batches, en niet gemengd met de anderen.
En nog zoveel andere praktische redenen.
Is niet omdat wij graag met veel tabbladen werken hoor.
Toch bedankt om hier mee over na te denken.
 
of met een macrootje alles in een "totaal_plaatje" gieten.
en dan eventueel met autofilter verder werken
Die macro dan laten lopen als je bv. tabblad "planning" activeert
 

Bijlagen

@cow18, die benadering vind ik wel tof, dan kunnen ze hier intern misschien toch wennen aan het idee van alles samen te steken in één overzicht, en dan toch overzicht per batch te behouden.
Ik ga hiermee verder aan de slag, kijken wat dat geeft, misschien is dit ook wel minder zwaar dan bij elke wijziging er in de achtergrond geüpdate wordt. Dat geeft toch wel wat gehakkel in de achtergrond.

Je moet weten dat we met 7 tabbladen werken, maar dat zijn tabbladen met 1000+ rijen, zichtbaar en verborgen door filtering.
 
desnoods kan de macro ook uitvogelen welk kolommen naar welk kolom van "totaal_plaatje" moeten gekopieerd worden (identieke namen).
Duizenden, gaat dat dan over +32.000 (of +64.000) rijen of zit het daar nog netjes onder ?
 
Of:
CSS:
Sub M_snb()
   With CreateObject("scripting.dictionary")
    For Each it In Sheets
      If Left(it.Name, 1) = "k" Then
       sn = it.Cells(1).CurrentRegion
       If .Count = 0 Then .Item(.Count) = Split(it.Name & "_" & Join(Application.Index(sn, 1), "_"), "_")

       For j = 2 To UBound(sn)
         .Item(.Count) = Split(it.Name & "_" & Join(Application.Index(sn, j), "_"), "_")
       Next
      
      End If
    Next
    
    Blad5.Cells(30, 1).Resize(.Count, UBound(.Item(1)) + 1) = Application.Index(.items, 0, 0)
  End With
End Sub

En daarna natuurlijk al die afzonderlijke werkbladen verwijderen.
 
.Item(.Count) = Split(it.Name & "_" & Join(Application.Index(sn, j), "_"), "_")
@snb, ik zie dat ik mijn reactie blijkbaar niet geplaatst had, die is ergens blijven hangen zijn, blijkbaar.

Bovenstaande is een vrij bondige & correcte code op telkens 1 lijn van een array toe te voegen aan een dictionary, dus eigenlijk prachtig. Maar als je dat in, dit geval een kleine 3.000 keer moet herhalen, dan is het bijna spijtig om te moeten vaststellen, dat als je die join en split vervangt door een loopje om zo telkens een array te maken en die dan weg te schrijven naar de dictionairy, je een tijdswinst haalt van een 1-2 seconde.

Dus gebruik ik je oplossing, die ik inderdaad vroeger ook al zelf vaak toegepast heb, niet voor grotere aantallen, waarbij het schrijven van een klein lusje toch de moeite waard is ... . Als je bovendien niet die kolommen 1-op-1 mag overnemen, maar een patroon dus bv, kolom 1,7,3,4,10,9,... moet nemen, dan is dat nog een extra reden.

Maar toch bedankt om me te denken.

.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan