Calc: Ergebnisse nacheinander speichern

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

Moderator: Moderatoren

Anni25
*
Beiträge: 13
Registriert: Mi, 31.08.2011 11:59

Calc: Ergebnisse nacheinander speichern

Beitrag 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
Philipp_19
****
Beiträge: 115
Registriert: Mo, 29.08.2011 09:01
Wohnort: Duisburg

Re: Calc: Ergebnisse nacheinander speichern

Beitrag 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
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
Anni25
*
Beiträge: 13
Registriert: Mi, 31.08.2011 11:59

Re: Calc: Ergebnisse nacheinander speichern

Beitrag 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...
Philipp_19
****
Beiträge: 115
Registriert: Mo, 29.08.2011 09:01
Wohnort: Duisburg

Re: Calc: Ergebnisse nacheinander speichern

Beitrag 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
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
Anni25
*
Beiträge: 13
Registriert: Mi, 31.08.2011 11:59

Re: Calc: Ergebnisse nacheinander speichern

Beitrag von Anni25 »

Die sollen am besten in C6,D6,E6,F6,G6,H6 stehen.
sorry, stand bissl auf dem schlauch :D
Philipp_19
****
Beiträge: 115
Registriert: Mo, 29.08.2011 09:01
Wohnort: Duisburg

Re: Calc: Ergebnisse nacheinander speichern

Beitrag 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?
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
Anni25
*
Beiträge: 13
Registriert: Mi, 31.08.2011 11:59

Re: Calc: Ergebnisse nacheinander speichern

Beitrag von Anni25 »

die ergebnisse der nächsten berechung sollten dann am besten in der zeile drunter stehen :(
Philipp_19
****
Beiträge: 115
Registriert: Mo, 29.08.2011 09:01
Wohnort: Duisburg

Re: Calc: Ergebnisse nacheinander speichern

Beitrag von Philipp_19 »

Problem scheint gelöst zu sein. Makro ist geschrieben, jetzt nur noch hoffen das es auch klappt.
Windows XP, OOo 3.3.0
oder
Windows 7, OOo 3.3.0
Anni25
*
Beiträge: 13
Registriert: Mi, 31.08.2011 11:59

Re: Calc: Ergebnisse nacheinander speichern

Beitrag von Anni25 »

ok, bin schon gespannt.
sag gleich bescheid wenn du es weißt... :D
Anni25
*
Beiträge: 13
Registriert: Mi, 31.08.2011 11:59

Re: Calc: Ergebnisse nacheinander speichern

Beitrag von Anni25 »

ich mein ich sag bescheid.
danke schon mal
Anni25
*
Beiträge: 13
Registriert: Mi, 31.08.2011 11:59

Re: Calc: Ergebnisse nacheinander speichern

Beitrag von Anni25 »

Es klappt.
vielen vielen Dank. Das ist echt super !!!
DANKE :D
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Calc: Ergebnisse nacheinander speichern

Beitrag 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
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
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Calc: Ergebnisse nacheinander speichern

Beitrag 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)
;)
Benutzeravatar
balu
********
Beiträge: 3812
Registriert: Fr, 24.08.2007 00:28
Wohnort: Warstein

Re: Calc: Ergebnisse nacheinander speichern

Beitrag 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
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
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: Calc: Ergebnisse nacheinander speichern

Beitrag 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.
Antworten