Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1184to1188
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

ein-/ausblenden

ein-/ausblenden
Karsten
Hallo,
ich möchte folgende Ein / Ausblendfunktionen in einen Makro einbetten. Wenn ausgeblendet, dann Einblenden - wenn eingeblendet, dann Ausblenden. Allerdings fehlen mir dazu die Kenntnisse. Kann mir jemand helfen?
Danke.
Gruß
Karsten
Sub Einblenden()
ActiveWindow.DisplayVerticalScrollBar = True
Dim lstrAcCell As String
lstrAcCell = ActiveCell.Address
On Error Resume Next
Rows.Hidden = FalseEnd
Range(lstrAcCell).Select
End Sub

Sub Ausblenden()
ActiveWindow.DisplayVerticalScrollBar = False
Dim lstrAcCell As String
lstrAcCell = ActiveCell.Address
Dim varResult As Variant
varResult = Application.Match(CDbl(Date), Range("A5:A65536"), 0)
If IsNumeric(varResult) Then Application.Goto Cells(varResult + 4, ActiveCell.Column), True
Dim Bereich As Range
If ActiveCell.Row > 1 Then
Set Bereich = Range(Cells(1, ActiveCell.Column), ActiveCell.Offset(-1, 0))
On Error Resume Next
Bereich.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
On Error GoTo 0
End If
Range(lstrAcCell).Select
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: ein-/ausblenden
17.11.2010 16:25:06
Gerold
Hallo Karsten
Den Befehl Goto sollte mann eigentlich nicht verwenden.
(außer bei On Error Goto)
Wäre das nach deinem Geschmack?
Sub Einblenden()
Dim lstrAcCell As String
ActiveWindow.DisplayVerticalScrollBar = True
lstrAcCell = ActiveCell.Address
On Error Resume Next
Rows.Hidden = False
Range(lstrAcCell).Select
End Sub

Sub Ausblenden()
Dim lstrAcCell As String
Dim varResult As Variant
Dim Bereich As Range
ActiveWindow.DisplayVerticalScrollBar = False
'lstrAcCell = ActiveCell.Address
varResult = Application.Match(CDbl(Date), Range("A5:A65536"), 0)
If IsNumeric(varResult) Then
varResult = varResult + 3
Set Bereich = Range(Cells(1, 1), Cells(varResult, 1))
On Error Resume Next
Bereich.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
On Error GoTo 0
End If
'Range(lstrAcCell).Select
End Sub

Mfg Gerold
Anzeige
...Zumindest nicht rückwärts (nach oben)! orT
17.11.2010 17:38:44
Luc:-?
Gruß Luc :-?
AW: ein-/ausblenden
17.11.2010 20:57:32
Karsten
Hallo Gerold,
danke, aber du hast etwas in meinen Codes was abgeändert, woran ich mich nicht gestoßen habe, weil sie bis jetzt liefen.
Deine Ausblendenvariante funktioniert bei mir nicht, es passiert keine Änderung.
Mir ging es eigentlich darum, dass wenn ausgeblendet ist, einblendendet werden soll bzw. anders herum.
Gruß
Karsten
AW: ein-/ausblenden
17.11.2010 21:23:28
Gerold
Hallo Kartsen
so etwas?
If ActiveWindow.DisplayHorizontalScrollBar = False Then
ActiveWindow.DisplayHorizontalScrollBar = True
Else
ActiveWindow.DisplayHorizontalScrollBar = False
End If
If ActiveWindow.DisplayVerticalScrollBar = False Then
ActiveWindow.DisplayVerticalScrollBar = True
Else
ActiveWindow.DisplayVerticalScrollBar = False
End If
mfg Gerold
Anzeige
AW: ein-/ausblenden
18.11.2010 08:36:11
Karsten
Hallo Gerold,
danke, die Bildlaufleisten meine ich nicht.
Ich habe, um es dir zu veranschaulichen, mal ein Beispiel hochgeladen.
https://www.herber.de/bbs/user/72346.xls
Die akt. Zelle muss immer in Spalte B stehen, wenn du die Buttons klickst. Ich möchte, dass beide Funktionen auf einem Button liegen, welchen ich hoch in die Formularleiste schieben will.
Gruß
Karsten
AW: ein-/ausblenden
18.11.2010 17:46:47
Gerold
Hallo Karsten
1. Die Variablen immer am Anfang der Prozedur Deklarieren
2. Vergiss den “ Goto “ Befehl
(nur noch in Verbindung mit dem On Error Befehl)
Probiers mal hiermit
Sub Ausblenden()
Dim varResult As Variant
Dim RowHidden As Long
' Anzahl der ausgeblendeten Zeilen
RowHidden = Range("A1", "A" & Rows.Count).Cells.Count - _
Range("A1", "A" & Rows.Count).SpecialCells(xlCellTypeVisible).Cells.Count
If RowHidden > 0 Then
' Ausgeblendete Zeilen vorhanden
ActiveWindow.DisplayVerticalScrollBar = True
On Error Resume Next
Rows.Hidden = False
Else
' Keine ausgeblendete Zeilen vorhanden
ActiveWindow.DisplayVerticalScrollBar = False
' varResult = gefundene Zeilen Nr. oder Fehler
varResult = Application.Match(CDbl(Date), Range("A5:A65536"), 0)
If IsNumeric(varResult) Then
Range(Cells(1, "B"), Cells(varResult + 3, "B")) _
.SpecialCells(xlCellTypeBlanks).EntireRow.Hidden = True
End If
ActiveWindow.ScrollColumn = 1
ActiveWindow.ScrollRow = 1
End If
On Error GoTo 0
End Sub
Mfg Gerold
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige