Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeilen ausblenden mit Bedingung per Makro ohne Button

Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 11:37:29
Elysa1891
Hallo zusammen,
die Basis ist ein Excel-Formular,dass zur Erfassung von Daten zur Reisekostenabrechnung.Dabei gibt es in ZelleB4 ein Drop-down mit der Auswahl(hinterlegt in anderem Tabellenblatt) Reisekosten und Belege ohne Reise.
Ich möchte, dass wenn im Drop-down Belege ohne Reise ausgewählt wird,automatisch die Zeilen 7-26 und 32-48 ausgeblendet werden
Das Excel bzw. das Tabellenblatt enthält bereits ein recht umfangreiches Makro mit zwei Buttons.
Daher zwei Fragen: wie muss die Formel aussehen und an welcher Stelle muss sie stehen?

Ich habe es mit folgender Formel direkt vor dem Code für das restliche Makro versucht,aber es werden keine Zeilen ausgeblendet:

Private Sub worksheet_Selection Change (ByVal Target As Range)

if Intersect (Target,Range ("B4")) is nothing then else

If Range ("B4") = "Beleg ohne Reise" then Rows ("7:26" & "32:48") EntireRow.Hidden = True
Elseif Range ("B4") = "Reisekosten" then Rows ("7:26 & "32:48") Entire row.Hidden = False

End if
End Sub

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 11:54:20
Oberschlumpf
Hi,

versuch es mal mit...

if NOT Intersect...

Ciao
Thorsten
AW: Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 12:23:17
MCO
Hallo Elysa!

Das, was du willst sieht so aus:
Private Sub Worksheet_Change(ByVal Target As Range)


Dim rng As Range
Set rng = Union(Rows("7:26"), Rows("32:48")) 'Bereich in eine Variable gesetzt

If Target.Address = Range("B4").Address And Target.Count = 1 Then 'nur 1 Zelle geändert, nur B4
rng.EntireRow.Hidden = false
rng.EntireRow.Hidden = Range("B4") = "Beleg ohne Reise" 'Vergleich ergibt WAHR / FALSCH
' rng.EntireRow.Hidden = Range("B4") = "Reisekosten" 'Vergleich ergibt WAHR / FALSCH
End If
End Sub


Warum?
Du willst nicht bei jeder Zellwahl (Select) den Code laufen lassen, sondern nur, wenn wirklich in B4 was geändert wird (CHANGE)! Und auch nur in B4.

Es sollte allerdings noch folgende Frage erlaubt sein:
Gibt es keine anderen Werte als diese beiden? Was wenn die gewählt werden? Bisher passiert da nix!
Vor die Ein--Ausblend-Bedingung würde ich daher generelles einblenden empfehlen, und nur ausblenden wenn Bedingung xy zutrifftt.

Gruß, MCO
Anzeige
AW: Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 12:43:54
Elysa1891
Hallo, vielen Dank für die Mühe,irgendwas mache ich falsch. Die Zeilen bleiben weiter sichtbar... :-(
AW: Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 14:06:00
Elysa1891
Hallo,vielen Dank :-)

In einer neuen Datei funktioniert es,aber in meiner Datei,die bereits ein Makro enthält funktioniert es nicht...
Wahrscheinlich schreibe ich es an die falsche Stelle ...Aber trotzdem danke für die Hilfe.
Anzeige
AW: Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 14:15:40
Elysa1891
Hallo,

es hat doch funktioniert,ich habe noch mal die Position angepasst. Vielen Dank für die Hilfe :-)
AW: Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 20:22:52
Elysa1891
Hallo,könnt ihr mir noch mal helfen: die ausgeblendeten Zeilen enthalten zum Teil Formularsteuerelemente,diese werden zum Teil in der Zeile unterhalb der ausgeblendeten Zeilen weiter angezeigt.
Wie lässt sich das verhindern?
Anzeige
AW: Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 12:09:30
BoskoBiati2
Hallo,

das Makro wird in der Form sowieso nicht funktionieren.

Besser wäre das:

Private Sub worksheet_SelectionChange(ByVal Target As Range)


If Not Intersect(Target, Range("B4")) Is Nothing Then Exit Sub

If Range("B4") = "Beleg ohne Reise" Then
Range(Rows("7:26"), Rows("32:48")).EntireRow.Hidden = True
ElseIf Range("B4") = "Reisekosten" Then
Range(Rows("7:26"), Rows("32:48")).Hidden = False
End If
End Sub


Wobei es erst anspringt, wenn Du eine andere Zelle als B4 auswählst.
Anzeige
AW: Zeilen ausblenden mit Bedingung per Makro ohne Button
22.05.2024 12:40:44
Elysa1891
Hallo,das hat leider nicht geklappt.Trotzdem danke. :-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige