Registriert seit: 08.05.2015
Version(en): 2010
Hallo liebe Mituser, liebe Excelgemeinde,
ich hätte da ein kleines Problemchen ;) :
Ich habe eine Tabelle, die aus verschiedenen Analysen besteht. Jede Analyse hat eine verschiedene Anzahl an Zeilengröße. Je nachdem welche Analysen ausgewählt werden, ist der Seitenumbruch mitten in einer Analyse. Diese sollte aber zusammenhängend auf der neuen Seite erscheinen. Wie kann man einen Variablen Seitenumbruch erstellen, wo nach einer Analyse variable der Seitenumbruch nach Zeile 32, 34 oder nach Zelie 35 passiert?
Bsp:
WCX [ ] Proben auf 10 mg/mL in Milli Q verdünnt [ ] durchgeführt [ ] ausgewertet
WCX besteht aus 2 Zeilen durchgeführt und ausgewertet. mittendrin ist der Zeilenumbruch. auf der ersten Seite steht noch das durchgeführt und auf der Zweiten ausgewertet. wie kann man vriabel erstellen, dass eine Analyse nicht getrennt wird und komplett auf Seite 2 erscheint?
Vielen dank schonmals un ein schönes WE Eure twobbi
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
08.05.2015, 21:17
(Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2015, 21:18 von schauan.)
Hallöchen,
ich nehme an, wenn Dein Seitenumbruch in den 30ern liegt, dass Du im Querformat druckst. Steht denn vor Deinem WCX eine Leerzeile und stehen die Seiten auf dem Excel-Blatt alle untereinander? Dann könnte man den Zeilenumbruch auf die letzte Leerzeile der Seite legen.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 08.05.2015
Version(en): 2010
(08.05.2015, 21:17)schauan schrieb: Hallöchen,
ich nehme an, wenn Dein Seitenumbruch in den 30ern liegt, dass Du im Querformat druckst. Steht denn vor Deinem WCX eine Leerzeile und stehen die Seiten auf dem Excel-Blatt alle untereinander? Dann könnte man den Zeilenumbruch auf die letzte Leerzeile der Seite lHallo Hallo schauan, erst mal danke für die Antwort. Ja die Seiten stehen untereinander. und nein, leider keine leerzeilen. Die Analysen werden nacheinander aufgelistet. Problem ist halt auch, dass am ende immer variabel unterschiedliche Analysen stehen......
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen, das wäre mal ein Ansatz. Was passiert, ist kommentiert. Code: Sub ZeilenUmbruchSetzen() 'Variablendeklarationen 'Integer Dim iCnt%, iFoundRow% 'Mit dem Blatt 1 With Worksheets(1) 'Seitenumbrueche zuruecksetzen .ResetAllPageBreaks 'Zaehler fuer Seitenumbrueche setzen iCnt = 1 'Erste Fundstelle ermitteln Set c = .Columns(1).Find(What:="WSC", After:=.Cells(1, 1), _ LookIn:=xlValues, LookAt:=xlPart, SearchDirection:=xlNext) 'Wenn etwas gefunden wurde, dann If Not c Is Nothing Then 'erste Fundstelle merken firstaddress = c.Address 'Zeilennummer merken iFoundRow = c.Row 'Schleife ueber alle Treffer Do 'Wenn die Treffezeile unter der Umbruchzeile leigt, dann If c.Row > .HPageBreaks(iCnt).Location.Row Then 'Seitenumbruch vor letztes WSC einfuegen .HPageBreaks.Add before:=Cells(iFoundRow, 1) 'Zaehler hochsetzen iCnt = iCnt + 1 'Ende Wenn die Treffezeile unter der Umbruchzeile leigt, dann End If 'Trefferzeile merken iFoundRow = c.Row 'naechsten Treffer suchen Set c = .Columns(1).FindNext(c) 'Ende Schleife ueber alle Treffer Loop While Not c Is Nothing And c.Address <> firstaddress And .HPageBreaks.Count >= iCnt 'Ende Wenn etwas gefunden wurde, dann End If 'Mit dem Blatt 1 End With End Sub
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 08.05.2015
Version(en): 2010
(10.05.2015, 20:07)schauan schrieb: 'Seitenumbruch vor letztes WSC einfuegen hallo shauan, klingt vom Ansatz her ganz gut. Es gibt aber leider nur ein WSC. die anderen Analysen heissen anders....... WSC ist manchmal auch gar nicht dabei...... Wie gesagt abhängig der ausgewählten Analysen. Sehr variabel eben ;) VG twobbi
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallo twobbi, dann müsstest Du mal beschreiben, wie das Programm erkennen soll, wo eine Analyse anfängt und / oder aufhört. Wenn Du das nicht beschreiben kannst, dann kann man es auch nicht programmieren.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 08.05.2015
Version(en): 2010
(11.05.2015, 17:48)schauan schrieb: Hallo twobbi,
dann müsstest Du mal beschreiben, wie das Programm erkennen soll, wo eine Analyse anfängt und / oder aufhört. Wenn Du das nicht beschreiben kannst, dann kann man es auch nicht programmieren. genau dass ist ja die Frage und mein Problem ^^ die Analysen werden ja vorher über eine Macroeingabe ausgewählt. denke schon, dass das Programm dann weiss wann eine Analyse aufhört und anfängt. sind ja hinterlegt...... :20: Ich denke, dass funktioniert, wenn das Programm alle ausgewählten Analysen nacheinander durchläuft und dann nach dem entsprechenden Seitenumbruch schaut...... Nur wie ich ihm das programmtechnisch sage weiss ich nicht genau
Registriert seit: 10.04.2014
Version(en): 97-2019 (32) + 365 (64)
Hallöchen,
also, mein Programm ändert ja nur Seitenumbrüche und wählt keine Analysen. Es kann Dir auch keine ausgewählten Analysen durchlaufen, wenn es die nicht kennt und nicht weiß, wie und wo es die suchen soll. Du müsstest den code zur Auswahl der Analysen mal posten oder die Excel-Datei damit, wo man sich das anschauen kann.
. \\\|/// Hoffe, geholfen zu haben. ( ô ô ) Grüße, André aus G in T ooO-(_)-Ooo (Excel 97-2019+365)
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo,
ich gehe davon aus, dass Du genau in den besagten Zeilen irgendwo Verbundene Zellen hast.
Wenn Ja, dann solltest Du den Tabellenaufbau mal zeigen. Denn um die Umbrüche anzupassen müsste man unter Umständen die Verbindungen aufheben, damit man die Anzahl Zeilen pro Seite feststellt. Danach kann der Seitenumbruch neu gesetzt und die Zellen können wieder verbunden werden.
Gruß Atilla
Registriert seit: 14.04.2014
Version(en): 2003, 2007
Hallo, unten ein Beispielcode. Ich gehe von zwei Seiten aus. Außerdem setze ich einfach voraus, dass in Spalte C verbundene Zellen sind. Siehe auch Kommentare im Code. Code: Sub Seitenumbruch_anpassen() Dim lngR With Sheets("Tabelle1") .ResetAllPageBreaks 'Seitenumbrüche setzen If .HPageBreaks.Count > 0 Then 'wenn mehr als eine Seite dann lngR = .HPageBreaks(1).Location.Row 'Zeile des ersten Seitenumbruchs feststellen If Cells(lngR, 3).MergeCells = True Then 'wenn Zellen In Spalte 3 der Zeile mit mit dem Seitenumbruch verbunden sind dann lngR = Cells(lngR, 3).MergeArea.Row 'feststellen der ersten Zeile der Verbundenen Zelle .HPageBreaks.Add Cells(lngR, 1) 'Seienumbruch über der verbundenen Zelle setzen End If End If End With End Sub
Gruß Atilla
|