Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
1008to1012
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

Zeilen aus- / einblenden

Zeilen aus- / einblenden
11.09.2008 18:24:56
Thomas
Hallo,
ich möchte folgendes machen:
Entprechend dem Wert im Feld B3 sollen verschieden Zeilen ein- bzw. aus-geblendet werden.
Steht zum Beispiel im Feld B3 der Wert 1 sollen die Zeilen "B7:B15" ausgeblendet werden
Steht im Feld B3 der Wet 2 sollen die Zeilen "B8:B15" ausgeblendet werden
Steht im Feld B3 der wert 3 sollen die Zeilen "B9:B15" ausgeblendet werden.
usw...
ich habe folgendes Macro für den Wert 1 der auch funktioniert

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("B3").Value = 1 Then
Rows("7:15").Hidden = True
Else
Rows("7:15").Hidden = False
End If
End Sub


Füge ich nun zwischen End If und End Sub

den If Befehl für den Wert 2 ein, funktioniert dieser, aber dafür funktioniert die Sache mit dem Wert 1 nicht mehr.
Es funktioniert immer nur der unterste If Befehl. Die davorhergehenden nicht mehr.
Was kann ich machen?

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen aus- / einblenden
11.09.2008 18:29:00
Hajo_Zi
Hallo Thomas,
das geht kürzer
Rows("7:15").Hidden =Range("B3").Value = 1
Rows("8:15").Hidden =Range("B3").Value = 2

AW: Zeilen aus- / einblenden
11.09.2008 18:51:54
Thomas
Dank Hajo,
ist kürzer, aber es funktioniert immer nur die unterste Funktion.
Bei
Rows("7:15").Hidden =Range("B3").Value = 1
Rows("8:15").Hidden =Range("B3").Value = 2

werden die Zeilen korrekt bei Wert 2 in B3 ausgeblendet, Bei Wert 1 passiert nichts.
Bei
Rows("7:15").Hidden = Range("B3").Value = 1
Rows("8:15").Hidden = Range("B3").Value = 2
Rows("9:15").Hidden = Range("B3").Value = 3

werden die Zeilen korrekt bei Wert 3 in B3 ausgeblendet, Bei Wert 1 und 2 passiert nichts
Anzeige
AW: Zeilen aus- / einblenden
11.09.2008 19:11:23
Hajo_Zi
Hallo Thomas,
jetzt mit Testung.

Rows("7:15").Hidden = False
Select Case Range("B1")
Case 1, 2, 3
Rows(6 + Range("b1") & ":15").Hidden = True
Case Else
Rows("7:15").Hidden = False
End Select


Gruß Hajo

AW: Zeilen aus- / einblenden
11.09.2008 19:17:24
Thomas
Einwandfrei, vielen Dank Hajo
AW: Zeilen aus- / einblenden
11.09.2008 19:27:00
Hajo_Zi
Hallo Thomas,
der Teil
Case Else
Rows("7:15").Hidden = False
kann entfallen das ist noch ein Rest von der Testung
Gruß Hajo
Anzeige
AW: Zeilen aus- / einblenden
11.09.2008 19:52:50
Erich
Hallo Thomas,
das "usw..." in deinem ersten Beitrag hat mich noch mal rumprobieren lassen.
Muss es eigentlich Worksheet_SelectionChange sein? Worksheet_Change reicht meist aus.
Hier mal beide Varianten, die beide auf Eingaben einer Zahl von 0 bis 9 reagieren:

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Cells(3, 2)) Is Nothing Then Exit Sub
If Cells(3, 2)  9 Then Exit Sub
Rows("6:14").Hidden = False
Rows(6 + Cells(3, 2)).Resize(10 - Cells(3, 2)).Hidden = True
End Sub
Private Sub xxxWorksheet_SelectionChange(ByVal Target As Range)
If Cells(3, 2)  9 Then Exit Sub
Rows("6:14").Hidden = False
Rows(6 + Cells(3, 2)).Resize(10 - Cells(3, 2)).Hidden = True
End Sub

Durch das "xxx" am Anfang von xxxWorksheet_SelectionChange ist dieses Ereignis erst mal deaktiviert.
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Zeilen aus- / einblenden
11.09.2008 20:39:00
Thomas
Danke, ist sogar noch besser,
so kann man irgendeinen Wert in den Code geben z.B

> 10

oder


> 99

oder wie auch immer, ohne die ganze Zahlenpalette angeben zu müssen.
Ich habe schon so viel versucht und ewig daran rumgefummelt und nun habe ich gleich 2 verschieden Lösungen von Euch. Vielen Dank
Ich habe es jetzt so:


Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Cells(3, 2)) Is Nothing Then Exit Sub
If Cells(3, 2)  10 Then Exit Sub
Rows("6:15").Hidden = False
Rows(6 + Cells(3, 2)).Resize(11 - Cells(3, 2)).Hidden = True
End Sub
Private Sub xxxxWorksheet_SelectionChange(ByVal Target As Range)
If Cells(3, 2)  10 Then Exit Sub
Rows("6:15").Hidden = False
Rows(6 + Cells(3, 2)).Resize(10 - Cells(3, 2)).Hidden = True
End Sub


Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige