Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1176to1180
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Dauer .Rows.Hidden

Dauer .Rows.Hidden
RainerK
Hallo,
Rudi hat mir hier https://www.herber.de/forum/archiv/1172to1176/t1175914.htm#1175993 den Code abgeändert, mit welchem der Ablauf um einiges schneller ging.
Nun habe ich versucht, diesen Code entsprechend umzustellen.
Da die Werte jedoch aus einer ListBox kommen habe ich die Umstellung nicht geschafft.
Zum einen habe ich keine If-Anweisung, welche ich umstellen kann, zum anderen bleibt mir der Code bei .rngHidden = .Cells(13, iLst +7) stehen.
Ginge eine Umstellung analog des Codes von Rudi bei der ListBox denn überhaupt?
Gruß Rainer

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Dauer .Rows.Hidden
20.09.2010 07:20:24
fcs
Hallo Rainer,
als erstes solltest du die Syntax-Fehler (RowHeiht) indeinem Code beseitigen. Zur Beschleunigung der Makroausführung sollte bei Formatierungen auch immer die Bildschirmaktualisierung während der Makroausführung deaktiviert.
    Application.ScreenUpdating = False
For i = 23 To 550
If .Cells(i, 4).Value  "x" Then
If rngHidden Is Nothing Then
Set rngHidden = .Cells(i, 4)
Else
Set rngHidden = Union(rngHidden, .Cells(i, 4))
End If
End If
Next i
.Range(.Rows(23), .Rows(550)).Hidden = False
If Not rngHidden Is Nothing Then rngHidden.EntireRow.Hidden = True
For i = 23 To 550
If .Cells(i, 2).Value = Tabelle10.Cells(10, 8) Then
Set rngHidden = .Cells(i - 3, 2).EntireRow
If Tabelle10.Cells(10, 8) 
Der Rest deiner Fragen ist leider etwas verwirrend bzw. enthält zu wenige Informationen, um dir konkret helfen zu können.
Zum Abbrechen des Codes (Vermutungen):
1. vor rngHidden darf hier wahrscheinlich kein Punkt stehen.
2. iLst muss ein nummerischer Wert sein
Gruß
Franz
Anzeige
AW: Dauer .Rows.Hidden
20.09.2010 08:40:16
RainerK

Zitat Franz:
Der Rest deiner Fragen ist leider etwas verwirrend bzw. enthält zu wenige Informationen, um dir konkret helfen zu können.

Hallo Franz,
das wundert mich nicht. Der von Rudi umgestellte habe ich bei mir integriert bekommen und läuft einwandfrei.
Habe erst mit Deiner Antwort festgestellt, dass ich den Code, den ich analog Rudi's Code umstellen wollte, in meiner Fragestellung nicht eingestellt habe.
Beim neuen Thread ist es auch ein neuer Code. Hier das Original:
Dim iLst As Integer
Dim i As Long
Application.ScreenUpdating = False
For iLst = 0 To lstProdukte.ListCount - 1
If lstProdukte.Selected(iLst) Then
Columns(iLst + 7).Hidden = False
Cells(13, iLst + 7).Value = "ja"
Else
Cells(13, iLst + 7).ClearContents
End If
Next iLst
Application.ScreenUpdating = True

Allerdings hatte ich im Nachhinein auch noch eine Erkenntnis:
Beim ersten Code hat Excel ja bereits den Eintrag in der Zelle und nun muss dieser analog der Listbox ja erst noch vorgenommen werden.
Muss mir nur überlegen, ob ich die Spaltenanzahl niedrig halten kann, da Excel so bereits mit 38 Spalten schon 22 Sec. benötigt.
Gruß Rainer
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige