Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1844to1848
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 nach Eintrag ausblenden

Zeilen nach Eintrag ausblenden
23.08.2021 13:15:25
Wolfango
Hallo Experten,
folgender VBA-Wunsch:
Sobald auf Speichern geklickt wird, soll folgendes geschehen:
Ein Dialogfeld erscheint mit dem Hinweis "xyz".
Wenn dieses Dialogfeld dann bestätigt wird soll folgendes passieren:
Alle Zeilen bei welchen in Spalte C etwas eingetragen wurde werden ausgeblendet.
Vielen Dank schon mal für's Denken!
Gruß, Wo

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilen nach Eintrag ausblenden
23.08.2021 13:25:53
Oberschlumpf
Hi,
schreib diesen Code ins VBA-Modul "DieseArbeitsmappe"

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lloRow As Long
MsgBox "xyz"
For lloRow = 1 To Cells(Rows.Count, 3).End(xlUp).Row
If Range("C" & lloRow).Value  "" Then
Rows(lloRow).Hidden = True
End If
Next
End Sub
Hilfts?
Ciao
Thorsten
AW: Zeilen nach Eintrag ausblenden
23.08.2021 13:41:36
Wolfango
Hallo Thorsten,
vielen Dank, es funktioniert ganz wunderbar!
Allerdings war ich in meiner Beschreibung nicht präzise genug:
Das Dialogfeld mit dem Hinweis "xyz" braucht einen "Abbrechen-Schalter", welcher dann zum nicht-ausführen des Makros führt.
(aktuell wird das Makro immer ausgeführt, auch wenn das Dialogfeld mit "x" geschlossen wird.
Wie muss das Makro ergänzt werden, um dies zu erreichen?
Danke und Gruß,
Wo
Anzeige
AW: Zeilen nach Eintrag ausblenden
23.08.2021 13:46:33
Oberschlumpf
Hi,
tja, präzise ist Mindestanforderung.
Versuch es so:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lloRow As Long
If MsgBox("xyz", vbQuestion + vbYesNo, "Frage") = vbYes Then
For lloRow = 1 To Cells(Rows.Count, 3).End(xlUp).Row
If Range("C" & lloRow).Value  "" Then
Rows(lloRow).Hidden = True
End If
Next
End If
End Sub
Hilfts?
Ciao
Thorsten
AW: Zeilen nach Eintrag ausblenden
23.08.2021 15:49:40
Wolfango
….der Code funktioniert prima, ich musss aber noch mal einhaken (es gibt eine neue Anforderung, die vorhin noch nicht vorhanden war).
Lässt sich der Code so anpassen, dass er sich auf alle Arbeitsblätter gleichzeitig auswirkt?
Danke und Gruß,
Wo
Anzeige
AW: Zeilen nach Eintrag ausblenden
23.08.2021 16:10:33
Werner
Hallo,
dann noch eine Schleife über alle Worksheets drumrum.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lloRow As Long
Application.ScreenUpdating = False
If MsgBox("xyz", vbQuestion + vbYesNo, "Frage") = vbYes Then
For Each Worksheet In ThisWorkbook.Worksheets
For lloRow = 1 To Cells(Rows.Count, 3).End(xlUp).Row
If Range("C" & lloRow).Value  "" Then
Rows(lloRow).Hidden = True
End If
Next
Next Worksheet
End If
End Sub
Gruß Werner
nimm den Code von Gerd...
23.08.2021 16:49:04
Gerd...
Hallo,
...das With - End With habe ich nämlich bei mir vergessen.
Gruß Werner
Anzeige
AW: Zeilen nach Eintrag ausblenden
23.08.2021 16:32:43
GerdL
Moin Wofgang!

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim lngRow As Long, Wsh As workshheet
Application.ScreenUpdating = False
If MsgBox("xyz", vbQuestion + vbYesNo, "Frage") = vbYes Then
For Each Wsh In ThisWorkbook.Worksheets
With Wsh
For lngRow = 1 To .Cells(.Rows.Count, 3).End(xlUp).Row
If .Range("C" & lngRow).Value  "" Then
.Rows(lngRow).Hidden = True
End If
Next
End With
Next Wsh
End If
End Sub
Falls du um Suchbereich keine "" als Formelwerte hast, könnte man die innere Schleife durch die SpecialCells-Methode ersetzen.
Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige