🙏 Helfen Sie jetzt mit, unser LibreOffice Forum zu erhalten! 🙏
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀

❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

VBA Exel Code für LO Calc umschreiben

Alles zur Programmierung im LibreOffice.
Antworten
Criss
Beiträge: 18
Registriert: Di 30. Jan 2018, 16:33

VBA Exel Code für LO Calc umschreiben

Beitrag von Criss » Di 30. Jan 2018, 17:06

Hallo,
kann mir jemand bitte ein VBA Exel Code für LO Calc umschreiben ?
Ich hab mit einem online Konverter versucht, und leider funktioniert es nicht.
Egal was ich versucht habe bekomme ich immer wieder Fehlermeldungen.
Im Exel unter Windows funktioniert einwandfrei, aber bin kein Windows Benutzer mehr.
Was ich möchte, wenn doppelklick links soll die Zahl in der Zelle um ein Punkt erhöht werden,
wenn rechts klick soll die Zahl in der Zelle um ein Punk gesenkt werden.

Vielen vielen Dank im Voraus
Gruß Criss

Hier VBA Code für Exel
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, Range("E4:E24")) Is Nothing Then
Target.Value = Target + 1
Cancel = True
End If
' Zeile 4
If Not Intersect(Target, Range("G4:U4")) Is Nothing Then
Target.Value = Target + 1
Cancel = True
End If
' Zeile 7
If Not Intersect(Target, Range("G7:U7")) Is Nothing Then
Target.Value = Target + 1
Cancel = True
End If
Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel.Range, Cancel As Boolean)
If Not Intersect(Target, Range("E4:E24")) Is Nothing Then
Target.Value = Target - 1
Cancel = True
End If
' Zeile 4
If Not Intersect(Target, Range("G4:U4")) Is Nothing Then
Target.Value = Target - 1
Cancel = True
End If
' Zeile 7
If Not Intersect(Target, Range("G7:U7")) Is Nothing Then
Target.Value = Target - 1
Cancel = True
End If

und hier nach "Konvertierung"


Option VBASupport 1
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As oSheet oSheet = ThisComponent.CurrentController.ActiveSheetoSheet.getCellRangeByName($1), Cancel As Boolean)
If Not Intersect(Target, oSheet oSheet = ThisComponent.CurrentController.ActiveSheetoSheet.getCellRangeByName($1)("E4:E24")) Is Nothing Then
Target.Value = Target + 1
Cancel = True
End If
' Zeile 4
If Not Intersect(Target, oSheet oSheet = ThisComponent.CurrentController.ActiveSheetoSheet.getCellRangeByName($1)("G4:U4")) Is Nothing Then
Target.Value = Target + 1
Cancel = True
End If
' Zeile 7
If Not Intersect(Target, oSheet oSheet = ThisComponent.CurrentController.ActiveSheetoSheet.getCellRangeByName($1)("G7:U7")) Is Nothing Then
Target.Value = Target + 1
Cancel = True
End If
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Excel. oSheet oSheet = ThisComponent.CurrentController.ActiveSheetoSheet.getCellRangeByName($1), Cancel As Boolean)
If Not Intersect(Target, oSheet oSheet = ThisComponent.CurrentController.ActiveSheetoSheet.getCellRangeByName($1)("E4:E24")) Is Nothing Then
Target.Value = Target - 1
Cancel = True
End If
' Zeile 4
If Not Intersect(Target, oSheet oSheet = ThisComponent.CurrentController.ActiveSheetoSheet.getCellRangeByName($1)("G4:U4")) Is Nothing Then
Target.Value = Target - 1
Cancel = True
End If
' Zeile 7
If Not Intersect(Target, oSheet oSheet = ThisComponent.CurrentController.ActiveSheetoSheet.getCellRangeByName($1)("G7:U7")) Is Nothing Then
Target.Value = Target - 1
Cancel = True
End If
End Sub

mikele
* LO-Experte *
Beiträge: 1932
Registriert: Mo 1. Aug 2011, 20:51

Re: VBA Exel Code für LO Calc umschreiben

Beitrag von mikele » Mi 31. Jan 2018, 13:27

Hallo,
weil du so nett fragst ... ;)

Code: Alles auswählen

Sub doppelklick (oevent) as boolean

	bereiche=array("E4:E24","G4:U4","G7:U7")
	ziel=false
	for i=0 to ubound(bereiche)
		ziel=ziel+oevent.spreadsheet.getcellrangebyname(bereiche(i)).queryintersection(oevent.rangeaddress).count
	next
	if ziel>0 then
		oevent.value=oevent.value+1
	end if
	'die folgende Zeile dient nur der "Freigabe" des Cursors nach dem Klicken
	doppelklick=true

End Sub

Sub rechtsklick (oevent) as boolean

	bereiche=array("E4:E24","G4:U4","G7:U7")
	ziel=false
	for i=0 to ubound(bereiche)
		ziel=ziel+oevent.spreadsheet.getcellrangebyname(bereiche(i)).queryintersection(oevent.rangeaddress).count
	next
	if ziel>0 then
		oevent.value=oevent.value-1
	end if	
	'die folgende Zeile dient nur der "Freigabe" des Cursors nach dem Klicken
	rechtsklick=true

End Sub
Die Makros müssen dann noch an das jeweilige Tabellenereignis gebunden werden (Rechtsklick auf den Tab -> Tabellenereignisse ...)
Gruß,
mikele

Criss
Beiträge: 18
Registriert: Di 30. Jan 2018, 16:33

Re: VBA Exel Code für LO Calc umschreiben

Beitrag von Criss » Mi 31. Jan 2018, 16:34

Hallo Mikele,

du bist echt der Hammer, es funktioniert einwandfrei.
Es ist genau was ich brauche. :D :D :D
Zum Glück gibt es Menschen wie du.

Vielen, vielen Dank.

Gruß Criss


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten