Naar aanleiding van post #4 (van VenA) in deze thread https://www.helpmij.nl/forum/showthread.php/939481-Kolommen-verbergen-op-basis-van-gefilterde-waarde
werd ik getriggerd om het volgende aan jullie voor te leggen.
Heb geprobeerd de code te begrijpen c.q. te vertalen naar rijen. Is mij helaas nog niet gelukt.
Onderstaande code werkt al jaren prima (uiteraard gaat het laten zien van alle rijen supersnel) maar omgekeerd duurt het rij voor rij aflopen om te kijken of deze verborgen moet worden wat langer).
Natuurlijk niet een echt probleem maar toch.
Toelichting:
Range("toggle_rows") heeft afwisselend de waarde 0 of 1. Afhankelijk van wat de laatste actie was.
Range("check_printing") geeft een waarde 1 als alles klopt, waarde 0 als er ergens in kolom E een #N/B voorkomt.
De waarde in kolom E (0 of 1) wordt bepaald door formules. Volledig afhankelijk van diverse factoren. Een patroon is er gewoon niet".
De Timer heb ik in het voorbeeld toegevoegd.
In de regel / gemiddeld staan er in kolom E ca. 2500 nullen of eenen.
In het voorbeeld heb ik een paar 0 en 1 in de eerste rijen gezet.
Hoe kan ik versnellen c.q. de code van VenA toepassen?
Bekijk bijlage Map1.xlsm
werd ik getriggerd om het volgende aan jullie voor te leggen.
Heb geprobeerd de code te begrijpen c.q. te vertalen naar rijen. Is mij helaas nog niet gelukt.
Onderstaande code werkt al jaren prima (uiteraard gaat het laten zien van alle rijen supersnel) maar omgekeerd duurt het rij voor rij aflopen om te kijken of deze verborgen moet worden wat langer).
Natuurlijk niet een echt probleem maar toch.
Toelichting:
Range("toggle_rows") heeft afwisselend de waarde 0 of 1. Afhankelijk van wat de laatste actie was.
Range("check_printing") geeft een waarde 1 als alles klopt, waarde 0 als er ergens in kolom E een #N/B voorkomt.
De waarde in kolom E (0 of 1) wordt bepaald door formules. Volledig afhankelijk van diverse factoren. Een patroon is er gewoon niet".
De Timer heb ik in het voorbeeld toegevoegd.
Code:
Option Explicit
Option Private Module
Dim LastRow As Long
Dim iRow As Integer
Dim tTimer As Single
Sub Rows_Visible_Invisible() 'TOGGLE: Laat afwisselend diverse rijen zien/verbergen van blad PUBLICATIE"
tTimer = Timer
LastRow = Cells(Rows.Count, 5).End(xlUp).Row 'in de regel rond de 2500 rijen
Application.ScreenUpdating = False
Sheets("PUBLICATIE").Activate
If Range("toggle_rows") = 1 Then
Rows(2 & ":" & LastRow).EntireRow.Hidden = False
Range("toggle_rows") = 0
Application.Goto Cells(1, 1), Scroll:=True
Else
If Range("check_printing") = 1 Then
For iRow = 2 To LastRow
If Range("E" & iRow) = 0 Then
Rows(iRow).EntireRow.Hidden = True
End If
Next
Range("toggle_rows") = 1
Application.Goto Cells(1, 1), Scroll:=True
Else:
MsgBox Title:="HELPMIJ.NL", Buttons:=vbInformation, prompt:="OEPS!" & vbNewLine & "Iets klopt er niet." _
& vbNewLine & vbNewLine & "Ckeck kolom E op #N/B. Kijk in kolom A naar het wedstrijdnummer en zoek de wedstrijd op in het tabblad" _
& vbNewLine & "OVERZICHT." & vbNewLine & vbNewLine & "Corrigeer de fout en probeer het opnieuw."
End If
End If
Application.ScreenUpdating = True
MsgBox "Uitgevoerd in " & Round(Timer - tTimer, 2) & " sec.", vbInformation, Application.Username
End Sub
In de regel / gemiddeld staan er in kolom E ca. 2500 nullen of eenen.
In het voorbeeld heb ik een paar 0 en 1 in de eerste rijen gezet.
Hoe kan ik versnellen c.q. de code van VenA toepassen?
Bekijk bijlage Map1.xlsm