BITTE helfen Sie uns HEUTE mit einer SPENDE
Helfen Sie das OpenOffice Forum zu erhalten!

DANKE >><< DANKE

> 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. 🤗

Excel VBA in Open Office Basic ändern

Alles zur Programmierung im OpenOffice.org
Antworten
flyzonepro
Beiträge: 1
Registriert: Fr 26. Feb 2016, 10:31

Excel VBA in Open Office Basic ändern

Beitrag von flyzonepro » Fr 26. Feb 2016, 10:36

Hallo,
habe eine kleines Makro in einer Excel-Liste. DIese Liste soll nun auch in Open Office funktionieren. Wie kann ich das ganze in Open Office zum Laufen bringen? Hab leider keine großen Programmierkenntnisse. Wer kann helfen und den Code in ein OpenOffice-kompatibeln Code ändern?

Besten Dank schon im voraus.


Rem Attribute VBA_ModuleType=VBADocumentModule
Sub Tabelle1
Rem Private Sub Worksheet_Change(ByVal Target As Range)
Rem Dim rngz As Range
Rem On Error GoTo Ende
Rem Application.EnableEvents = False
Rem For Each rngz In Application.Intersect(Columns("C"), Target).Cells
Rem
Rem
Rem If Target <> "" And rngz.Offset(0, 1).Value = "" Then
Rem ' Wenn du den Namen eingetrgen hast und als Datum noch nichts drin steht wird das aktuelle datum eingetragen
Rem rngz.Offset(0, 1).Value = Date
Rem ElseIf Target <> "" And rngz.Offset(0, 1).Value <> "" Then
Rem ' Wenn du den Namen eingetrgen hast aber schon ein datum drin stand wird dieses beibehalten
Rem ' zB wenn du den Namen am nächsten Tag nochmal korrigierst
Rem Else
Rem ' Wenn du den Namen löschst wird auch das Datum gelöscht
Rem rngz.Offset(0, 1).Value = ""
Rem End If
Rem
Rem Next rngz
Rem Ende:
Rem Application.EnableEvents = True
Rem End Sub
Rem
Rem '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Rem '' Datum wird immer aktualisiert sobeld die Zeile mit dem Namen geändert wird
Rem '' Kompletten Block einkommentieren wenn du die Option bevorzugst und alles oben auskommentieren oder löschen
Rem 'Private Sub Worksheet_Change(ByVal Target As Range)
Rem ' Dim rngz As Range
Rem ' On Error GoTo Ende
Rem ' Application.EnableEvents = False
Rem ' For Each rngz In Application.Intersect(Columns("C"), Target).Cells
Rem ' rngz.Offset(0, 1).Value = Date
Rem ' Next rngz
Rem 'Ende:
Rem ' Application.EnableEvents = True
Rem 'End Sub
End Sub

mikele
Beiträge: 771
Registriert: Sa 23. Jul 2011, 22:09

Re: Excel VBA in Open Office Basic ändern

Beitrag von mikele » Fr 26. Feb 2016, 21:09

Hallo,

da eine 1zu1-Übersetzung selten sinnvoll ist, wäre es hilfreicher, wenn du beschreibst, was du erreichen willst. Was soll das Makro machen?
Wenn ich es richtig verstanden habe, sollte der folgende Code dem 1. Teil entsprechen:

Code: Alles auswählen

Sub Main (oevent as object)

	if oevent.supportsService("com.sun.star.sheet.SheetCell") then
		otab=thiscomponent.sheets.getbyindex(oevent.celladdress.sheet)
		spalte=oevent.celladdress.column
		if spalte=2 then 
			zeile=oevent.celladdress.row
			if oevent.string="" then
				otab.getcellbyposition(spalte+1,zeile).clearcontents(7)
			else
				'die folgende Zeile auskommentieren, wenn immer das Datum gesetzt werden soll
				if otab.getcellbyposition(spalte+1,zeile).value=0 then
					otab.getcellbyposition(spalte+1,zeile).value=date()
				'die folgende Zeile auskommentieren, wenn immer das Datum gesetzt werden soll
				end if
			end if
		end if
	end if

End Sub
Gruß,
mikele

Antworten