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, 20:17
(Dieser Beitrag wurde zuletzt bearbeitet: 08.05.2015, 20: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, 20: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, 19: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, 16: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
|