Zelle springen

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: Zelle springen

Re: Zelle springen

von Stephan » Mo, 21.06.2021 11:15

Beim Makrorecorder hat er nach 2 Durchgängen einen Laufzeitfehler ausgesworfen.
Wahrscheinlich weil Du am oberen Tabellenrand (Zeile 1) angekommen warst?

Mein Hinweis auf den Makrorekorder bezog sich auf DEine Frage:
"Ich hab nur noch keine Funktion gefunden die sozusagen die Feiltaste nach oben darstellt"

und das aufgezeichnete Makro funktioniert auch genau so, nämlich gibt EINEN Klick auf die Pfeiltaste wieder.

Das aufgezeichnete Makro führt hingegen nicht das hier aus:
"ich bräuchte ein kleines Makro mit den ich in die aktuelle Zelle eine 0 schreibe und dann eine Zelle nach oben springe und dort das selbe mache. So lange bis in Zelle G1 eine 1 steht."
weil sich darauf meine Antwort mit dem aufgezeichneten Makro nicht bezog.


Gruß
Stephan

Re: Zelle springen

von CeVeaR » Mo, 21.06.2021 09:20

Vielen Dank, mit deinen Code hat es funktiopniert.

Beim Makrorecorder hat er nach 2 Durchgängen einen Laufzeitfehler ausgesworfen.

Re: Zelle springen

von Stephan » So, 20.06.2021 19:48

ich bräuchte ein kleines Makro mit den ich in die aktuelle Zelle eine 0 schreibe und dann eine Zelle nach oben springe und dort das selbe mache. So lange bis in Zelle G1 eine 1 steht.
z.B.:

Code: Alles auswählen

sub Main
  oDoc = thisComponent  'Zugiff auf das Dokument
  oSheet = oDoc.sheets(0)  'Erstes Tabellenblatt
  oZelleA = oSheet.getCellRangeByName("G1")
  
  sr = ThisComponent.GetCurrentSelection.RangeAddress.StartRow
  sc = ThisComponent.GetCurrentSelection.RangeAddress.StartColumn
  
  Do While (oZelleA.value < 1 AND sr >= 0)
    oSheet.getCellByPosition(sc, sr).Value = 0
    sr = sr - 1
  Loop
  MsgBox "ENDE"

end sub
Ich hab nur noch keine Funktion gefunden die sozusagen die Feiltaste nach oben darstellt.
am Simpelsten ist es das per Makrorecorder aufzuzeichnen:

Code: Alles auswählen

sub Main
rem ----------------------------------------------------------------------
rem define variables
dim document   as object
dim dispatcher as object
rem ----------------------------------------------------------------------
rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem ----------------------------------------------------------------------
dim args1(1) as new com.sun.star.beans.PropertyValue
args1(0).Name = "By"
args1(0).Value = 1
args1(1).Name = "Sel"
args1(1).Value = false

dispatcher.executeDispatch(document, ".uno:GoUp", "", 0, args1())

end sub


Gruß
Stephan

Zelle springen

von CeVeaR » So, 20.06.2021 18:58

Hallo,
ich bräuchte ein kleines Makro mit den ich in die aktuelle Zelle eine 0 schreibe und dann eine Zelle nach oben springe und dort das selbe mache. So lange bis in Zelle G1 eine 1 steht. Ich hab nur noch keine Funktion gefunden die sozusagen die Feiltaste nach oben darstellt.

Code: Alles auswählen

sub Main
  oDoc = thisComponent  'Zugiff auf das Dokument
  oSheet = oDoc.sheets(0)  'Erstes Tabellenblatt
  oZelleA = oSheet.getCellRangeByName("G1") 
Do While oZelleA.value < 1
ThisComponent.GetCurrentSelection
ThisComponent.GetCurrentSelection.Value = "0" 

Loop
MsgBox ("ENDE")

end sub

Nach oben