Hallo erst mal...
Ich hab mal eine Frage wenn ich mit einem Makro zu einer Zelle springe,
verhält diese sich anders als wenn ich sie manuell auswähle.
d.h. wenn ich in eine mit Makro ausgewählte Zelle eine Eingabe mache und Enter drücke bleibt der Cursor auf der Zelle.
wenn ich eine Zelle manuell auswähle eine Eingabe mache und Enter drücke geht der Cursor eine Zeile nach unten.
gibt es eine Möglichkeit das sich die Zelle nach einer Auswahl durch ein Makro genauso verhält als hätte ich sie manuell ausgewählt?
Code den ich verwende:
myDoc = thisComponent
myView = myDoc.CurrentController
mysheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(0,0)
myView.Select(mycell)
Gruß MT
Zelle soll sich anders verhalten
Moderator: Moderatoren
Re: Zelle soll sich anders verhalten
Hallo,
durch .select wird nicht nur zu dieser Zelle gesprungen, sondern diese Zelle komplett ausgewählt (wie ein Zellbereich). Damit ist das Verhalten genau so, als wenn du die Auswahl manuell machen würdest.
Um das zu verhindern gibt es den kleine Trick, einen leeren Service SheetCellRanges auszuwählen:
Allerdings bleibt die Frage offen, wozu das Ganze?
durch .select wird nicht nur zu dieser Zelle gesprungen, sondern diese Zelle komplett ausgewählt (wie ein Zellbereich). Damit ist das Verhalten genau so, als wenn du die Auswahl manuell machen würdest.
Um das zu verhindern gibt es den kleine Trick, einen leeren Service SheetCellRanges auszuwählen:
Code: Alles auswählen
Sub Main
myDoc = thisComponent
myView = myDoc.CurrentController
mysheet = myDoc.sheets(0)
mycell = mysheet.getCellByPosition(0,0)
myView.Select(mycell)
myview.Select(myDoc.createInstance("com.sun.star.sheet.SheetCellRanges"))
End Sub
Gruß,
mikeleb
mikeleb
Re: Zelle soll sich anders verhalten
Vielen Dank,
Das ist genau das was ich gesucht habe.
Gruß MT
Zum Warum das Ganze:
Wir geben in einer Spalte Werte ein,
dabei werden die Zellen sowohl manuell ausgewählt oder auch per Makro angesprungen.
Zur Vermeidung von Fehleingaben ist es von großem Vorteil wenn sich die Zellen immer gleich verhalten wenn man Enter drückt.
Nochmals Vielen Dank
Das ist genau das was ich gesucht habe.
Gruß MT
Zum Warum das Ganze:
Wir geben in einer Spalte Werte ein,
dabei werden die Zellen sowohl manuell ausgewählt oder auch per Makro angesprungen.
Zur Vermeidung von Fehleingaben ist es von großem Vorteil wenn sich die Zellen immer gleich verhalten wenn man Enter drückt.
Nochmals Vielen Dank
Re: Zelle soll sich anders verhalten
Hallo,
das ist schon klar. Meine Frage bezog sich darauf, warum Zellen per Makro angesprungen werden sollen? Da das Makro auch gestartet werden muss, erscheint es mir zu aufwändig.
Speziell um zu A1 zu springen gäbe es eine Tastenkombination (das wird aber nur ein Beispiel sein). Hyperlinks wären auch eine Möglichkeit um im Dokument hin und her zu springen.
das ist schon klar. Meine Frage bezog sich darauf, warum Zellen per Makro angesprungen werden sollen? Da das Makro auch gestartet werden muss, erscheint es mir zu aufwändig.
Speziell um zu A1 zu springen gäbe es eine Tastenkombination (das wird aber nur ein Beispiel sein). Hyperlinks wären auch eine Möglichkeit um im Dokument hin und her zu springen.
Gruß,
mikeleb
mikeleb