Excel VBA in Open Office Basic ändern

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

Moderator: Moderatoren

carlo50
Beiträge: 2
Registriert: Fr, 01.07.2016 16:54

Excel VBA in Open Office Basic ändern

Beitrag von carlo50 »

Hallo!

Nach Umstellung von MS office auf OpenOffice möchte ich ein Teil
aus einem Excel VBA in Open Office Basic Makro einfügen.
Hab leider keine großen Programmierkenntnisse.
Wer kann helfen und den Code in ein OpenOffice-kompatibeln Code ändern?
n1 = 3
Do
If Cells(1, n1)=““ Then Cells(2, (n1 – 1)).Select: GoTo weiter1
n1 = n1 + 1
Loop
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Excel VBA in Open Office Basic ändern

Beitrag von mikeleb »

Hallo,

helfen könnten sicher einige, nur ist das mit so einem Codeschnipsel praktisch unmöglich.
Wichtig wäre, den Rest des Code zu kennen, in den der Schnipsel eingefügt werden soll (davon hängt so einiges ab).
Um das, was ich glaube das du willst, auf dem ersten Tabellenblatt zu tun:

Code: Alles auswählen

Sub Main
	odoc=thiscomponent
	otab=odoc.sheets(0)
	spalte=otab.rows(0).queryemptycells.rangeaddresses(0).startcolumn
	ozelle=otab.getcellbyposition(spalte-1,1)
	odoc.currentcontroller.select(ozelle)
End Sub
Gruß,
mikeleb
carlo50
Beiträge: 2
Registriert: Fr, 01.07.2016 16:54

Re: Excel VBA in Open Office Basic ändern

Beitrag von carlo50 »

Danke erst einmal!
hier die Erweiterung

sheets(“gefehlt”).Select
n1 = 3
Do
If Cells(1, n1)=““ Then Cells(2, (n1 – 1)).Select: GoTo weiter1
n1 = n1 + 1
Loop
weiter1:
ActiveCell.Select
Sheets(“Eingabe”).Select
Range(“E2:E11”).Select
Selection.Copy
Sheets(“gefehlt”).Select
ActiveCell.Select
Selection.PasteSpecial Paste:=xIvalues, Operation:=xInone, SkipBlanks:=_
False, Transpose:=False

Sheets("nächsteBlatt"Select
usw.
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Excel VBA in Open Office Basic ändern

Beitrag von mikeleb »

Hallo,

es mag ja sein, dass der Rest funktioniert, sprich unter OpenOffice läuft, aber dieser Code hat in meinen Augen keinen Sinn.
Zunächst wählst du das Blatt "gefehlt" aus, durchsuchst die erste Zeile, um dann eine Zelle in Zeile 2 auszuwählen. Danach wählst du die aktive Zelle (womit die vorangegangene Auswahl hinfällig wird). Dann wählst du das Blatt "Eingabe" und dort den Bereich "E2:E11", womit die vorangegangene Auswahl wieder hinfällig ist etc.
Miene Empfehlung: Wirf' diesen Code komplett weg (er ist Unfug) und verrate, was du eigentlich erreichen willst. Das wird einfacher, kürzer und schneller.
Gruß,
mikeleb
Antworten