5.9k Aufrufe
Gefragt in Tabellenkalkulation von gregy Mitglied (195 Punkte)
Hallo Liebe Leute

Ich habe eine Exceltabelle und möchte Zeilen automatisch ein und ausblenden.

In der Spalte G7-G206 steht überall der Wert 0 die sollten automatisch ausgeblendet werden.

Sollte der Wert aber zwischen 1 und 500 liegen, in der Spalte G7-G206 so sollten die Zeilen wieder automatisch eingeblendet werden.

Wenn es möglich ist, solte alles automatisch bei anklicken der Tabelle passieren.

Ich hoffe dass mir jemand helfen kann

Gruss Gregy

32 Antworten

0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
benutze den Autofilter. Zeichne das mit dem Makrorecorder auf und unter der Tabelle unter
Private Sub Worksheet_Calculate()
Aber ob Du damit glücklich wirst?

Gruß Hajo
0 Punkte
Beantwortet von gregy Mitglied (195 Punkte)
Hallo Hajo

Danke für Deine schnelle Antwort

Leider habe ich keine Ahnung von Makrorecorder, am liebsten hätte ich gern ein fertiges Makro, wenn das geht.

Gruss Gregy
0 Punkte
Beantwortet von hajo_zi Experte (9.1k Punkte)
was ist daran Kompliziert den Makrorecorder zu starten die Aktionen zu machen und den Makrorecorder wieder anzuhalten?

Gruß Hajo
0 Punkte
Beantwortet von gregy Mitglied (195 Punkte)
Hallo Hajo

Ich habe wirklich 0 Ahnung

Gruss Gregy
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Gregy,

kopiere Dir folgenden Code in den Codebereich des relevanten Arbeitsblattes.
Da Makro startet durch einen Linksklick in Zelle G1

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim rngC As Range
Application.ScreenUpdating = False
If Target.Address <> "$G$1" Then Exit Sub
For Each rngC In Range("G7:G206")
If rngC.Value = 0 Then
Rows(rngC.Row).EntireRow.Hidden = True
ElseIf rngC.Value > 0 Then
Rows(rngC.Row).EntireRow.Hidden = False
End If
Next
Application.ScreenUpdating = True
End Sub


Gruß
Rainer
0 Punkte
Beantwortet von gregy Mitglied (195 Punkte)
Hallo Hajo

Ausblenden ist OK, in Tabelle 15 ausprobiert, aber wenn ich in der Tabelle 1 = Maske einen Wert von 1 - 500 eingebe werden die zeilen in Tabelle nicht activ.

In Tabelle1 werden die Zahlen in der Spalte G8-G207 eingegeben.

Mit Bestem Dank Gregy
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Gregy,

das Makro wirkt auf dem Arbeitsblatt, in dessen Codebereich der Code kopiert wurde.
Wenn Du was anderses willst, musst Du Dich unmissverständlich ausdrücken.

Übrigens heiße ich....

Gruß
....Rainer
0 Punkte
Beantwortet von gregy Mitglied (195 Punkte)
Hallo Rainer

Danke, Ich hoffe das es jetzt verstädlicher ist

Ich habe eine Maske und eine Tabelle auf Excel, die miteinander verknüpft sind.
Maske ist Tabelle1 das andere Blatt ist Tabelle2.

Jetzt möchte ich ein Makro mit dem ich die Zeilen in Tabelle2 mit den Werten 0 in der Spalte G8-G207 ausblenden kann.

Wenn ich aber in der Maske ( Tabelle1 ) in der Spalte G8-G207 eine Zahl zwischen 1 und 500 eingebe, sollte die Zeile in der Tabelle2 wieder erscheinen. Die eingegebene Zahl erscheint dann in der Tabelle2 in der Spalte G

In Tabelle 2 steht bereits ein Code, zum sortieren der Tabellen

Wenn ich die Tabelle2 anklicke, sollte das automatisch geschehen.

Nochmals besten Dank für Deine Hilfe

Gruss Gregy
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo Gregy,

füge folgenden Code in den Codebereich von Tabelle2 ein

Option Explicit

Private Sub Worksheet_Activate()
Dim rngC As Range
Application.ScreenUpdating = False
For Each rngC In Range("G7:G206")
If rngC.Value = 0 Then
Rows(rngC.Row).EntireRow.Hidden = True
ElseIf rngC.Value > 0 Then
Rows(rngC.Row).EntireRow.Hidden = False
End If
Next
End Sub


Gruß
Rainer
0 Punkte
Beantwortet von gregy Mitglied (195 Punkte)
Hallo Rainer

Es kommt eine Fehlermeldung.

Fehler beim Komprimieren, Mehrdeutiger Name: Workheet_Aczivate

Könnte dass von dem Sortiermakro kommen

Gruss Gregy
...