Seite 1 von 1
Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 12:07
von DAP
Hallo,
ich möchte gerne Funktionen, die als Makro definiert sind, zur Berechnung einer Zelle verwenden.
Hier eine Beispielfunktion:
Code: Alles auswählen
Function Berechnung(Wert1, Anzahl)
Wert2 = Wert1
For I = 1 to AnzahlP
Wert2 = Wert2 +1
End If
Berechnung = Wert2
End Function
Hier die Eingaben im Tabellenblatt:
die Zelle B1 hat den Wert 1
die Zelle C1 hat den Wert 5
gebe ich jetzt z.B. in die Zelle A1 die Formel
=Berechnung(B1;C1) ein, erhalte ich den Fehlerwert:
#Wert!
Ich hoffe, ihr könnt mir weiter helfen.
Gruß DAP
Re: Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 12:46
von karolus
Hallo
Nimm in der Tabelle
Karo
Re: Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 12:54
von DAP
Hallo Karo,
ich habe schon sehr viele Funktionen, die als Makrocode vorliegen und ich möchte gern darauf zurückgreifen.
Der Code oben war nur als Beispiel gedacht. Ich würde gern wissen, wie man grundsätzlich Funktionen aus
Makros in Tabellenblättern verwenden kann.
Gruß DAP
Re: Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 13:07
von karolus
Hallo
Der Code oben ist falsch und wird dir ein paar Basicfehlermeldungen um die Ohren werfen, wenn du die Funktion benutzt.
Grundsätzlich musst du selbstgestrickte Funktionen für den Aufruf aus Calc heraus in der Standardbibliothek (unterhalb →Meine Makros) oder der Standardbibliothek eines Dokuments speichern.
Ps. Wenn du schon sehr viele Funktionen hast, ist mir unklar wieso du erst jetzt auf Die Frage nach dem Speicheort kommst?
Karo
Re: Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 13:43
von balu
Hallo
@Karo
nicht wundern, sondern einfach mal hier nachlesen:
Calc Zellen berechnen mit VBA Formel.
@DAP
Was hast Du an meinen Worten aus den eben verlinkten Thread nicht verstanden?
balu hat geschrieben:
Das lässt den Schluß zu, das Du glaubst das LO die Excel-Makros zu 100% umsetzen kann. Dem ist nicht so, dazu sind die Dialekte der beiden zu unterschiedlich. Und wenn Du nicht Zweigleisig (Excel <-> LO) fahren musst, dann empfehle ich dir dringends deine Makros für LO neu zu schreiben.
balu hat geschrieben:
Ich vermute sehr stark das dein Makro NICHT in LO funktionieren wird, weil LO damit nichts anfangen kann.
Es gibt keine Pauschale Lösung, sondern nur individuell angepasste Vorschläge. Am besten Du schaust erst mal bei Dannenhöfer rein, um wenigstens ein bischen Grundwissen zu erlangen.
Was sind Prozeduren und Funktionen?
Dort kannst Du natürlich auch noch anderes zu dem Thema finden, musst dort nur nach "Function" suchen. Und wenn Du dann spezielle Probleme hast, melde dich wieder.
Gruß
balu
Re: Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 13:57
von karolus
Hallo
@Balu
Ah - alles klar wieder mal einer der schrottreifen VBAcode in LO/OOocalc nutzen will
Gruß Karo
[gelöst] Re: Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 16:19
von DAP
Hallo,
vielen Dank für die kleinen Bemerkungen am Rande @karo und @balu.
Der Beispielcode den ich oben schnell eingetippt habe war fehlerhaft, er sollte eigentlich nur veranschaulichen,
wozu ich die Funktion als Makro brauchte und nicht einfach die Formel direkt in die Zelle schreiben möchte.
Den Fehler warum bei mir keine Ergebnisse angezeigt wurden, hab ich gefunden. Nach dem importieren einer
Excel Datei mit Makro code und dem anschließenden abspeichern als *.ods liefen die Functionen noch nicht.
Erst nach dem Schließen und nochmaligen Öffnen der Datei wurden die Formeln berechnet und angezeigt.
hier noch der vollständigkeitshalber der überarbeitete obige Beispielcode für alle die es interessiert:
Code: Alles auswählen
Function Berechnung(Wert1 as Double, Anzahl as Integer) as Double
Dim Wert2 as Double
Dim I as Integer
Wert2 = Wert1
For I = 1 to Anzahl
Wert2 = Wert2 + 1
Next
Berechnung = Wert2
End Function
Gruß DAP
Re: Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 16:29
von karolus
DAP hat geschrieben:...
hier noch der vollständigkeitshalber der überarbeitete obige Beispielcode für alle die es interessiert:
Code: Alles auswählen
Function Berechnung(Wert1 as Double, Anzahl as Integer) as Double
Dim Wert2 as Double
Dim I as Integer
Wert2 = Wert1
For I = 1 to Anzahl
Wert2 = Wert2 + 1
Next
Berechnung = Wert2
End Function
Gruß DAP
Genial , Einfach genial
Code: Alles auswählen
function Berechnung( x, y )
Berechnung = x + y
end function
Karo
Re: Formel aus Makro in Zelle verwenden
Verfasst: Di 21. Feb 2012, 16:35
von DAP
Hallo Karo,
wenn du schon nochmal nachtreten möchtest, dann hättest du feststellen müssen, das
bei Dir nicht das gleiche Ergebnis herauskommen würde (wenn man die 1 gegen eine andere
Variable austauschen würde).
Nochmal, es ging mir nicht um den Basic-Code, der war nur ein vereinfachtest Beispiel,
die Formel wurde schlicht und einfach im Tabellenblatt nicht berechnet.
Gruß DAP