Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1364to1368
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

Markro um Zeilen auszublenden (2 Tabellenblätter)

Markro um Zeilen auszublenden (2 Tabellenblätter)
20.06.2014 16:24:53
Tom

Hallo zusammen
Ich habe schon oft hier im Forum Beiträge gelesen und so auch meistens eine Lösung meiner Probleme gefunden. Nun habe ich ein, so wie ich das sehe, eher kleines Problem, allerdings bräuchte ich trotzdem eure Hilfe.
Ich möchte mehrere Zeilen auf zwei unterschiedlichen Tabellenblättern ausblenden. Da die Mö _ glichkeit besteht, dass weitere Zeilen eingefügt werden, habe ich es mit einer zusätzlichen Spalte gelöst. In dieser Steht eine 1 oder nichts. Ich habe folgende beiden Makros:


Private Sub OptionButton1_Click()
If OptionButton1.Value = True Then
Dim i As Integer
Application.ScreenUpdating = False
With Sheets("Name1")
For i = 14 To 750
If .Cells(i, 7) = 1 Then .Rows(i).Hidden = True
Next i
End With
With Sheets("Name2")
For i = 14 To 750
If .Cells(i, 3) = 1 Then .Rows(i).Hidden = True
Next i
End With
End If
End Sub

und

Private Sub OptionButton2_Click()
If OptionButton2.Value = True Then
Dim i As Integer
Application.ScreenUpdating = False
With Sheets("Name1")
For i = 14 To 750
If .Cells(i, 7) = 1 Then .Rows(i).Hidden = False
Next i
End With
With Sheets("Name2")
For i = 14 To 750
If .Cells(i, 3) = 1 Then .Rows(i).Hidden = False
Next i
End With
End If
End Sub

Das funktioniert für das Tabellenblatt Name1 auch ohne Probleme. Bei Name2 tut sich allerdings nichts. Ich denke mal es liegt an ner Kleinigkeit, selber komme ich jedoch nicht darauf.
Besten Dank und Gruss
Tom

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Markro um Zeilen auszublenden (2 Tabellenblätter)
20.06.2014 17:48:02
Hajo_Zi
Hallo Tom,
warum Makro, benutze Autofilter.

AW: Markro um Zeilen auszublenden (2 Tabellenblätter)
20.06.2014 21:47:15
frigo
Hallo Tom,
ich kann Hajos Empfehlung nur unterstützen. Makros solltest Du nur einsetzen, wenn es keine adäquate Alternative gibt. Mit Ausführen von Makros geht Dir z.B. immer die Rückgängig-Funktion flöten. Die Alternative mit Autofilter funktioniert auch, wenn Du mehr als 750 Zeilen hast ;-)
Zu Deinen Makros:
Kann auch keinen Fehler erkennen. Ich kann mir nur vorstellen, dass im 2. Blatt der Hilfswert nicht in Spalte C steht, auf den Du abfragst. Ggf. ausgeblendete Spalten?
Unabhängig davon solltest Du am Ende des IF-Blocks aber Application.ScreenUpdating wieder auf True setzen.
Viel Erfolg
frigo

Anzeige
AW: Markro um Zeilen auszublenden
23.06.2014 07:52:18
Tom
Schon mal vielen Dank für eure Antworten.
@Frigo: Spalte C ist schon korrekt. Der Wert steht dort in einer anderen Spalte.
Autofilter wäre sicher auch eine Möglichkeit. Gib es beim Autofilter auch eine Möglichkeit, mit einem Klick auf unterschiedlichen Tabellenblättern Zeilen auszublenden?
Gruss Tom

AW: Markro um Zeilen auszublenden
23.06.2014 07:58:13
Tom
Schon mal vielen Dank für eure Antworten.
@Frigo: Spalte C ist schon korrekt. Der Wert steht dort in einer anderen Spalte.
Autofilter wäre sicher auch eine Möglichkeit. Gib es beim Autofilter auch eine Möglichkeit, mit einem Klick auf unterschiedlichen Tabellenblättern Zeilen auszublenden?
Gruss Tom

Anzeige
AW: Markro um Zeilen auszublenden
24.06.2014 13:13:10
Tom
Inzwischen sieht das Makro folgendermassen aus:
Private Sub OptionButton1_Click()
Application.ScreenUpdating = False
Sheets("Name1").Unprotect Password:="123"
Sheets("Name2").Unprotect Password:="123"
If OptionButton1.Value = True Then
Dim i As Integer
With Sheets("Name1")
For i = 14 To 750
If .Cells(i, 6) = 1 Then .Rows(i).Hidden = True
Next i
End With
With Sheets("Name2")
For i = 14 To 1600
If .Cells(i, 2) = 1 Then .Rows(i).Hidden = True
Next i
End With
End If
Application.ScreenUpdating = True
Sheets("Name1").Protect Password:="123"
Sheets("Name2").Protect Password:="123"
End Sub
Ich muss die betroffenen Sheets entsperren, da ansonsten das Makro nicht funktioniert (run time error 1004: Unable to set the Hidden property of the Range class).
Es klappt alles. Allerdings checkt das Makro jedes Mal die komplette Spalte F bzw. B ab. Dies ist nötig, da der Nutzer später bei Bedarf zusätzliche Zeilen einfügen kann.
Hat jemand noch irgendwelche Verbesserungsvorschläge, wie das Problem vielleicht eleganter gelöst werden kann? Autofilter kommt leider nicht in Frage, da gleichzeitig auf mehreren Tabellenblättern Zeilen ein- und ausgeblendet werden müssen.
Besten Dank

Anzeige

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige