Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: actieve filter(s) markeren  (gelezen 39203 keer)

0 leden en 1 gast bekijken dit topic.

Offline straffetoebak

  • Lid
  • *
  • Berichten: 35
  • Geslacht: Man
  • Oplossing.be
Re: actieve filter(s) markeren
« Reactie #15 Gepost op: 19 juli 2019, 14:15:18 »
.. dat jouw workbook er toch anders uitziet als onze voorbeeldbijlage. Enig besef van wat je aan het doen bent, is dan wel handig..
In bijlage een bestandje om te laten zien waar ik mee bezig ben.

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: actieve filter(s) markeren
« Reactie #16 Gepost op: 20 juli 2019, 11:18:53 »
Hallo,

Valt dat geweldig mee dat je ganse rij 1 ongebruikt is...
Op die manier vond ik een leuke plaats om de formule neer te zetten waar ik het eerder al over had (ik moest inderdaad de door jou gevonden code enigszins aanpassen omdat je met een echte Excel-table aan de slag bent, dat konden we eerder niet weten).

En zo heb je dan geen zwevende knoppen, userforms of dergelijke meer nodig waarvan sommige dan toch telkens moeten weggeklikt worden.
Niet dat ik de andere oplossingen radicaal verwerp, hoor, je moet zelf maar uitmaken welke werkwijze je de leukste vind  0:-)

Groeten,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline straffetoebak

  • Lid
  • *
  • Berichten: 35
  • Geslacht: Man
  • Oplossing.be
Re: actieve filter(s) markeren
« Reactie #17 Gepost op: 22 juli 2019, 11:55:05 »
Dankjewel pitufo, dit is helemaal naar wens  :thumbsup:
Inderdaad heel handig dat ik niets hoef weg te klikken.

Is er een eenvoudige manier ook - als kers op de taart - om in dit stukje van de code iets in te voegen dat de font color verandert?
Else
    FilterCrit = "Filter(s) actief op kolom(men) " & FilterCrit
    FilterCrit = Left(FilterCrit, Len(FilterCrit) - 2)
End If

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: actieve filter(s) markeren
« Reactie #18 Gepost op: 22 juli 2019, 13:59:16 »
De kersen zijn tegenwoordig aan de goedkope kant, dus ja hoor. Alleen moet dat kleine stukje extra code niet staan in het deel uit je post maar wel onder
If tabel.AutoFilter.Filters(i).On Then
Groeten,
pitufo
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline straffetoebak

  • Lid
  • *
  • Berichten: 35
  • Geslacht: Man
  • Oplossing.be
Re: actieve filter(s) markeren
« Reactie #19 Gepost op: 22 juli 2019, 14:10:48 »
Hoi pitufo, er is iets mis met deze versie - het bestand crasht telkens  :blink:

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: actieve filter(s) markeren
« Reactie #20 Gepost op: 22 juli 2019, 14:15:15 »
Oei, bij mij nochtans niet...
Zet anders even zelf de volledige code in je werkend bestand:
Function FilterCrit() As String

Dim tabel As ListObject
Set tabel = ThisWorkbook.Worksheets(1).ListObjects("Tabel1")

Application.Volatile

Range("A3:AR3").Font.Color = RGB(0, 0, 0)
For i = 1 To tabel.AutoFilter.Filters.Count
    If tabel.AutoFilter.Filters(i).On Then
        FilterCrit = FilterCrit & i & ", "
        Cells(3, i).Font.Color = RGB(255, 0, 0)
    End If
Next i
If FilterCrit = "" Then
    FilterCrit = "Geen actieve filters"
Else
    FilterCrit = "Actieve filter(s) op kolom(men) " & FilterCrit
    FilterCrit = Left(FilterCrit, Len(FilterCrit) - 2)
End If

End Function
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline straffetoebak

  • Lid
  • *
  • Berichten: 35
  • Geslacht: Man
  • Oplossing.be
Re: actieve filter(s) markeren
« Reactie #21 Gepost op: 22 juli 2019, 15:00:18 »
Zet anders even zelf de volledige code in je werkend bestand
Er is een misverstandje geweest; het was mijn bedoeling alleen cel 1A een rode font te geven wanneer er filters actief zijn. Sorry als ik wat onduidelijk was.

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: actieve filter(s) markeren
« Reactie #22 Gepost op: 22 juli 2019, 17:18:28 »
Haha, dan maken we er maar dit van:
Function FilterCrit() As String

Dim tabel As ListObject
Set tabel = ThisWorkbook.Worksheets(1).ListObjects("Tabel1")

Application.Volatile

For i = 1 To tabel.AutoFilter.Filters.Count
    If tabel.AutoFilter.Filters(i).On Then
        FilterCrit = FilterCrit & i & ", "
    End If
Next i
If FilterCrit = "" Then
    Range("A1:D1").Font.Color = RGB(0, 0, 0)
    FilterCrit = "Geen actieve filters"
Else
    Range("A1:D1").Font.Color = RGB(255, 0, 0)
    FilterCrit = "Actieve filter(s) op kolom(men) " & FilterCrit
    FilterCrit = Left(FilterCrit, Len(FilterCrit) - 2)
End If

End Function

Alleen nog een proper standaard achtergrondkleurtje kiezen waarop zowel zwart als rood geen pijn aan de ogen doet  ;D
Zelf zou ik gaan voor 255,220,180  0:-)

"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline straffetoebak

  • Lid
  • *
  • Berichten: 35
  • Geslacht: Man
  • Oplossing.be
Re: actieve filter(s) markeren
« Reactie #23 Gepost op: 23 juli 2019, 15:31:30 »
Wat er nu allemaal gebeurt pitufo, is wel wat bizar.
De bestanden waar ik de code in zet reageren opeens niet meer op een enkele klik.
Echt overal op mijn pc is dubbel klikken uitgeschakeld, dus hoe dit zomaar kan?..

Soms springt A1 op #WAARDE! ipv Geen actieve filters.

 Geen actieve filters is nu wel rood, maar helaas ook de melding van Actieve filters is rood, terwijl die zwart zou moeten blijven?

Voorlopig durf ik dit nog niet in mijn echte bestand te zetten.

Offline pitufo

  • Ambassadeur
  • *****
  • Berichten: 1.343
  • Geslacht: Man
Re: actieve filter(s) markeren
« Reactie #24 Gepost op: 23 juli 2019, 16:03:56 »
Citaat
Echt overal op mijn pc is dubbel klikken uitgeschakeld
Het is wel héél onwaarschijnlijk dat er een verband is met een stukje eenvoudige code in een Excel-file...

Voor de rest werkt alles wat ik je al bezorgd heb bij mij (in Office 2016 én in Office 2007) zonder tegenpruttelen.
Ik bezorg nog eens een bestand waarin ik een kleinigheid heb aangepast: de functie genereert nog enkel een tekst en de kleur van A1 wordt hierin beheerd door 'voorwaardelijke opmaak'.
Hopelijk krijg je het daarmee ook bij jou aan de praat.
"De computer doet wel degelijk wat je hem vraagt,
 maar NIET wat je DENKT dat je hem vraagt"

Offline straffetoebak

  • Lid
  • *
  • Berichten: 35
  • Geslacht: Man
  • Oplossing.be
Re: actieve filter(s) markeren
« Reactie #25 Gepost op: 23 juli 2019, 16:47:16 »
Het is wel héél onwaarschijnlijk dat er een verband is met een stukje eenvoudige code in een Excel-file...
Het was even wat paniek, maar alles lijkt weer normaal.
Enkele bestandjes die op een of andere manier toch gecorrumpeerd waren, denk ik, maar alles terug onder controle nu  ;)

Met voorwaardelijke opmaak lukt het prima.
Bedankt voor de goed werkende oplossing pitufo  :thumbsup:
 

 


www.combell.com