Kann Druckbereich nicht verändern!

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Kann Druckbereich nicht verändern!

Beitrag von JtfF »

Leider wieder ein ähnliches Problem wie ich es schon hatte! "F3K Total" viewtopic.php?f=18&t=61660 (Zellrange funktioniert nicht) hat mir dann einen anderen Möglichkeit gezeigt wie ich einen Bereich in ein PDF ausdrucken kann.
An meinem Calc-sheet habe ich noch andere Funktionen programmiert und wollte jetzt das i-Tüpfelchen draufsetzten. Alle Blätter werden selbständig gedruckt. Das können bis zu 30 sein. Kann es daran liegen das ich ein MacBook Pro habe? OSX 10.8.2 / Neooffice 3.3 / Patch 3.

Es geht um die Einteilung in einem Windtunnel. Z.B.: Ich nehme mir mit 8 Freunden 12,5 Std. Da nicht jeder die gleiche Anzahl von Minuten gekauft hat ist es schwierig die Zeit optimal zu verteilen. Durch ein Ampelsystem (rot=Zeit überschritten, gelb=noch Zeit vorhanden, grün=Zeit genau verbucht) Man bekommt Zeiten zugewiesen vom Windtunnelbetreiber. Das kann dann zwischen 30 Minuten und 2 Stunden am Stück sein. Zum Schluss würde ich die so errechnete Zeiteinteilung eben gerne ausdrucken.
Daher errechnet sich die Anzahl Blätter (schon erledigt) und wie viele Einträge es pro Durchgang sind (auch erledigt).

Das Problem, der Druckbereich verändert sich nicht. Ich habe im Anhang eine PDF.doc das dies genau zeigt. ich habe einen Durchgang mit 30 Minuten und vier Teilnehmern. Alles wird bis dahin einwandfrei ausgedruckt. Das war vor 14 Tagen und da hab ich halt nur mit 15 Sessions und 30 Minuten ein Durchgang getestet.

Jetzt wo ich auch mehr Sessions pro Durchgang habe wird das PDF nicht richtig ausgedruckt. auch wenn ich unter "Format/Druckbereich/ festlegen" gehe wird mir das PDF nicht richtig gedruckt. Die ersten 15 Sessions werden schön mit Namen und Überschrift gedruckt (Seite 1 des PDFs). Wenn eine 16te Session dazukommt wird diese auf eine neue Seite gedruckt obwohl noch 7 oder 8 Sessions auf diesem Blatt Platz hätten.
Ich habe immer eine Zeile mit Zeit Nummer und Namen und dann eine Zeile die in der Höhe nur ca. 20 % hat. Damit man das ganze leichter lesen kann.
Noch mysteriöser wird das ganze ab 50 Sessions. Hier wird auf Seite 2 alle Einträge von 15 - 50 1/2 gedruckt. Meint das die Zeile 50 nur zur Hälfte ganz unten dazu gefizelt wird und jetzt der Höhepunkt des PDFs .... ab dem 50 Eintrag wird nicht mehr in das PDF gedruckt. Schulterzuck :( :? :shock: ???

a und b werden von anderen Subs errechnet und weitergegeben.

a = gibt an wo ich den Dateinamen finde (funktioniert einwandfrei). integer zwischen 1 und 30
b = gibt die Zeilenanzahl weiter (funktioniert auch einwandfrei). Integer zwischen 15 und 100 daraus sollen die zu druckende Blätteranzahl zugewiesen werden

. . . und dann dachte ich Druckbereich setzen habe ich aber jetzt mal geREMt!

Sub PDF_Druck(a as integer, b as integer)

oDoc = thisComponent ' Variablen deklarieren
oSheet = oDoc.sheets(0) ' das erste Tabellenblatt
Dim ArgY(0) as new com.sun.star.beans.PropertyValue
Dim oPrintAreas(0)
oController = oDoc.CurrentController
ocontroller.activesheet = osheet

'Druckbereich setzen
'If b > 21 then oPrintRange = osheet.getCellRangeByName("QC107:QK154")
'If b > 45 then oPrintRange = osheet.getCellRangeByName("QC107:QK202")
'If b > 69 then oPrintRange = osheet.getCellRangeByName("QC107:QK250")

oPrintRange = osheet.getCellRangeByName("QC107:QK310")
oPrintAreas(0) = oPrintRange.RangeAddress
osheet.setprintAreas(oPrintAreas)

'CellX = oSheet.getCellByPosition(0,0)
'ValueX = CellX.value ' ...Wert auslesen zum Steuern des Dateinamens

CellY = oSheet.getCellByPosition(437 + a,3)' Dateiname wird ausgelesen und alle Durchgänge gedruckt
'CellY = oSheet.getCellByPosition(ValueX,1)' nur ein Durchgang wird drucken
ArgY(0).Name = "FilterName"
ArgY(0).Value = "calc_pdf_Export"

surl = converttourl("file:///Users/q/Desktop/")
oDoc.storeToURL (surl & CellY.getString() & ".pdf",ArgY())

End Sub REM = = = = = = = = = = = = = = = = = = = = = =
Ich wollte dann noch eine von "Hand" erstellte richtige PDF Datei anhängen aber die ist zu groß.

Wie immer GROSSEN DANK an eure Geduld und Hilfe!

Liebe Grüße aus Wien
Josef
Dateianhänge
windtunnel20.ods
Das Calc-Sheet - Eingabe erfolgt nur in den blau hinterlegten Zellen.
(130.57 KiB) 186-mal heruntergeladen
No 3 27.06.2013-2030.pdf
Der falsche Ausdruck
(33.93 KiB) 103-mal heruntergeladen
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Kann Druckbereich nicht verändern!

Beitrag von F3K Total »

Hi,
JtfF hat geschrieben:b = gibt die Zeilenanzahl weiter (funktioniert auch einwandfrei)
... kann ich mir nicht vorstellen, die

Code: Alles auswählen

Sub PDF_Druck(a as integer, b as integer)
wird hier so aufgerufen:

Code: Alles auswählen

Sub AlleDurchgaengeDrucken
...
Call PDF_Druck(oSpalte, Blattanzahl)
...
wobei

Code: Alles auswählen

Blattanzahl
nirgendwo ein Wert zugewiesen wird.
Ich kann nur raten, wenn b die Zeilenzahl ist, kannst Du den Druckbereich so anpassen:

Code: Alles auswählen

'Druckbereich setzen
oPrintRange = osheet.getCellRangeByPosition(444,106,452,106+b)
oPrintAreas(0) = oPrintRange.RangeAddress
osheet.setprintAreas(oPrintAreas)
wobei

Code: Alles auswählen

444,106
der Zellposition oben links (Spaltenindex, Zeilenindex) also hier Zelle QC107 entspricht und

Code: Alles auswählen

452,106+b
der Zellposition unten rechts (QK107+Zeilenzahl).
Gruß R
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Kann Druckbereich nicht verändern!

Beitrag von JtfF »

Möglicherweise handelt es sich um einen anderen GROBEN FEHLER? Wenn ich ohne Makro über das Menü den Format/Druckbereich/festlegen und drucke als PDF anklicke wird das PDF auch so gedruckt wie schon vorher und weiter unten noch einmal beschrieben.

"Blattanzahl" nicht deklariert und auch kein Wert zugewiesen. Ja das war ein Fehler meinerseits, funktioniert aber wenn ich statt Blattanzahl oZeile eingebe. Allerdings bleibt der Fehler bestehen.

Ich hab den Sub PDF_Druck so abgeändert das er alleine gestartet werden kann. Die Variable für die Durchgänge weggelassen und dafür einen PDFDateinamen vergeben.
Die Variable für die Blattanzahl habe ich auch weggelassen und füttere die Cellrange händisch.

z.B.

Code: Alles auswählen

oPrintRange = osheet.getCellRangeByName("QC107:QK130") oder
oPrintRange = osheet.getCellRangeByName("QC107:QK180") oder
oPrintRange = osheet.getCellRangeByName("QC107:QK310") 
Habe ich immer das gleiche schon vorher beschriebene Problem. Die ersten 15 Sessions werden ordnungsgemäß auf die erste Seite des PDFs gedruckt. sobald ich 16 Sessions oder mehr angebe werden die auf die zweite Seite geschrieben obwohl auf Seite eins noch Platz für weitere 7 Einträge wäre, und das Mysterium das ab der 50sten Session keine neue PDF Seite generiert wird und diese Daten anscheinend ins Nirwana gedruckt werden.

Auch wenn ich deine Änderung einbaue ...

Code: Alles auswählen

Druckbereich setzen
oPrintRange = osheet.getCellRangeByPosition(444,106,452,106+b)
oPrintAreas(0) = oPrintRange.RangeAddress
osheet.setprintAreas(oPrintAreas)
verändert dass das Ergebnis überhaupt nicht.

Code: Alles auswählen

Sub PDF_Druck 

oDoc = thisComponent ' Variablen deklarieren
oSheet = oDoc.sheets(0) ' das erste Tabellenblatt
Dim ArgY(0) as new com.sun.star.beans.PropertyValue
Dim oPrintAreas(0)

oController = oDoc.CurrentController
ocontroller.activesheet = osheet

'Druckbereich setzen
oPrintRange = osheet.getCellRangeByName("QC107:QK141")
oPrintAreas(0) = oPrintRange.RangeAddress
osheet.setprintAreas(oPrintAreas)

CellY = oSheet.getCellByPosition(437 + Durchgang,3)' Dateiname wird ausgelesen und alle Durchgänge gedruckt (Integer von 1 bis 30)

ArgY(0).Name =  "FilterName"
ArgY(0).Value = "calc_pdf_Export"

surl = converttourl("file:///Users/q/Desktop/")
oDoc.storeToURL (surl & CellY.getString() & "Test.pdf",ArgY()) ' CellY fungiert nur als DUMMY der Name der Datei ist Test.pdf

End Sub  
Der Code wird ohne Fehler durchlaufen, das Ergebnis treibt mich mit meinen Basic und Calc Wissen (sehr klein :) in die Verzweiflung!
Gibt es irgend eine Funktion / Menüeintrag wo man den Druckbereich sperren kann?

Bin mit meinem ooBasic Latein am Ende.

Noch einmal Danke und die Geduld die ihr mir zukommen lasst.

Liebe Grüße
Josef
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Kann Druckbereich nicht verändern!

Beitrag von JtfF »

Alleine die Uhrzeit meines Eintrages sollte verdeutlichen das mir diese Thema den Schlaf raubt. Bin um 03:00 uhr wach geworden und haben mich an den Computer gesetzt. Nach dem ich 2 Std. über diese Problem gebrütet hatte kam ich zu der vorigen Erkenntnis.

jetzt weiter drei Stunden habe ich festgestellt das mein Calc-Sheet mit dünnen schwarzen Linien durchzogen ist die anscheinend die Druckbereiche der "normalen" Seiten darstellen.

Genau unter der 15 Session ist so eine Linie. ich konnte bis jetzt diese Linie nicht dazu bewegen sich dem Bereich anzupassen den ich will.
Wenn ich ein neues Calc-Dokument anlege und in diesem Druck-Bereich Namen, Zeit und LaufendeNr einfüge dann nur den Sub PDF_Druck kopiere funktioniert das Ganze ohne Probleme.

[am Boden zertört ]
Wenn ich aber alle anderen Daten kopiere wird der "FEHLER" auch mit kopiert und ich habe wider diese Problem. Kann doch nicht sein das ich jetzt alles händisch noch einmal eintippen muss??
[/am Boden zertört ]

Ich bin jetzt überzeugt das nach meinem Wissenstand da ganze gar nichts mit dem Makro zu tun hat, soll ich da ganze noch mal im OOo Calc Forum posten?

Danke!
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Kann Druckbereich nicht verändern!

Beitrag von F3K Total »

Moin,
Menü Format/Druckbereiche/Druckbereiche bearbeiten, dort siehst Du den gespeicherten Druckbereich:
$QC$107:$QK$141
D.h. Der Druckbereich erstreckt sich von Zelle QC107 bis QK141, und da steht eben deine Zeile 15
Lösche den Druckbereich und versuche es noch einmal.
Gruß R
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Kann Druckbereich nicht verändern!

Beitrag von JtfF »

Das habe ich schon öfter versucht. Der Druckbereich ändert sich nicht. Wie geschrieben, wenn ich nur den einen Sub PDF_Druck in ein neues Sheet kopiere und ein paar Werte in den zu druckenden Bereich kopiere funktioniert es ohne Probleme. Ich kann jeder Zeit den Druckbereich ändern und sehe das auch anhand der Linien im Sheet das sich der Druckbereich geändert hat.

Beim Original sind die Druckbereiche zementiert! Das Gitter steht Felsenfest.

Habe auch schon versucht andere Druckbereiche einzugeben, klappt auch nicht. Wenn man sich das Gitter vorstellt, so als wäre man bereit das ganze Doc zu drucken, da sind ja die Seiten vorgegeben.
Wenn ich nun einen anderen Druckbereich über dieses Gitter ziehe, Ich vergleiche das mal mit einem Rahmen den ich über das Gitter lege. Der Rahmen wird als Druckbereich übernommen, wird aber nicht als Druckbereich im Menü/Format/Druckbereich/Festlegen angezeigt. Beim Drucken werde ich noch gefragt ob ich die Selektion oder Alles drucken möchte. Ich nehme Selektion ... es werden auch nur die Daten aus dem "Rahmen" gedruckt allerdings nicht auf ein oder zwei Seiten sonder auf vier oder mehr und es entsteht eine Menge Leerraum auf den Blättern.

Da ist mir sicher was abgestürzt das irgend wie mit dem Sheet mit abgespeichert wird und auch durch ALLES Kopieren wieder mit übernommen wird den um mich noch einmal zu wiederholen in einem neu erstelltes Sheet funktioniert es ohne Probleme das ich die angewählten Daten hintereinander auf ein Blatt drucken kann bis es voll ist und dann wird erst das nächste Blatt verwendet.

Da sieht man eigentlich wie schwierig es ist ein Problem nur mit Worten zu beschreiben. Uff!

Liebe Grüße
josef aus Wien
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Kann Druckbereich nicht verändern!

Beitrag von JtfF »

Könnte einer von euch so nett sein und sich die Mühe machen Windtunnel20 herunter zu laden und zu schauen ob er dieses Problem auch hat?
Wenn möglich mit einem OSX als Bertiebsystem und Neooffice 3.3. Danke
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Kann Druckbereich nicht verändern!

Beitrag von F3K Total »

Hallo,
ich weiss nicht woran es liegt, vermutlich daran, das du den Druckbereich im Makro
"PDF_Druck" überhaupt nicht änderst.
Hier ein Beispielcode mit Druckbereichsänderung, der bei mir mit Deinem Dokument funzt:

Code: Alles auswählen

Sub PDF_Druck_test
    dim sname(1) as string
    sname(0) = "Test1"
    sname(1) = "Test2"
    dim sRange(1) as string
    sRange(0) = "QC107:QK141"
    sRange(1) = "QC107:QK151"
    oDoc = thisComponent ' Variablen deklarieren
    oSheet = oDoc.sheets(0) ' das erste Tabellenblatt
    Dim ArgY(0) as new com.sun.star.beans.PropertyValue
    Dim oPrintAreas(0)
    oController = oDoc.CurrentController
    ocontroller.activesheet = osheet
    for i = 0 to 1
        'Druckbereich setzen
        oPrintRange = osheet.getCellRangeByName(sRange(i))
        oPrintAreas(0) = oPrintRange.RangeAddress
        osheet.setprintAreas(oPrintAreas)
        msgbox "Druckbereich "+sRange(i)+" gesetzt."+chr(13)+"Siehe dünne Linien oder Ansicht/Seitenumbruch Vorschau"
        ArgY(0).Name =  "FilterName"
        ArgY(0).Value = "calc_pdf_Export"
        'surl = converttourl("file:///Users/atelier/Desktop/")
        surl = converttourl("C:\Users\R\Desktop\")
        oDoc.storeToURL (surl & sname(i) & ".pdf",ArgY())
    next i
    msgbox  "fertig"
End Sub
Ergebnis:
d.png
d.png (26.51 KiB) 4408 mal betrachtet
HTH
Gruß R
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Kann Druckbereich nicht verändern!

Beitrag von JtfF »

Guten Morgen!

Habe deine Lösung noch nicht probiert aber ich habe ja auch ohne dem Makro das Problem das sich der Druckbereich nicht ändern lässt.
So wie du das auf deinem Bild zeigst funktioniert das bei mir nur mit einem neuen Calc Dokument aber leider nicht im Original.
Im neuen Calc Dokument habe ich überhaupt keine Probleme den Druckbereich händisch sowie mit über das Makro zu ändern außer ich kopiere alles vom Original ins neue Dokument.

Ich werde versuchen das Worksheet in Teilen zu kopieren und dazwischen immer einen Testlauf zu starten. Möglicherweise kann ich so den vermeintlichen Fehler eingrenzen. Oder kannst du mir das Dokument neu abspeichern und zuschicken? ich habe leider nur den einen Mac. Möglicherweise verändert sich was durch das neuerliche abspeichern. Ich werde in meiner Fa. mal Leute fragen ob sie einen Mac haben und ob mir da einer das Sheet neu abspeichern kann wenn es bei ihm auf dem Computer funktioniert.

Liebe Grüße und ein ganz groooßes Dankeschön an euch alle für eure Hilfe!

Josef aus Wien :0)
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: Kann Druckbereich nicht verändern!

Beitrag von F3K Total »

Wie wäre es wenn du dein Dokument, von dieser Seite herunterlädst, genau wie ich es getan habe.
Mein Test Makro läuft in genau diesem Dokument.
R
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Kann Druckbereich nicht verändern!

Beitrag von JtfF »

Zu F3K Total » Mi, 01.05.2013 18:52
Habe den Druckbereich geändert allerdings per Hand vor dem Makrolauf die Daten verändert!


Habe das "neu" abgespeicherte Calc-Sheet heruntergeladen. Wenn ich 100 Sesions zu 2 Minuten eintrage dann wird die erste Seite jetzt richtig gedruckt, Seite zwei, es bleiben 6 Zeilen ungenutzt, Seite drei, dagegen wird mit Daten bis über die Fußzeile (wird selber nicht gedruckt da steht sonst nur die Seitenzahl drinnen) hinaus bombardiert und der Rest wird nicht mehr gedruckt. Auf Seite drei ganz unten ist noch einen Hauch von einer Zeile zu sehen.

Ich bin schon am Neuschreiben, teilweise kopieren und versuche dazwischen immer mal den Ausdruck in ein PDF. Sowohl per Hand den Druckbereich festlegen und drucken in ein PDF und auch über das Makro. Zur Zeit noch kein Problem aufgetreten.
Wenn ich dann fertig bin melde ich mich noch mal. Danke für eure Hilfe! Ich denke das dieser Fehler so speziell ist das man nur mit enormen Aufwand herausfinden könnte was da schief gegangen ist. Möglich das es von der Hardware und der Software abhängt oder ob ich irgend wann was angeklickt habe das es dem Programm verübelt die DruckerRang ordentlich zu ändern. Von mir aus kann man diesen Beitrag getrost beenden. Ich werde, wenn es geklappt hat, nur noch schreiben das wie ich den Fehler behoben habe und möglicherweise komme ich ja noch auf etwas Wesentliches drauf.

Liebe Grüße aus Wien
Josef
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Kann Druckbereich nicht verändern!

Beitrag von balu »

Hallo Josef,

ich lese jetzt wohl schon ne Weile mit ohne direkt zu helfen -{aus Gesundheitlichen Gründen}-, aber jetzt möcht ich mich doch zu Worte melden.

Als erstes habe ich deine Formeln im Bereich QD112:QH310 überarbeitet. Dadurch wird nur dann etwas angezeigt, wenn es auch etwas zum anzeigen gibt. Du hattest wohl auch so etwas ähnliches gemacht, aber deine Technik war ein Stolperstein für meine Technik. Denn Du hattest einfach die Zellen Weiß übertüncht, wenn nix zum anzeigen war. Dadurch wurden aber die Fehlermeldungen nicht unterbunden die auftreten wenn deine VERWEIS-Formel eine Fehlermeldung ausgibt. Mit meiner Technik kommt es erst gar nicht zu einer Fehlermeldung.

Beispiel deine Formel:

Code: Alles auswählen

=VERWEIS(QK114;$A$9:$A$33;$B$9:$B$33)
Beispiel meine Formel:

Code: Alles auswählen

=WENN(QK114>0;VERWEIS(QK114;$A$9:$A$33;$B$9:$B$33);"")
Du hattest im Zellbereich QD112:QD310 einfach die Zahlen von 1 bis 100 fest eingetragen. Diese werden aber auch wiederum mit Weiß übertüncht, wenn in der Spalte QK nix drin steht. Dadurch war es aber unmöglich in dem vorgesehenen Druckbereich die letzte benutzte Zelle zu lokalisierren. Also habe ich das auch dementsprechend geändert. Und zwar durch eine einfache Formel.

Code: Alles auswählen

=WENN(QK114>0;QD112+1;"")
Jetzt wird in der Spalte QD ohne Farbformatierung nur noch dann etwas angezeigt, wenn es etwas zum anzeigen gibt. Und dadurch konnte ich jetzt eine Formel anwenden die mir die letzte benutzte Zelle ausgibt. Um genau zu sein, nur die Zeilennummer.
Formel:

Code: Alles auswählen

=MAX(ZEILE(QD112:QD310)*(QD112:QD310<>""))

ACHTUNG ! ! ! !
DAS IST EINE MATRIXFORMEL ! ! !

Die Eingabe der Formel mit "Strg" + "Shift" + "Enter" abschliesen.
Diese Formel, und deren Ergebniss, ist in der Zelle QK103 zu finden.


Jetzt konnte ich das Druck-Makro so umschrieben, das durch die eben ermittelte letzte benutzte Zeile ein dynamischer Druckbereich erstellt wird.

Code: Alles auswählen

Sub PDF_Druck(a as integer)
	Dim ArgY(0) as new com.sun.star.beans.PropertyValue
	Dim oPrintAreas(0)

		oDoc = thisComponent
		oTimeSheet = oDoc.sheets.getbyname("Timetable")

		vLetzte = oTimeSheet.getCellRangeByName("QK103").value

			oController = oDoc.CurrentController
			ocontroller.activesheet = oTimeSheet

				'Druckbereich setzen
				oPrintRange = oTimeSheet.getCellRangeByName("QC107:QK" & vLetzte)
				oPrintAreas(0) = oPrintRange.RangeAddress
				oTimeSheet.setprintAreas(oPrintAreas)

					'CellX = oSheet.getCellByPosition(0,0)
					'ValueX = CellX.value ' ...Wert auslesen zum Steuern des Dateinamens

			CellY = oTimeSheet.getCellByPosition(437 + a,3)' Dateiname wird ausgelesen und alle Durchgänge gedruckt
								                                   'CellY = oSheet.getCellByPosition(ValueX,1)' nur ein Durchgang wird drucken
			ArgY(0).Name =  "FilterName"
			ArgY(0).Value = "calc_pdf_Export"

			surl = converttourl("file:///Users/atelier/Desktop/")
			oDoc.storeToURL (surl & CellY.getString() & ".pdf",ArgY())

End Sub

Das wars im Groben.
Ich hoffe das dies dir weiterhilft.



Gruß
balu
Dateianhänge
windtunnel20-B2.ods
(99.18 KiB) 100-mal heruntergeladen
Sei öfter mal ein Faultier, sag öfter mal "Ach was!" Dann kriegst du keinen Herzinfarkt, und hast ne menge Spass.

wehr rächtschraipfähler findet khan si behalden :D
JtfF
**
Beiträge: 25
Registriert: So, 24.03.2013 08:32

Re: Kann Druckbereich nicht verändern!

Beitrag von JtfF »

Hallo Alle miteinander!

Deine Überlegung ist von deinem Standpunkt aus richtig. Ich suche aber die erste "leere Zelle" nicht im Druckbereich sonder im "SPEICHER" unter IQ4:IQ103 für den ersten Durchgang, IT4:IT103 für den zweiten Durchgang, IW4:IW103 für den dritten usw.
Dadurch habe ich ganz eindeutig eine "leere Zelle" die eindeutig leer ist, es befindet sich nicht einmal eine Formel darin.

Aber ich denke das du als eingefleischter OOo Spezialist das viel besser kannst als ich. :D
Mit Matrizen habe ich im Basic noch nie gearbeitet. Ich habe versucht an Hand deiner Beschreibung und Vorgaben des Codes das bei mir im Sheet einzubauen. Funktioniert einwandfrei. Danke!


Aber der Ehrgeiz lässt mich nicht los. Möchte doch zu gerne herausfinden wo ich mir diesen Fehler eingehandelt habe?
Leider hatte ich noch nicht genügend Zeit das Calc-Sheet zu übertragen und immer wieder zu testen um herauszufinden wo es den hackt?
Ich habe ja schon weiter oben geschrieben das der SUB PDF_Druck in einem neu erstellten Sheet wunderbar funktioniert. Kopiere ich aber alles aus dem alten Sheet habe ich auch den Fehler mitkopiert. Ich möchte noch einmal darauf hinweisen...

...das der Ausdruck ja auch ohne Makro nicht funktioniert hat !!!!!!!!
(mit Maus den zu druckenden Bereich hervorheben unter Drucken gehen und ich habe statt einer Seite bis zu vier heraus bekommen.

Ich habe leider den Fehler gemacht nur 15 Sessions im Windtunnel Sheet mit abzuspeichern (max. 100). Man kann unter IQ4:IQ103 Daten "händisch" eingeben (braucht nur die ersten 15 Einträge nach unten kopieren) oder wie es vorgesehen ist unter BZ4 bis BZ103 Daten eingeben und grünen Kreis (in der Nähe von BX1) für die Speicherung drücken. Welcher Speicher gefüllt wird ist abhängig von AZ2.
Wenn etwas im Speicher liegt wird es unter BH1 bis BW2 angezeigt. Die Speichernummer selber wird dann grün dargestellt. Was die einzelnen Farben bedeuten kann man ab PR97 lesen. Nur noch zur Anmerkung: Ich habe viel Bereiche auf "verbergen" geschaltet.


Erklärung des Windtunnel-Sheets:

ALLE BLAUEN BEREICHE SIND FÜR DIE EINGABE GEDACHT!

1.) Unter dem Bereich A1:AK33 Werden die Namen(B10:E24) und die Zeiten/Datum(H5:AK7) des Windtunnels eingegeben. Unter H10:AK33 teile ich die Zeiten für jeden Teilnehmer ein (in Minuten).
2.) Unter BZ4:BZ103 wird die Teilnehmernummer eingegeben und unter CA3:CA103 wird die Zeit in Sekunden für jede Session eingegeben. Rechts davon (FN4:FQ27) kann ich den Fortschritt meiner Zeitvergabe im Auge behalten (Ampelsystem) GRÜN Zeit ist exakt erreicht, noch Zeit vorhanden GELB oder ROT Zeit überschritten.
3.) CF bis CW - Hier wird nur Berechnet ob im Bereich AZ4:BW103 die Zeit überschritten wurde und stellt das in der Zelle ROT dar. Dazu gehören auch noch die Formeln in AZ105:BW108
4.) IQ:MA ist der Speicherbereich - hab ich oben schon beschrieben.
5.) QC4:RF4 wird der Name für die PDF Datei zusammengestellt.
6.) QD107:QK310 Druckbereich für das PDF

Balu noch ein mal eine recht herzlichen Dank für deine Hilfe! Applaus, Applaus - (Zitat Kermit)!
Danke!
Liebe Grüße aus Wien
Antworten