Registriert seit: 16.11.2018
Version(en): 365 ProPlus
Hallo liebe Gemeinschaft,
ich habe eine ziemlich lange Liste, bei der über ein Makro manuelle Seitenumbrüche eingefügt werden sollen.
Der Umbruch soll immer dann erfolgen, wenn in Spalte "B" z.B. "WAHR" steht.
Ich habe im Netz bereits folgendes Makro gefunden, das aber nicht immer funktioniert.
Sub Seitenumbruch_einfuegen()
Dim lngRow As Long
For lngRow = 1 To ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
If Cells(lngRow, 2) = "WAHR" Then _
ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Cells(lngRow + 1, 1)
Next
End Sub
Kann mir bitte jemand weiterhelfen und mir Tipps geben, wie ich das Problem lösen kann?
Vielen Dank schon mal im Voraus
Gruß
Thomas
Registriert seit: 03.10.2018
Version(en): 2010 ProPlus / 2016 ProPlus
Hallo,
If Cells(lngRow, 2) = "WAHR" Or Cells(lngRow, 2) = True Then
VG Sabina
bei mir läuft Win 7 32-Bit - Office 2010 Pro Plus 32-Bit und Office 2016 Pro Plus 32-Bit
Wer auch weiter Hilfe erwartet, sollte sich nicht zu schade sein, ein kurzes Feedback zu geben.
Registriert seit: 02.12.2017
Version(en): Office 365
16.11.2018, 20:26
(Dieser Beitrag wurde zuletzt bearbeitet: 16.11.2018, 20:26 von Frogger1986.)
Was Funktioniert denn an dem Makro nicht, oder nur manchmal??
Nachtrag:
@Flotter Feger das hätte ich jetzt auch getippt...
Eine Menge reden, aber nichts sagen können viele...
Registriert seit: 16.11.2018
Version(en): 365 ProPlus
Vielen Dank schon mal für die schnellen Reaktionen.
Ich habe das Makro in zwei verschiedenen Dateien getestet.
In der einen scheint es jetzt problemlos zu funktionieren.
In der anderen verhält es sich merkwürdig.
Wenn in einer Zelle in Spalten B "WAHR" steht, macht es gar nichts. Wenn in allen Zellen der kleinen Test-Tabelle "WAHR" steht, wird in allen Zeilen ein Seitenumbruch eingefügt.
Wenn ich dann wieder nach und nach die "WAHR" raus lösche, macht es ab einer nicht nachvollziehbaren Anzahl an "WAHR" gar keine Umbrüche mehr. Zwischendurch setze ich die Seitenumbrüche immer wieder zum Testen zurück.
Leider kann ich dabei keine Systematik erkennen.
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
die Zeilenumbrüche werden übrigens in Abhängigkeit der letzten Eintragung in Spalte D gesetzt - ist da was im Argen?
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• TomKra
Registriert seit: 16.11.2018
Version(en): 365 ProPlus
(17.11.2018, 18:11)schauan schrieb: Hallöchen,
die Zeilenumbrüche werden übrigens in Abhängigkeit der letzten Eintragung in Spalte D gesetzt - ist da was im Argen?
Hallo schauan,
Vielen Dank für deinen Hinweis.
Was bedeutet dein Aussage genau?
Heißt dass, ich muss jedes mal noch einen neuen Eintrag in Spalte D machen, um das Makro ausführen zu können?
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
in Deiner Schleife steht
… ActiveSheet.Cells(Rows.Count, 4).End(xlUp).Row
Die 4 steht für Spalte D. Wenn Du die Wahrheitswerte in Spalte B hast, würde ich eventuell eine 2 nehmen. Wenn nämlich z.B. Deine Spalte D leer ist, passiert nix.
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• TomKra
Registriert seit: 16.11.2018
Version(en): 365 ProPlus
Hallo schauan,
Dein Tipp war super. Nachdem ich die 4 auf 2 geändert habe, hat alles wie gewünscht funktioniert.
Wenn man noch keine Ahnung von VBA hat und plötzlich für eine Prüfung mit großen Excel Tabellen arbeiten muss, ist es klasse, dass es so Leute wie Dich gibt.
Wie kann ich denn Module, die ich nicht mehr benötige wieder löschen?
Vielen Dank für die Hilfe
Gruß Thomas
Registriert seit: 16.11.2018
Version(en): 365 ProPlus
Hallo,
ich habe noch ein Makro (siehe unten) um Zeilen auszublenden.
Das funktioniert soweit auch ganz gut.
Kann man das noch etwas optimieren damit es etwas schneller geht?
Die Anzahl der Zeilen habe ich bereits auf den kleinsten Wert (2180) eingestellt.
Aber vielleicht dauert es auch einfach seine Zeit, bis so viele Zeilen überprüft und ausgeblendet sind.
Was ist denn der Unterschied zwischen einem Sub und einem Public Sub?
Gruß
Thomas
Public Sub Zeilen_ausblenden()
Application.ScreenUpdating = False
For i = 1 To 2180
If Cells(i, 1).Value = "0" Then
Rows(i).Hidden = True
End If
Next i
Application.ScreenUpdating = True
Range("A1").Select
End Sub
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo Thomas,
Zitat:Wie kann ich denn Module, die ich nicht mehr benötige wieder löschen?
geht mit dem Kontextmenü / rechte Maustaste - "Entfernen von … " Da kommt dann noch eine Meldung, ob Du das Modul noch sichern willst, die kannst Du wegdrücken oder tust es eben sichern
. \\\|/// Hoffe, geholfen zu haben.
( ô ô ) Grüße, André aus G in T
ooO-(_)-Ooo (Excel 97-2019+365)
Folgende(r) 1 Nutzer sagt Danke an schauan für diesen Beitrag:1 Nutzer sagt Danke an schauan für diesen Beitrag 28
• TomKra