Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1540to1544
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
Zeilen ausblenden funktioniert nicht komplett
10.02.2017 21:57:55
Florian
Hallo zusammen,
Ich bin ein absoluter VBA- Neuling, finde aber mittlerweile viel Freude daran.
Allerdings läuft bei mir alles etwas "autodidaktisch", also bitte ich um Verzeihung wenn meine Codes nicht der guten Ordnung entsprechen. Für Verbesserungsvorschläge bin ich offen!
Nun zu meinem Problem:
Ich habe eine Arbeitsmappe mit 5 Tabellenblättern, die ich über einen Commandbutton drucken möchte. Folgende Prozeduren sollen passieren:
- Drucker auswählen
- Von den ersten 3 Blättern sollen Leerzeilen ausgeblendet werden
- alle 5 Blätter drucken
-Leerzeilen wieder einblenden
- zum ersten Blatt gehen
Nun passiert es leider, dass bei dem Blatt, dass ich als 2. von den 3 wo die Zeilen ausgeblendet werden sollen, diese Ausblendung nicht stattfindet. tausche ich die Blätter in der Reihenfolge, also setze ich den Code von der ersten Mappe an die 2.Stelle, wird dieser nicht bearbeitet.
Auf dem anderen Wege werden bei einem der Blätter, wo Zeilen ausgeblendet wurden, diese nicht wieder eingeblendet.
Ich verzweifle hier echt und hoffe, dass mir jemand einen Tipp geben kann. Wie gesagt, bin absoluter Neuling, also habt ein Nachsehen!
Hier der Code:
Sub Komplette_Mappe_Drucken()
'Fenster Druckerwahl einblenden
Application.ScreenUpdating = False
Dim Druckerwahl
Dim rng As Range
Dim n As Integer
Druckerwahl = Application.Dialogs(xlDialogPrinterSetup).Show
If Druckerwahl = False Then Exit Sub
'Mappe "Barauslagen Proviant" auswählen
Sheets("Barauslagen Proviant").Select
'Range festlegen, der ausgeblendet werden soll (Spalte B)
Set rng = Range("B8:B49")
Application.ScreenUpdating = False
'Leere Zeilen in Spalte B suchen und komplette Zeilen ausblenden
If Not blnHidden Then
blnHidden = True
For n = 1 To rng.Rows.Count
If Application.CountA(rng.Rows(n)) = 0 Then rng.Rows(n).Hidden = blnHidden
Next
For n = 1 To rng.Columns.Count
If Application.CountA(rng.Columns(n)) = 0 Then rng.Columns(n).Hidden = blnHidden
Next
Else
blnHidden = False
rng.Rows.Hidden = blnHidden
rng.Columns.Hidden = blnHidden
End If
'Mappe "Barauslagen Schiff" auswählen
Sheets("Barauslagen Schiff").Select
'Range festlegen, der ausgeblendet werden soll (Spalte B)
Set rng = Range("B8:B49")
Application.ScreenUpdating = False
'Leere Zeilen in Spalte B suchen und komplette Zeilen ausblenden
If Not blnHidden Then
blnHidden = True
For n = 1 To rng.Rows.Count
If Application.CountA(rng.Rows(n)) = 0 Then rng.Rows(n).Hidden = blnHidden
Next
For n = 1 To rng.Columns.Count
If Application.CountA(rng.Columns(n)) = 0 Then rng.Columns(n).Hidden = blnHidden
Next
Else
blnHidden = False
rng.Rows.Hidden = blnHidden
rng.Columns.Hidden = blnHidden
End If
'Mappe "Kasse" auswählen
Sheets("Kasse").Select
'Range festlegen, der ausgeblendet werden soll (Spalte E)
Set rng = Range("E23:E38")
Application.ScreenUpdating = False
'Leere Zeilen in Spalte B suchen und komplette Zeilen ausblenden
If Not blnHidden Then
blnHidden = True
For n = 1 To rng.Rows.Count
If Application.CountA(rng.Rows(n)) = 0 Then rng.Rows(n).Hidden = blnHidden
Next
For n = 1 To rng.Columns.Count
If Application.CountA(rng.Columns(n)) = 0 Then rng.Columns(n).Hidden = blnHidden
Next
Else
blnHidden = False
rng.Rows.Hidden = blnHidden
rng.Columns.Hidden = blnHidden
End If
'Alle Blätter auswählen
Sheets().Select
'Ausgewählte Blätter drucken
ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True
'Ausgeblendete Zeilen wieder einblenden
Sheets().Select
Rows.Hidden = False
'Zurück zu Blatt "Kasse" gehen
Sheets("Kasse").Select
Application.ScreenUpdating = True
End Sub

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen ausblenden funktioniert nicht komplett
10.02.2017 22:27:49
onur
Hi,
If Not blnHidden Then
blnHidden = True

Das tut nix ausser die Variable umschalten . das alleine bewirkt gar nix in Sachen Ein- oder ausblenden.
Dein code wäre so kürzer(da ohne Wiederholungen):
Sub Komplette_Mappe_Drucken()
'Fenster Druckerwahl einblenden
Application.ScreenUpdating = False
Dim Druckerwahl
Dim rng As Range
Dim n As Integer
dim crntSht as worksheet
Druckerwahl = Application.Dialogs(xlDialogPrinterSetup).Show
If Druckerwahl = False Then Exit Sub
set crntsht=("Barauslagen Proviant", "Barauslagen Schiff", "Kasse")
for each crntsht in worksheets
'Range festlegen, der ausgeblendet werden soll (Spalte B)
Set rng = Range("B8:B49")
Application.ScreenUpdating = False
'Leere Zeilen in Spalte B suchen und komplette Zeilen ausblenden
If Not blnHidden Then
blnHidden = True
For n = 1 To rng.Rows.Count
If Application.CountA(rng.Rows(n)) = 0 Then rng.Rows(n).Hidden = blnHidden
Next
For n = 1 To rng.Columns.Count
If Application.CountA(rng.Columns(n)) = 0 Then rng.Columns(n).Hidden = blnHidden
Next
Else
blnHidden = False
rng.Rows.Hidden = blnHidden
rng.Columns.Hidden = blnHidden
End If
end for
'Alle Blätter auswählen
Sheets().Select
'Ausgewählte Blätter drucken
ActiveWindow.SelectedSheets.PrintOut copies:=1, collate:=True
'Ausgeblendete Zeilen wieder einblenden
Sheets().Select
Rows.Hidden = False
'Zurück zu Blatt "Kasse" gehen
Sheets("Kasse").Select
Application.ScreenUpdating = True
End Sub

Gruß
Onur
Anzeige
Zeilen ausblenden funktioniert nicht komplett
10.02.2017 22:37:28
Florian
Hallo Onur,
Danke für die Antwort.
Allerdings blendest Du mit Deinem Code in allen 3 Blättern den gleichen Bereich aus, wenn ich micht nicht täusche. Das trifft aber bei dem Blatt "Kasse" nicht zu. Daher hatte ich sie einzeln geschrieben. Aber danke für`s Verkürzen und den Tipp! Werde das andere Blatt vielleicht nochmal einzeln schreiben und den Rest so lassen wie bei Dir und mal sehen,was passiert. Morgen....
Gruß Florian
AW: Zeilen ausblenden funktioniert nicht komplett
11.02.2017 13:02:54
Herbert
Hallo Florian,
ohne Beispieldatei wird das schwierig!
Servus
Zeilen ausblenden funktioniert nicht komplett
11.02.2017 18:57:03
Florian
Hallo,
Ich verzweifle weiter, daher habe ich mal eine Beispieldatei angehängt.
Einmal werden bei Blatt 3 die Leerzeilen nicht ausgeblendet und bei Blatt 2 nachher nicht wieder eingeblendet. Wenn ich den Code um-schreibe, ist es wieder der mittlere von den dreien bei denen was ausgeblendet werden soll.
https://www.herber.de/bbs/user/111383.xlsm
Gruß,
Florian
Anzeige
Zeilen ausblenden funktioniert nicht komplett
11.02.2017 20:50:21
Florian
Hallo Onur,
Vielen Dank!!! Habe den Code in meine Tabelle eingefügt, bekomme allerdings unten bein Einblenden den "Laufzeitfehler 9, Index außerhalb des gültigen Bereichs".
Kann es daran liegen, dass meine Originaltabelle noch 2 weitere Blätter enthält wo nun versucht wird, etwas einzublenden?
Gruß
Florian
AW: Zeilen ausblenden funktioniert nicht komplett
11.02.2017 21:00:25
onur
Hi,
Du musst natürlich deine tatsächlichen Sheetbezeichnungen eingeben (statt "Mappe1" usw.) -am Besten mit "Suchen" und "Ersetzen".
Gruß
Onur
Anzeige
Zeilen ausblenden funktioniert nicht komplett
11.02.2017 21:18:41
Florian
Hallo Onur,
wie peinlich...danke für den Tipp mit "suchen und ersetzen".
Hatte zwar die Bezeichnungen geändert aber es hatte sich ein Schreibfehler eingeschlichen den ich mehrfach übersehen hatte.
Danke nochmal!

309 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige