Seite 1 von 1

VBA Code von Excel

Verfasst: Fr 24. Okt 2025, 10:39
von MiPe
Hallo zusammen,

ich bin Neuling was Libre Office angeht und brauche dringend Hilfe.
Ich habe in Excel einen VBA Code der mir immer die automatisch die aktive Zeilennummer ausgibt.
In Libre funktioniert dieser nicht kann mir hier jemand helfen"

Besten Dank

Hier mein Code
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("B2:M400")) Is Nothing Then
Range("A1").Value = Target.Row


End If
End Sub

Re: VBA Code von Excel

Verfasst: Fr 24. Okt 2025, 16:06
von Proma
Hallo MiPe,

ich schlage mich selbst gerade mit einem ähnlichen Problem herum (Ausführen eines Makros nach dem Ändern der Zellenauswahl) und habe hier in diesem Forum ein paar interessante Details dazu gefunden..

Schau Dir auch mal die Anweisung "Option VBASupport 1" in der Hilfe an.

Viel Glück und liebe Grüße
vom Proma

Re: VBA Code von Excel

Verfasst: So 26. Okt 2025, 08:52
von F3K Total
Moin,
versuche mal diesen, an das Tabellenereignis "Auswahl geändert", gebundenen Code.

Code: Alles auswählen

Sub get_current_row
    oController = Thiscomponent.currentController
    oSheet = oController.activeSheet
    oRange = oSheet.getCellRangeByName("B2:M400")
    oSel = oController.Selection
    if oSel.supportsService("com.sun.star.sheet.SheetCellRange") then
    oqIntersection = oRange.queryintersection(oSel.Rangeaddress)
        if oqIntersection.count > 0 then
            nRow =  oSel.Rangeaddress.StartRow + 1
            oSheet.getCellbyPosition(0,0).Value = nRow
        endif
    endif
End Sub
Gruß R

Re: VBA Code von Excel

Verfasst: Mo 27. Okt 2025, 10:42
von MiPe
F3K Total hat geschrieben:
So 26. Okt 2025, 08:52
Moin,
versuche mal diesen, an das Tabellenereignis "Auswahl geändert", gebundenen Code.

Code: Alles auswählen

Sub get_current_row
    oController = Thiscomponent.currentController
    oSheet = oController.activeSheet
    oRange = oSheet.getCellRangeByName("B2:M400")
    oSel = oController.Selection
    if oSel.supportsService("com.sun.star.sheet.SheetCellRange") then
    oqIntersection = oRange.queryintersection(oSel.Rangeaddress)
        if oqIntersection.count > 0 then
            nRow =  oSel.Rangeaddress.StartRow + 1
            oSheet.getCellbyPosition(0,0).Value = nRow
        endif
    endif
End Sub
Gruß R
Vielen Dank, das ist genau das was ich gesucht und gebraucht habe.

Re: VBA Code von Excel

Verfasst: Mo 27. Okt 2025, 16:07
von F3K Total
Moin,
ich frage mich allerdings, wozu du das brauchst, vielleicht kannst du uns erhellen?

Gruß R