Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1204to1208
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 ausblenden, automatisch wieder einblenden

Zeilen ausblenden, automatisch wieder einblenden
bertii
Hallo zusammen, ich habe folgendes Problem,
wenn in "Tabelle1_Dateneingabe" in Zelle A5 kein Name steht, soll in Tabelle2 die Zeile 5 ausgeblendet werden.
Funktioniert mit dem Marko unten soweit wunderbar, allerdings hätte ich gerne das wenn in "Tabelle1_Dateneingabe" in Zelle A5 ein Name eingetragen wird, die Zeile 5 in Tabelle2 automatisch wieder erscheint. ( funktioniert aber leider nicht )
PS: Die Tabellenblätter haben einen Blattschutz, welcher aber durch das Makro gesteuert wird ?! .
-----------------------------
Private Sub Worksheet_Activate()
Dim Zelle As Range
Application.ScreenUpdating = False
ActiveSheet.Unprotect Password:="xxxxx"
Dim Markierung As Range, Wert As String
Set Markierung = Worksheets("Tabelle1_Dateneingabe").Range("A5:A28", "A30:A53")
For Each Zelle In Markierung
Wert = Zelle.Value
If Wert = "" Or Wert = "0" Then Rows(Zelle.Row).Hidden = True
Next Zelle
ActiveSheet.Protect Password:="xxxxx"
Application.ScreenUpdating = True
End Sub

-------------------------------
würde mich über Eure Hilfe freuen
gruß

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

Betreff
Benutzer
Anzeige
Worksheet_Change ...
25.03.2011 17:39:07
Matthias
Hallo
probiers mal so:
Private Sub Worksheet_Change(ByVal Target As Range)
Worksheets("Tabelle2").Rows("5:5").EntireRow.Hidden = Intersect(Target, Cells(5, 1)) = ""
End Sub
Gruß Matthias
AW: Worksheet_Change ...
25.03.2011 17:48:05
Lutz
Hallo Berti,
hier ein Vorschlag:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Me.Range("A5").Value = "" Or Me.Range("A5").Value = 0 Then
With ThisWorkbook.Worksheets(2).Range("5:5")
.EntireRow.Hidden = True
End With
Else
With ThisWorkbook.Worksheets(2).Range("5:5")
.EntireRow.Hidden = False
End With
End If
End Sub
M.f.G.
Lutz
Anzeige
Hi Lutz, ich bin Matthias ;o) oT
25.03.2011 17:52:54
Matthias
AW: Hi Lutz, ich bin Matthias ;o) oT
26.03.2011 18:58:26
bertii
Vielen Dank,
konnte es noch nicht testen, wie müsste es aussehen wenn der Range("A5:A28", "A30:A53") wäre ?
d.h. Bei A5 Zeile 5, bei A6 Zeile 6 usw . . ausblenden und entsprechend wieder einblenden
hier angepasst ...
26.03.2011 19:32:04
Matthias
Hallo
Hättest ja wenigstens den Betreff ändern können ;o)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Row > 4 And Target.Row  29 And Target.Row 
Gruß Matthias
AW: hier angepasst ...
27.03.2011 12:40:43
bertii
Danke Matthias, funktioniert perfekt, konnte den Code sogar auf mehrere Tabellen umbauen ;)
@Lutz, Deinen Code konnte ich leider nicht auf meine Bedürfnisse umbauen, dafür hab ich zu wenig Erfahrung mit VBA
Anzeige
AW: Worksheet_Change ...
26.03.2011 20:03:22
Lutz
Hallo Berti,
hier mein Vorschlag zur Problemlösung...war nicht so schnell wie Matthias war aber schon fast fertig...(:-)
@Matthias die Lösung mit Taget ist nicht schlecht....
Function ein_aus_blenden()
On Error GoTo fehler
Application.ScreenUpdating = False
If ThisWorkbook.Worksheets(1).Range("A5").Value = "" Or _
ThisWorkbook.Worksheets(1).Range("A5").Value = 0 Then
With ThisWorkbook.Worksheets(2)
.Unprotect Password:="xxxxx"
.Range("5:28", "30:53").EntireRow.Hidden = True
.Protect Password:="xxxxx"
End With
Else
With ThisWorkbook.Worksheets(2)
.Unprotect Password:="xxxxx"
.Range("5:28", "30:53").EntireRow.Hidden = False
.Protect Password:="xxxxx"
End With
End If
Application.ScreenUpdating = True
Exit Function
fehler:
Application.ScreenUpdating = True
End Function
M.f.G.
Lutz
Anzeige

316 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige