von F3K Total » Sa, 02.02.2013 16:27
Hallo,
per PN habe ich noch diese Fragen bekommen.
calc-greenhorn hat geschrieben:1. Kannst Du mir noch erklären wie Du das Makro erstellt hast und wie der
Code (?) ist
und wie und wo man es in Calc installiert?
Dann lerne ich was für die Zukunft. Aber bitte wieder für Dummies erklären
lol.
2. Falls ich mal irgendwann so etwas (gleiches Makro) irgenwo benötige, und
die Zeilen
oder Spalten wären andere. Kann man dann dieses Makro irgendwie ändern?
Falls ja, wie und was.
Zu
- Schau mal bei geöffneter Datei unter Extras/Makros/Makros verwalten/OpenOffice.org Basic... und navigiere links zu Addieren.ods/Standard/Addieren -> Dann siehst Du rechts "S_add_value" und "get_nMonth". Klicke auf "Bearbeiten" dann siehst du die beiden Routinen.
Code: Alles auswählen
Sub S_add_value(event)
if event.AbsoluteName = "$Tabelle1.$B$2" then 'wenn die Zelle B2 geändert wurde (event = B2)
osheet = thiscomponent.sheets.getbyname("Tabelle1")
omonthcell = osheet.getcellbyposition(1,0)'B1
sMonth = omonthcell.String 'aktuellen Monatsnamen aus B1 auslesen
nMonth = get_nMonth(sMonth)'mit function get_nMonth in Zahl umwandeln
otargetcell = osheet.getcellbyposition(1 + nMonth,1)'Zielzelle bestimmen
otargetcell.value = otargetcell.value + event.Value 'Wert aus B2 zu Zielzellenwert addieren
if otargetcell.value = 0 then otargetcell.formula = ""
endif
end sub
function get_nMonth(sMonth) as integer
aMonth = Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember")
for i = 0 to 11
if sMonth = aMonth(i) then
get_nMonth = i+1
exit for
endif
next i
end function
- Klar, wenn man weiß was man tut, kann man die Routinen auch entsprechend anpassen. Einen Basic-Kurs kann ich Dir hier aber nicht geben, in der Hilfe (F1) findest Du einiges über Starbasic und auch hier im Forum
Gruß R
Hallo,
per PN habe ich noch diese Fragen bekommen.
[quote="calc-greenhorn"]1. Kannst Du mir noch erklären wie Du das Makro erstellt hast und wie der
Code (?) ist
und wie und wo man es in Calc installiert?
Dann lerne ich was für die Zukunft. Aber bitte wieder für Dummies erklären
lol.
2. Falls ich mal irgendwann so etwas (gleiches Makro) irgenwo benötige, und
die Zeilen
oder Spalten wären andere. Kann man dann dieses Makro irgendwie ändern?
Falls ja, wie und was.[/quote]
Zu
[list=1][*]Schau mal bei geöffneter Datei unter[color=#0040FF] Extras/Makros/Makros verwalten/OpenOffice.org Basic...[/color] und navigiere links zu [color=#0040FF]Addieren.ods/Standard/Addieren[/color] -> Dann siehst Du rechts "[color=#0040FF]S_add_value[/color]" und "[color=#0040FF]get_nMonth[/color]". Klicke auf "Bearbeiten" dann siehst du die beiden Routinen.
[code]Sub S_add_value(event)
if event.AbsoluteName = "$Tabelle1.$B$2" then 'wenn die Zelle B2 geändert wurde (event = B2)
osheet = thiscomponent.sheets.getbyname("Tabelle1")
omonthcell = osheet.getcellbyposition(1,0)'B1
sMonth = omonthcell.String 'aktuellen Monatsnamen aus B1 auslesen
nMonth = get_nMonth(sMonth)'mit function get_nMonth in Zahl umwandeln
otargetcell = osheet.getcellbyposition(1 + nMonth,1)'Zielzelle bestimmen
otargetcell.value = otargetcell.value + event.Value 'Wert aus B2 zu Zielzellenwert addieren
if otargetcell.value = 0 then otargetcell.formula = ""
endif
end sub
function get_nMonth(sMonth) as integer
aMonth = Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember")
for i = 0 to 11
if sMonth = aMonth(i) then
get_nMonth = i+1
exit for
endif
next i
end function[/code]
[*]Klar, wenn man weiß was man tut, kann man die Routinen auch entsprechend anpassen. Einen Basic-Kurs kann ich Dir hier aber nicht geben, in der Hilfe (F1) findest Du einiges über Starbasic und auch [url=http://de.openoffice.info/viewtopic.php?f=18&t=1553]hier im Forum[/url][/list]
Gruß R