Betrag zu einem Gewissen Monat da zu Addieren

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

Moderator: Moderatoren

marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

Hallo mein Nahme ist Marco ich bin ganz Neu in diesem Forum und ich hoffe ihr könnt mir bei meinem Problem helfen.

Ich erstelle gerade ein Program mit OpenOffice Calc das einen gewissen einahme Betrag oder Ausgabe Betrag zu Dem jetzigen Monat da zu Addieren soll.

Ich habe es Schon so weit, das wenn ich eine eingabe mache ob bei Einnahme oder Ausgabe (Beides über 2 verschieden Makros ausgelöst) der betrag zu einer anderen Zelle da zu Addiert wird und in einer 3 Zelle Der letzte eingegebene Betrag angezeigt wird.

Bild

Bild

Nun Soll aber Der ausgabe Betrag zu Den Jetzigen Monat eingetragen werden.
Sprich wenn wir den Monat Januar von 2017 haben soll er so lange es auf der Zelle Addiern bis der Monat Febuar kommt und dan in der Zelle Für Febuar weiter Addieren.

Bild

Bild

ich dachte schon daran eine WENN Funktion ein zu bauen (WENN(K12=MONAT(1);D4)) aber das löst es garnicht. Ich würde es auch lieber mit in den Makro mit einbauen. das man so was wie Ein Timer mit ein baut.

Ich würde mich freuen über eure Antworten

LG Marco
marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

Hallo, ich bin es wieder.

Ich habe in der zwischen Zeit weiter gemacht und habe es auch hin bekommen das er jetzt ein eintrag macht von Zeile 4 bis 319 Auf der Zellenreihe "B".
Einnahmen.PNG
Einnahmen.PNG (52.75 KiB) 5577 mal betrachtet
Trotzdem Fehlt jetzt noch eine überprüfung. Ich dachte an eine if Schleife, wo er nach der Eingabe und nach dem Zwischenwert auf Tabellenblatt Zwei, eine überprüfung macht. Und zwar soll überprüft werden, mit dem aktuelle Datum, in welcher Zeile und Zahlenreihe das aktuelle Jahr und der Aktuelle Monat steht. wenn er das gefunden hat soll er in der Dafür ausgelegten Zelle da zu Addieren.
Tabelle.PNG
Tabelle.PNG (128.43 KiB) 5577 mal betrachtet
Allso es wird Überprüft mit dem Aktuellen Datum (20.06.2017) er findet dan das jahr 2017 in Zellenreihe "A" Dan sucht er weiter nach dem nächsten jetzigen Monat (Juni) den findet er dan in Zallenreihe "A" in Zeile 9. Wen er das gefunden hat soll er seinen Eingegeben Betrag in der Zelle "B9" da zu Addieren. Er Addiert dan Jeden neuen Betrag der ein gegeben wird, bis das aktuelle Datum ein anderer Monat ist. wenn er dan kein passenes Jahr mehr findet soll er eine Fehler meldung ausgeben Das es kein Passendes Jahr mehr giebt und man bitte Den Kallender erweitern soll.

Ps: Ach ja, in den Zellen wo kein eintrag gemacht werden soll, ist Das dokument gesichert. Da mit nicht aus versehn was überschrieben wird. was nicht überschriebn werden soll.

Ich hoffe ihr könnt mir Hellfen.
marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

Hier habe ich es noch mal in einer kleineren aus fürung für euch zusammen gestelt.
Unbenannt 1.ods
(16.82 KiB) 108-mal heruntergeladen
Ich hoffe sehr das ihr mier helfen könnt mir gehen langsam die ideen aus.
Dateianhänge
Unbenannt 1.ods
(16 KiB) 104-mal heruntergeladen
Zuletzt geändert von marcobode am Di, 20.06.2017 23:59, insgesamt 1-mal geändert.
marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

Einnahmen.PNG
Einnahmen.PNG (37.89 KiB) 5536 mal betrachtet
Mein Makro sieht immoment noch so aus, wo bei er die Range nicht erkennt. ich werde mich morgen wieder dran setzten und weiter Probieren.
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von Stephan »

möglicherweise (ich bin nicht sicher) muss das Makro in der Beispieldatei lauten:

Code: Alles auswählen

Sub Addieren_Einnahme

odoc = thisComponent
osheet = odoc.sheets(0) 'erstes Tabellenblatt

eingabe = osheet.getcellrangebyname("F24").value 'Eingabe Zelle "F24"
          osheet.getcellrangebyname("F24").value = 0 



          osheet.getcellrangebyname("F28").value = eingabe 'Zwischenwert auf Zelle "F28"

'osheet = odoc.sheets(1) 'Zweite Tabellenblatt

for i = 4 to 15 'Zeile 4 bis 15 von der Zellenreihe "B"
If  Month(osheet.getcellrangebyname("A" +i).value) <= Month(Date) Then 
	ausgabe = osheet.getcellrangebyname("B" +i).value 'Ausgabe Zellenreihe "B"
	          osheet.getcellrangebyname("B" +i).value = eingabe + ausgabe
End If
Next i
          
msgbox "Übertragung Der Einnahmen ist Erfolgt."

End Sub

Gruß
Stephan
marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

Guten Morgen. Danke Für deine Antwort. :)

Ich werde es mir mal anschauen :)
marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

Es funktioniert supper, nur war bei dem Parametr das "<" zuviel :)

Jetzt muss ich schaue das noch das Jahr mit Übereinstimmt und das er in zeile J auch sucht.

Danke noch mal Stephan für deine Hilfe

Ps: wenn es fertig ist werde ich den Code noch mal einfügen vieleicht kann den ja noch einer verwenden :)

LG Marco
Zuletzt geändert von marcobode am Mi, 21.06.2017 09:45, insgesamt 1-mal geändert.
marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

Code: Alles auswählen

REM  *****  M&M Games  *****

Sub Addieren_Einnahme

odoc = thisComponent
osheet = odoc.sheets(0) 'erstes Tabellenblatt

eingabe = osheet.getcellrangebyname("J24").value 'Eingabe Zelle "F24"
          osheet.getcellrangebyname("J24").value = 0 



          osheet.getcellrangebyname("J28").value = eingabe 'Zwischenwert auf Zelle "F28"

'osheet = odoc.sheets(1) 'Zweite Tabellenblatt

for i = 1 to 36 'Zeile 4 bis 15 von der Zellenreihe "B"
If  Year &" "& Month(osheet.getcellrangebyname("A" +i).value) = Year(Date)&""& Month(Date) Then 

    
	ausgabe = osheet.getcellrangebyname("B" +i).value 'Ausgabe Zellenreihe "B"
	          osheet.getcellrangebyname("B" +i).value = eingabe + ausgabe
End If
Next i
          
msgbox "Übertragung Der Einnahmen ist Erfolgt."

End Sub

Ich habe jetzt folgendes Problem, ich Habe Jetzt die Jahres Tabelle 2018 unter die von der Jahres tabelle 2017 geschoben. wenn ich jetzt einen Eintrag mache wird in Jeden Monat (Juni) ein eintrag gemacht im Jahr 2017 wie auch im Juni 2018.

ICh würde mich über noch eine Antwort Freuen. :)
Tabelle.PNG
Tabelle.PNG (76.43 KiB) 5496 mal betrachtet
Zuletzt geändert von marcobode am Mi, 21.06.2017 10:20, insgesamt 1-mal geändert.
marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

So weit so gut jetzt muss ich nur noch hin bekommen das er auch noch in der Zeile J sucht

Code: Alles auswählen

REM  *****  M&M Games  *****

Sub Addieren_Einnahme

odoc = thisComponent
osheet = odoc.sheets(0) 'erstes Tabellenblatt

eingabe = osheet.getcellrangebyname("J24").value 'Eingabe Zelle "F24"
          osheet.getcellrangebyname("F24").value = 0 



          osheet.getcellrangebyname("J28").value = eingabe 'Zwischenwert auf Zelle "F28"

'osheet = odoc.sheets(1) 'Zweite Tabellenblatt

for i = 1 to 36 'Zeile 4 bis 15 von der Zellenreihe "B"
If  Year(osheet.getcellrangebyname("A" +i).value) = Year(Date) Then  
If    Month(osheet.getcellrangebyname("A" +i).value) = Month(Date) Then 
   

    
	ausgabe = osheet.getcellrangebyname("B" +i).value 'Ausgabe Zellenreihe "B"
	          osheet.getcellrangebyname("B" +i).value = eingabe + ausgabe
End If
End If
Next i
          
msgbox "Übertragung Der Einnahmen ist Erfolgt."

End Sub
Zuletzt geändert von marcobode am Mi, 21.06.2017 10:21, insgesamt 1-mal geändert.
marcobode
Beiträge: 9
Registriert: Mo, 19.06.2017 16:33

Re: Betrag zu einem Gewissen Monat da zu Addieren

Beitrag von marcobode »

So der Code ist jetzt Perfekt und Fertig Danke noch mal an Stephan.

Hier der Fertige Code

Code: Alles auswählen

REM  *****  M&M Games  *****

Sub Addieren_Einnahme

odoc = thisComponent
osheet = odoc.sheets(0) 'erstes Tabellenblatt

eingabe = osheet.getcellrangebyname("J24").value 'Eingabe Zelle "J24"
          osheet.getcellrangebyname("J24").value = 0 



          osheet.getcellrangebyname("J28").value = eingabe 'Zwischenwert auf Zelle "J28"

'osheet = odoc.sheets(1) 'Zweite Tabellenblatt

for i = 1 to 36 'Zeile 4 bis 15 von der Zellenreihe "B"
If  Year(osheet.getcellrangebyname("A" +i).value) = Year(Date) Then   'Überprüft das Jahr in Zellenreihe "B"
If  Month(osheet.getcellrangebyname("A" +i).value) = Month(Date) Then  'Überprüft Den Monat in Zellenreihe "B"

    
	ausgabe = osheet.getcellrangebyname("B" +i).value 'Ausgabe Zellenreihe "B"
	          osheet.getcellrangebyname("B" +i).value = eingabe + ausgabe
	          
End If
End If         

If  Year(osheet.getcellrangebyname("J" +i).value) = Year(Date) Then  'Überprüft das Jahr in Zellenreihe "K"
If  Month(osheet.getcellrangebyname("J" +i).value) = Month(Date) Then  'Überprüft Den Monat in Zellenreihe "K"
   
   	ausgabe = osheet.getcellrangebyname("K" +i).value 'Ausgabe Zellenreihe "K"
	          osheet.getcellrangebyname("K" +i).value = eingabe + ausgabe
	          
	 
End If
End If
Next i
          
msgbox "Übertragung Der Einnahmen ist Erfolgt."

End Sub
und Noch mal die Probe Datei: Viel Spaß da mit :)
https://www.facebook.com/MundMGames/
Unbenannt 1.ods
(16.91 KiB) 330-mal heruntergeladen
Antworten