Seite 1 von 1

Cursor beim Verlassen auf Zelle x

Verfasst: So 21. Jan 2024, 17:42
von mathiu9
Hallo dies sind meine erste Gehversuche.
Mehrere Tabellen in der Logfile gespeichert sind.
Nun mein Wunsch: beim verlassen der Tabelle-A auf Tabelle-B
soll der Cursor von Tabelle-A auf Zelle A1 gehen.
Hoffe das ihr mir ein Anhaltspunkt/Vorlage geben könnt.
Aktion zuweisen - Inhalt geändert - Makro

Re: Cursor beim Verlassen auf Zelle x

Verfasst: Mo 22. Jan 2024, 12:35
von Roland1
Hallo,

den Curser auf die Zelle klicken. dann speichern.
Dann ist er nach dem öffnen wieder dort.

Re: Cursor beim Verlassen auf Zelle x

Verfasst: Mo 22. Jan 2024, 17:04
von mathiu9
Danke Roland1
Ja das geht, doch es löst meine Situation nicht.
In dem Moment wo andere das Dokument verarbeiten und anschliessend speichern, verändert sich die Position
des Cursor. Und da liegt mein Problem: Unabhängig der Veränderungen soll der Cursor sich immer wieder z.B.:
auf Tabelle1, Zelle C1 sich positionieren.

Re: Cursor beim Verlassen auf Zelle x

Verfasst: Mo 22. Jan 2024, 17:23
von mikele
Hallo,
es lässt sich (nur) per Makro lösen.

Code: Alles auswählen

Sub Main 
	
	oDoc=ThisComponent
	oDoc.CurrentController.Select(oDoc.Currentselection.Spreadsheet.getcellbyposition(2,0))
	oDummy=oDoc.createInstance("com.sun.star.sheet.SheetCellRanges")
	oDoc.CurrentController.Select(oDummy)
	
End Sub
Diese Makro wird an das Tabellenereignis "Dokument aktivieren" der gewünschten Tabelle (Rechtklick auf den Tabellen-Tab -> Ereignisse) gebunden.
Jedes mal wenn die Tabelle nun aktiviert wird, ist die Zelle C1 angewählt.

Re: Cursor beim Verlassen auf Zelle x

Verfasst: Mo 22. Jan 2024, 17:33
von F3K Total
Moin,
wenn du auf jedem Tabellenblatt in die Zelle A1 den Namen der Zelle schreibst, die du auf dem aktuellen Blatt anspringen möchtest und folgendes Makro an das Tabellenereignis Dokument aktivieren bindest, sollte es klappen.

Code: Alles auswählen

Sub jump_to_startcell
    oSheet = ThisComponent.CurrentController.activeSheet
    sCellName = oSheet.getCellRangebyName("A1").String'Lies den Namen der ZielZelle aus
    oCell = oSheet.getCellRangebyName(sCellName)
    ThisComponent.CurrentController.Select(oCell)
    oDummy = ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
    ThisComponent.CurrentController.Select(oDummy)    
End Sub
Beispiel anbei.

Gruß Rik

EDIT: 17:40 Mikele war schneller, seine Idee mit dem "dummy" finde ich gut, habe ich noch mit eingebaut.

Re: Cursor beim Verlassen auf Zelle x

Verfasst: Mo 22. Jan 2024, 17:53
von mathiu9
VIELEN DANK EUCH ALLEN :D
Werde euch morgen informieren.

Re: Cursor beim Verlassen auf Zelle x

Verfasst: Di 23. Jan 2024, 17:45
von mathiu9
@F3K Total
:D Yee... SUPER Freude Kuchen
Nochmals DANKE AN ALLE!!