excell macro met tabblad verdicht

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

  • Yoni1207
  • Registratie: Januari 2021
  • Laatst online: 08-03-2021
Mijn vraag
ik heb een excellbestand met een macro waarmee ik op verschillende tabbladen gegevensfilters laat lopen.
dat werkt perfect.
Echter als ik 1 bepaald tabblad verberg, dan loopt de macro vast met de foutmelding: "Fout 1004 tijdens uitvoering, Methode select van klasse worksheet is mislukt";

Wat ik al gevonden of geprobeerd heb
als ik het tabblad verberg, loopt hij daar op vast.. Als ik echter de macro aanpas en opneem dat hij alle tabbladen eerst zichtbaar moet maken, dan doet hij het wel juist, want een tabblad dat verborgen is, wordt eerst zichtbaar gemaakt. Maar dan blijft dit tabblad zichtbaar, waarna we het weer handmatig moeten verdichten.

Kan je in een macro dus opnemen dat hij kijkt of tabblad zichtbaar is.
Als zichtbaar --> macro uitvoeren
als niet zichtbaar --> geen actie voor dit tabblad

Relevante software en hardware die ik gebruik
Excell

[ Voor 41% gewijzigd door Yoni1207 op 22-01-2021 09:18 ]

Alle reacties


Acties:
  • 0 Henk 'm!

  • DeKever
  • Registratie: Augustus 2015
  • Laatst online: 15:22
Als je denkt dat het komt doordat het tabblad verborgen is, dan zou je dat eens kunnen testen door het tabblad zichtbaar te maken.

Acties:
  • 0 Henk 'm!

  • g0tanks
  • Registratie: Oktober 2008
  • Laatst online: 20:16

g0tanks

Moderator CSA
Yoni1207 schreef op donderdag 21 januari 2021 @ 20:35:
Mijn vraag
ik heb een excellbestand met een macro waarmee ik op verschillende tabbladen gegevensfilters laat lopen.
dat werkt perfect.
Echter als ik 1 bepaald tabblad verberg, dan loopt de macro vast met de foutmelding: "Fout 1004 tijdens uitvoering, Methode select van klasse worksheet is mislukt";

ik vermoed dus dat het probleem is, dat hij het tabblad niet vindt.
heeft iemand hier een oplossing voor?

Relevante software en hardware die ik gebruik
...

Wat ik al gevonden of geprobeerd heb
...
Welkom op Tweakers. :)

Zou je alle vragen in de topicstart willen invullen? We verwachten hier ook een stukje eigen inzet, waarbij je duidelijk aangeeft wat je al hebt gevonden of geprobeerd.

Sowieso lijkt het mij lastig om wat te zeggen met zo weinig informatie. Kan je het deel van de macro delen die de foutmelding geeft?

Ultrawide gaming setup: AMD Ryzen 7 2700X | NVIDIA GeForce RTX 2080 | Dell Alienware AW3418DW


Acties:
  • 0 Henk 'm!

  • Yoni1207
  • Registratie: Januari 2021
  • Laatst online: 08-03-2021
ik heb mijn vraag geupdate :).. hopelijk is het nu duidelijker...

Acties:
  • +1 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

code:
1
2
3
4
5
for each ws in activeworkbook.worksheets
    If ws.visible then
'doe je ding
   endif
next ws


Maar sowieso is een worksheet.select in een macro meestal onnodig en ongewenst. Macro opgenomen met de recorder, neem ik aan? Geeft bijna per definitie prutcode. :'(

[ Voor 82% gewijzigd door Lustucru op 22-01-2021 11:26 ]

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland


Acties:
  • 0 Henk 'm!

  • Yoni1207
  • Registratie: Januari 2021
  • Laatst online: 08-03-2021
@Lustucru , bedankt alvast voor je antwoord. macro is inderdaad opgenomen met de recorder.
Het punt is bij mijn situatie is wel dat niet op elk tabblad er een filter staat, en dat deze filter steeds op een andere plaats kan staan per tabblad. ik vermoed dan ook dat ik dit toch per tabblad zal moeten programmeren? Correct?
volgens mij is uw formule indien er op elk tabblad dezelfde handeling moet gebeuren..

Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het zal best universeel te maken zijn, maar dat kan ik onmogelijk beoordelen. Mijn glazen bol is stuk en een nieuwe is momenteel niet leverbaar. ;) Hoogstwaarschijnlijk is die code best te schrijven zonder select en heb je er sowieso geen last meer van. Anders check je per werkblad de waarde van visible.

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland

Pagina: 1