Hallo,
ich bräucht für ein bestehendes Makro die letzt Zelle. Also ich möchte das gleiche ereichen als wenn ich strg+ende drücke, mit dem unterschied das er die Zelle in eine Variable speichert.
Ich möchte dann zB den Wert G78 haben oder so.
Hat evtl jemand eine Idee wie man das umsetzen kann?
Danke im Voraus
mfg
Letzte Zelle auslesen
Moderator: Moderatoren
Ich habe mir mal selber was zusammen gebastelt. Es funktioniert, jedoch is der Code nicht der schönste.
Gerade der Sprung auf die letzte Zelle bereitet mir Schwierigkeiten. Habe das erste Stück per Makro aufzeichnen realisiert.
Evtl kann ja mal jemand daran herumschnippel
Gerade der Sprung auf die letzte Zelle bereitet mir Schwierigkeiten. Habe das erste Stück per Makro aufzeichnen realisiert.
Evtl kann ja mal jemand daran herumschnippel

Code: Alles auswählen
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(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Sel"
args1(0).Value = false
dispatcher.executeDispatch(document, ".uno:GoToEndOfData", "", 0, args1())
oSelect=ThisComponent.CurrentSelection.getRangeAddress
oSelectColumn=ThisComponent.CurrentSelection.Columns
oSelectRow=ThisComponent.CurrentSelection.Rows
CountColumn=oSelectColumn.getCount
CountRow=oSelectRow.getCount
oSelectSC=oSelectColumn.getByIndex(0).getName
oSelectEC=oSelectColumn.getByIndex(CountColumn-1).getName
oSelectSC=oSelectColumn.getByIndex(0).getName
oSelectEC=oSelectColumn.getByIndex(CountColumn-1).getName
oSelectSR=oSelect.StartRow+1
oSelectER=oSelect.EndRow+1
NoCell=(CountColumn*CountRow)
oSelectAC=oSelect.StartColumn+0
oSelectAR=oSelect.StartRow+0
MsgBox(oSelectSC + oSelectSR)
Ja und Wieso? Der Code von Dir ist doch perfekt dafür:Gerade der Sprung auf die letzte Zelle bereitet mir Schwierigkeiten.
Code: Alles auswählen
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(0) as new com.sun.star.beans.PropertyValue
args1(0).Name = "Sel"
args1(0).Value = false
dispatcher.executeDispatch(document, ".uno:GoToEndOfData", "", 0, args1())
exakt das macht der Code (falls bei Dir nicht, dann sage was er sonst tut)Also ich möchte das gleiche ereichen als wenn ich strg+ende drücke
zwei verschiedene Dinge, einmal ein Zellobjekt und einmal die Adresse einer Zelle, aber Beides macht Dein Code. Die Adresse kommt in der Message-Box und die Zelle (als Objekt) wäre beispielsweise zu erreichen über:mit dem unterschied das er die Zelle in eine Variable speichert.
Ich möchte dann zB den Wert G78 haben oder so.
Code: Alles auswählen
zelle = ThisComponent.getCurrentSelection()
Bis auf die eine Codezeile (die Du sicher auch selbst gewußt hättest) verstehe ich Dein Problem nicht, denn alles geht doch bereits.
Gruß
Stephan