Seite 1 von 3

Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 12:09
von Anni25
Hallo liebe OpenOffice-Versteher,

Ich bin neu im Umgang mit Oo und habe folgendes Problem:
Für meine Bachelorarbeit muss ich ein OoCalc-Tool erstellen. Auf einem Tabellenblatt (Kostenvergleich) werden verschiedene Rechnungen durchgeführt, die Ergebnisse dieser Rechnungen möchte ich gerne durch das Anklicken eines Buttons (wie ich den erstelle weiß ich) auf dem ersten Tabellenblatt (Ergebnisse) speichern.
Danach möchte ich neue Werte in "Kostenvergleich" verwenden und wieder rechnen. Die neuen Ergebnisse sollen dann in der Zeile drunter auf dem Ergebnisblatt gepeichert werden, und so weiter...
Dafür benötige ich eben ein passendes Makro.
Ich hoffe ihr versteht mein Problem und könnt mir schnell helfen.
Es ist dringend.

Danke schon mal.
Anni



Moderation,4: verschoben in BASIC-Unterbereich, wo alle Makro-Fragen hin gehören; Betreff angepasst

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 16:15
von Philipp_19
Hallo

Bastel grade an einer Lösung für dich.
Hilfreich wären noch einige kleine Informationen:
-Wie viele Ergebnisse müssen übertragen werden?
-In welchen Zellen stehen diese Ergebnisse?
-In welchem Sheet stehen die Ergebnisse?

-In welche Zellen sollen diese Ergebnisse übertragen werden?

Damit kann ich dir dann deutlich besser helfen.

Grüße

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 19:14
von Anni25
Hi,

danke das du dir Gedanken machst.
Es müssen 6 Ergebnisse übertragen werden. Sie stehen in S12, T12, Y12, Z12, AE12, AF12. Die Ergebnisse befinden sich in Tabelle 2 die bei mir Kostenvergleich heißt.
Sie sollen in die erste Tabelle übertragen werden die Ergebnisse heißt.

Danke schon mal...

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 19:27
von Philipp_19
Und in welche Zellen sollen die In der ersten Tabelle geschrieben werden? :)
Bin zwar jetzt ein ganzes Stück weiter, aber ich weiß immer noch nicht wo ich die Daten reinschreiben soll :-P

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 19:42
von Anni25
Die sollen am besten in C6,D6,E6,F6,G6,H6 stehen.
sorry, stand bissl auf dem schlauch :D

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 19:48
von Philipp_19
Also wenn du mehrere Ergebnisse hast, werden dann in D7, E7 , ... , und dannach in D8, E8 , ... , ...
Ich denke so hattest du dir das vorgestellt, richtig?

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 19:56
von Anni25
die ergebnisse der nächsten berechung sollten dann am besten in der zeile drunter stehen :(

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 20:04
von Philipp_19
Problem scheint gelöst zu sein. Makro ist geschrieben, jetzt nur noch hoffen das es auch klappt.

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 20:06
von Anni25
ok, bin schon gespannt.
sag gleich bescheid wenn du es weißt... :D

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 20:08
von Anni25
ich mein ich sag bescheid.
danke schon mal

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 20:14
von Anni25
Es klappt.
vielen vielen Dank. Das ist echt super !!!
DANKE :D

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 22:17
von balu
Hallo ihr beiden!
Anni25 hat geschrieben: Es klappt.
vielen vielen Dank. Das ist echt super !!!
Sach ma, is mein Browser kaputt, oder warum sehe ich hier nicht weder einen Dateianhang noch einen Beispiel-Code? Wir anderen möchten ja schließlich auch was dazu lernen, was aber ohne die genannten Punkte nicht geht.


Gruß
balu

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 22:20
von DPunch
Aloha
balu hat geschrieben:Wir anderen möchten ja schließlich auch was dazu lernen, was aber ohne die genannten Punkte nicht geht.

Code: Alles auswählen

   '##### Grundeinstellungen, können beliebig angepasst werden / erweitert werden
   sSourceSheet = "Kostenvergleich"  'Name des Tabellenblattes, aus dem die Daten kommen
   sTargetSheet = "Ergebnisse"  'Name des Tabellenblattes, in das die Daten geschrieben werden sollen
   aCellsToTransfer = Array("S12", "T12", "Y12", "Z12", "AE12", "AF12")  'Namen der relevanten Zellen
   sCellRangeToStartWith = "C6"  'Zelle, ab der Ergebnisse übertragen werden sollen
   '#####      
   oDoc = thisComponent
   oSourceSheet = oDoc.Sheets.getByName(sSourceSheet)
   oTargetSheet = oDoc.Sheets.getByName(sTargetSheet)
   
   nStartColumn = oTargetSheet.getCellRangeByName(sCellRangeToStartWith).RangeAddress.StartColumn
   nStartRow = oTargetSheet.getCellRangeByName(sCellRangeToStartWith).RangeAddress.StartRow
   
   oRange = oTargetSheet.getCellRangeByPosition(nStartColumn,nStartRow,nStartColumn,65000)
   oEmptyCells = oRange.queryEmptyCells   
   If UBound(oEmptyCells.RangeAddresses) > -1 Then nStartRow = oEmptyCells.RangeAddresses(0).StartRow
   
   nTotal = UBound(aCellsToTransfer)
   Dim aLine(0)
   Dim aColumns(nTotal)
   
   For i = 0 To nTotal
      sCellName = aCellsToTransfer(i)
      oCell = oSourceSheet.getCellRangeByName(sCellName)
      aColumns(i) = oCell.Value
   Next i
   
   aLine(0) = aColumns
   
   oTargetSheet.getCellRangeByPosition(nStartColumn,nStartRow,nStartColumn+nTotal,nStartRow).setDataArray(aLine)
;)

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 22:42
von balu
Hallo DPunch,

sei mir nicht böse, aber diesmal interessiert mich dein Code nicht. Denn es geht darum, dass Anni25 hier einen Threrad eröffnet hat und so wie es aussieht mit der Hilfe von Philipp_19 ihr Problem gelöst wurde. Nur wie er das gelöst hat würde mich doch interessieren.

Wenn so etwas hinter verschlossenen Türen gemacht wird, dann frag ich mich wozu das Forum da ist? Das wiedrerspricht vollkommen dem Sinn eines Forums. Und wenn irgendwann jemand diesen Threrad liest, verzweifelt er/sie dann an seinem Verstand weil es eine Lösung gibt die nicht zu sehen ist.

Verstehst Du was ich meine?


Gruß
balu

Re: Calc: Ergebnisse nacheinander speichern

Verfasst: Mi, 31.08.2011 23:53
von DPunch
Aloha
balu hat geschrieben:Verstehst Du was ich meine?
Ich verstehe schon, was Du meinst.
Ob Philipp seinen Code öffentlich macht oder nicht, ist aber nunmal letztendlich immer noch seine eigene Entscheidung, ob es dem Sinn des Forums entspricht oder nicht.
Für die Nachwelt ist wohl vorrangig eine funktionierende Lösung interessant - da ich den Code sowieso fast 1:1 so bei mir rumfliegen hatte, hätte ich den auch schon eher posten können, so dass wir dieses "Problem" jetzt gar nicht hätten, aber ich wollte Philipp nicht daziwschenhauen, weil er sich offensichtlich wirklich Mühe gemacht hat.
Dass er seinen Lösungsansatz lieber privat hält (oder vielleicht will er auch einfach nur sicher gehen, dass er tatsächlich funktioniert, bevor er ihn veröffentlicht, um nicht als Einstieg hier direkt einen nicht 100%ig richtigen Lösungsweg vorzuschlagen?), ist zwar in dem Zusammenhang erst recht schade, aber eben sein Ding.