BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!
> KEINE WERBUNG FÜR REGISTRIERTE BENUTZER!<
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des OpenOffice Forums verwendet.
🤗 Als Dankeschön werden Sie im Forum als OO-SUPPORTER gekennzeichnet. 🤗
MS VBA Funktionen in Calc?
MS VBA Funktionen in Calc?
Guten Tag,
Ich habe ein Berechnungsprogramm mit Microsoft Excel gemacht und es funktioniert wunderbar. Dabei habe ich Makros oder eher gesagt, Funktionen mit Microsoft Visual Basic Application (VBA) geschrieben, die in einem Modul liegt.
Wenn ich jetzt mein Excelprogram mit OpenOffice Calc öffnete, protestierte dieses zuerst wegen meinen Makros. Dann ändere ich die Sicherheitseinstellungen damit die Makros ausgeführt werden.
Aber, es scheint als Calc meine Funktionen nicht erkennt. Es wird nichts berechnet. In den Zellen wo die Funktionen angerufen werden (blauer Hintergrund) stehen nur die Zeichen für Gartenzaun ###. (Die Gartenzaun-Zeichen sind nicht wegen allzu schmalen Spalten, dies ist also nicht der Fehler.)
Wie bringe ich Calc zu rechnen?
In Zellen wo ich eine Gleichung in der Zelle direkt geschrieben habe(auch blauer Hintergrund), da rechnet er aber korrekt(Zeile 16). Diese Gleichungen verwendet andere Zellen im Blatt und berechnen Werte.
Ich habe Funktionen in Microsoft Excel gemacht anstatt grosse komplizierte Gleichungen direkt in Zellen zu schreiben. Dies ist viel eleganter.
Kann man auch in Calc Funktionen schreiben?
Ich sehe in Calc unter "Extras", Makros", "Makros Verwalten", OpenOffice Basic", und "Bearbeiten", dass meine 2 Modulen mit den vielen Funktionen da sind. Aber jede Zeile hat einen "Rem" als erstes Element. Das ist wohl die Zeichen für Kommentare? Einzig zwei Zeile fangen nicht mit "Rem" an, sondern mit "Sub Modul1" und "End sub".
Soll man da diese "Rem" ausmisten um es in Ordnung zu bringen?
Um zu sehen wie es in Calc aussieht, sehen Sie anliegendes Bild, Programm.jpg
Die Modul in Calc sieht aus wie Modul.jpg. Wer hat alle diese "Rem" hinzugefügt, ich nicht?
Ich wäre dankbar für Hinweise zur Lösung.
Grüssen
Ich habe ein Berechnungsprogramm mit Microsoft Excel gemacht und es funktioniert wunderbar. Dabei habe ich Makros oder eher gesagt, Funktionen mit Microsoft Visual Basic Application (VBA) geschrieben, die in einem Modul liegt.
Wenn ich jetzt mein Excelprogram mit OpenOffice Calc öffnete, protestierte dieses zuerst wegen meinen Makros. Dann ändere ich die Sicherheitseinstellungen damit die Makros ausgeführt werden.
Aber, es scheint als Calc meine Funktionen nicht erkennt. Es wird nichts berechnet. In den Zellen wo die Funktionen angerufen werden (blauer Hintergrund) stehen nur die Zeichen für Gartenzaun ###. (Die Gartenzaun-Zeichen sind nicht wegen allzu schmalen Spalten, dies ist also nicht der Fehler.)
Wie bringe ich Calc zu rechnen?
In Zellen wo ich eine Gleichung in der Zelle direkt geschrieben habe(auch blauer Hintergrund), da rechnet er aber korrekt(Zeile 16). Diese Gleichungen verwendet andere Zellen im Blatt und berechnen Werte.
Ich habe Funktionen in Microsoft Excel gemacht anstatt grosse komplizierte Gleichungen direkt in Zellen zu schreiben. Dies ist viel eleganter.
Kann man auch in Calc Funktionen schreiben?
Ich sehe in Calc unter "Extras", Makros", "Makros Verwalten", OpenOffice Basic", und "Bearbeiten", dass meine 2 Modulen mit den vielen Funktionen da sind. Aber jede Zeile hat einen "Rem" als erstes Element. Das ist wohl die Zeichen für Kommentare? Einzig zwei Zeile fangen nicht mit "Rem" an, sondern mit "Sub Modul1" und "End sub".
Soll man da diese "Rem" ausmisten um es in Ordnung zu bringen?
Um zu sehen wie es in Calc aussieht, sehen Sie anliegendes Bild, Programm.jpg
Die Modul in Calc sieht aus wie Modul.jpg. Wer hat alle diese "Rem" hinzugefügt, ich nicht?
Ich wäre dankbar für Hinweise zur Lösung.
Grüssen
- Dateianhänge
-
- Modul.jpg (69.17 KiB) 17312 mal betrachtet
-
- Programm.jpg (81.95 KiB) 17312 mal betrachtet
Re: MS VBA Funktionen in Calc?
Doch. Der Gartenzaun zeigt wirklich an, dass die Spalte zu schmal ist, nämlich zu schmal für die Fehlermeldungen…haralt hat geschrieben:(Die Gartenzaun-Zeichen sind nicht wegen allzu schmalen Spalten, dies ist also nicht der Fehler.)
Vermutlich wird es ausreichen, wenn du den Menüpunkt Extras → Optionen…* → Laden/Speichern → VBA-Eigenschaften wählst und dort die drei zu Excel gehörenden Optionen aktivierst. Solange die Option ☐ Ausführbarer Code NICHT aktiviert ist, kommentiert AOO alle Programmzeilen mit »Rem« aus, so dass das Makro nicht ausgeführt werden kann. Wenn du die Datei nach Aktivierung der genannten Option neu öffnest, dürften die Rems verschwunden sein.haralt hat geschrieben:Wie bringe ich Calc zu rechnen?
* oder Eigenschaften
Gruß
lorbass
Re: MS VBA Funktionen in Calc?
Was Du da sagst hat gestimmt. Als ich nachschaute, hatte nur 2 von den 3 Optionen bei "VBA-Eigenschaften" für "Mikrosoft Excel 97/2000/XP" Haken, nun habe ich noch dazu "Ausführbarer Code" mit einem Haken versehen.
Die "Rem" sind nun weg, aber meine Funktionen gefallen der Programmsprache in Calc (Basic) überhaupt nicht.
Ist Microsoft VBA nicht exakt dasselbe wie Basic? Calc wird nun blockiert, und verlangt Beheben von allen behaupteten Programmfehlern in meinen Funktionen. Aber, ob ich da meine Funktionen ändere, ja dann funktioniert mein Programm wohl nicht mit MS Excel.
Ich bin jedoch einen Schritt weiter gekommen. Vielen Dank Lorbass!
Sehen Sie das Bild "blockierung.jpg". Wenn ich bei Öffnung der Datei "Makros deaktivieren" wähle, dann kann ich in den Funktionen ändern, aber nicht die Funktionen mit Debugger probieren um zu sehen wo die Fehler sind. Aber wie in Bild blockierung hervorgeht, hat Calc nicht gern "next k". Könnte es etwas mit der Unterbrechung die For-Schleife mit dem Kommando "If Abs(fx) < tolerans Then: Exit For" zu tun haben ? In Hilfe in Calc, finde ich nichts.
Öffne ich die Datei mit "Makros Aktivieren" ja dann wird Calc völlig blockiert, und nur mit Zwang mittels Taskmanager zu schliessen.
Was kann man da machen?
Ich denke viele wollen von Microsoft Excel auf Openoffice Calc umsteigen und werden dieselbe Probleme wie ich erleben.
Mit freundlichen Grüssen
Haralt
Die "Rem" sind nun weg, aber meine Funktionen gefallen der Programmsprache in Calc (Basic) überhaupt nicht.
Ist Microsoft VBA nicht exakt dasselbe wie Basic? Calc wird nun blockiert, und verlangt Beheben von allen behaupteten Programmfehlern in meinen Funktionen. Aber, ob ich da meine Funktionen ändere, ja dann funktioniert mein Programm wohl nicht mit MS Excel.
Ich bin jedoch einen Schritt weiter gekommen. Vielen Dank Lorbass!
Sehen Sie das Bild "blockierung.jpg". Wenn ich bei Öffnung der Datei "Makros deaktivieren" wähle, dann kann ich in den Funktionen ändern, aber nicht die Funktionen mit Debugger probieren um zu sehen wo die Fehler sind. Aber wie in Bild blockierung hervorgeht, hat Calc nicht gern "next k". Könnte es etwas mit der Unterbrechung die For-Schleife mit dem Kommando "If Abs(fx) < tolerans Then: Exit For" zu tun haben ? In Hilfe in Calc, finde ich nichts.
Öffne ich die Datei mit "Makros Aktivieren" ja dann wird Calc völlig blockiert, und nur mit Zwang mittels Taskmanager zu schliessen.
Was kann man da machen?
Ich denke viele wollen von Microsoft Excel auf Openoffice Calc umsteigen und werden dieselbe Probleme wie ich erleben.
Mit freundlichen Grüssen
Haralt
- Dateianhänge
-
- Blockierung.jpg (70.54 KiB) 17270 mal betrachtet
-
- VBA-Eigensch.jpg (71.34 KiB) 17283 mal betrachtet
- ChristianAC
- Beiträge: 21
- Registriert: Fr 12. Sep 2014, 15:36
- Wohnort: Aachen
Re: MS VBA Funktionen in Calc?
wie sieht das eigtl. generel aus?
Unterschiede VBA/OO-BASIC -
ist es nicht so,dass man das
"global" einer OO-Variable mit z.B.
Public im VBA umschreiben müsste?
Ausserdem,ich habe in der OpenCalc-Hilfe
nichts zu ByVal und ByRef gefunden...
Unterschiede VBA/OO-BASIC -
ist es nicht so,dass man das
"global" einer OO-Variable mit z.B.
Public im VBA umschreiben müsste?
Ausserdem,ich habe in der OpenCalc-Hilfe
nichts zu ByVal und ByRef gefunden...
Was denkt Alexa Popp nach dem Herrenpokalfinale? - "Männer..."
Re: MS VBA Funktionen in Calc?
Hallo Haralt,
Ähnlich? Jaeien!
Bis zu einem bestimmtem Grad hat Calc (StarBasic) keine Probleme mit VBA, aber darüber hinaus wirds problematisch. Der genaue Punkt ab wann es zu Problemen kommt, hängt vom jeweiligen Makro ab. Aber eins kann ich schon mal sagen, wenn es um das ansprechen und auswerten von Grafischen Kontrollelementen geht, is Feierabend.
Und fürs nächste mal, Bilder taugen nicht, deshalb Datei anhängen.
Gruß
balu
Exakt? Nein!Ist Microsoft VBA nicht exakt dasselbe wie Basic?
Ähnlich? Jaeien!
Bis zu einem bestimmtem Grad hat Calc (StarBasic) keine Probleme mit VBA, aber darüber hinaus wirds problematisch. Der genaue Punkt ab wann es zu Problemen kommt, hängt vom jeweiligen Makro ab. Aber eins kann ich schon mal sagen, wenn es um das ansprechen und auswerten von Grafischen Kontrollelementen geht, is Feierabend.
Wie denn auch? StarBasic ist nun mal halt nicht VBA.Ausserdem,ich habe in der OpenCalc-Hilfe
nichts zu ByVal und ByRef gefunden
Ist durchaus möglich.Aber wie in Bild blockierung hervorgeht, hat Calc nicht gern "next k". Könnte es etwas mit der Unterbrechung die For-Schleife mit dem Kommando "If Abs(fx) < tolerans Then: Exit For" zu tun haben ?
Na da hast Du aber wohl nicht genau hingeschaut. Gib mal als Suchbegriff EXIT ein, wenn Du im Basic-Editor (IDE) bist.In Hilfe in Calc, finde ich nichts.
Und fürs nächste mal, Bilder taugen nicht, deshalb Datei anhängen.
Gruß
balu