Makro für nächste Zeile - erste Spalte

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

wear
*
Beiträge: 15
Registriert: Do, 31.08.2006 12:29

Makro für nächste Zeile - erste Spalte

Beitrag von wear »

Hallo,

in eine Calc Tabelle soll der Cursor von der Zelle z.B. G13
in die nächste Zeile Spalte 1 (A 14) springen.


Bei Excel (sorry für dieses böses Wort in diesem Forum )
könnte man nach der TAB Taste und return direkt in die nächste
Zeile erste (TAB) Spalte springen.

Gib es eine Markolösung dafür ?

Danke

wear
hoefri55
**
Beiträge: 37
Registriert: Do, 16.09.2004 10:16
Wohnort: Meppen

Beitrag von hoefri55 »

Hallo,

den Cursor in die nächste Zeile, erste Spalte setzen geht mit folgendem Makro:

Sub CursorNaechsteZeile

doc=thisComponent
blatt = doc.sheets(0)

oCelle=doc.getCurrentSelection().getCellAddress()
' aktuelle Zeile(Index)
oRow=oCelle.Row
' aktuelle Spalte(Index)
oColumn=oCelle.column

'Zeile um eins erhöhen
oRow = oRow + 1

'aktuellen Cursor auf die o.a. Position setzen
nCell = blatt.getCellByPosition(0,oRow)
doc.CurrentController.Select(nCell)

End Sub

Gruß, Friedhelm
wear
*
Beiträge: 15
Registriert: Do, 31.08.2006 12:29

Beitrag von wear »

Hallo Friedhelm,

vielen Dank für die schelle Lösung.

Der Cursor spring zur nächste Zeile erste Spalte
und "markiert" die Zelle.

Ist es möglich die Zelle nur zu "umranden" statt
zu markieren ?

Danke

wear
Stephan
********
Beiträge: 12369
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Beitrag von Stephan »

Bei Excel (sorry für dieses böses Wort in diesem Forum )
Sorry, nur warum dererlei Annahmen. Excel ist eine gute Tabellenkalkulation und momentan noch in einigen Dingen Calc überlegen (in anderen nicht). Wo ist das Problem bzw. warum wird geglaubt man könnte hier das Wort "Excel" nicht benutzen.
Wir sind hier zugegeben in einem OOo-Forum, so das wir Fragen zu Excel eher nicht beantworten, das heißt doch aber nicht (zumindest nicht für mich) deshalb eine objektive Betrachtung aufzugeben. Ich käme mir persönlich unglaubwürdig vor wenn ich, nur weil hier ein OOo-Forum ist, Excel verdammen würde, denn weder ist es richtig das in OOo alles nur gut ist noch das bei Excel alles schlecht ist - noch sehe ich hier im Forum die Feinde von Excel versammelt, sondern die Nutzer von OOO.
könnte man nach der TAB Taste und return direkt in die nächste
Zeile erste (TAB) Spalte springen.
das geht in Calc etwas anders:
Du mußt zunächst den gewünschten Eingabebereich markieren, z.B. A13 bis G20, dann kannst Du im markierte Bereich die Eingaben machen und mit TAB (nicht zusätzlich ENTER) zur nächsten Zelle springen und mit TAB am Ende der Markierung (Spalte G) gelangst Du automatisch in Spalte A der nächsten Zeile
Gib es eine Markolösung dafür ?
Das Folgende geht, und klärt auch:
Ist es möglich die Zelle nur zu "umranden" statt
zu markieren ?

Code: Alles auswählen

Sub springen()
x = ThisComponent.GetCurrentSelection
If x.supportsService("com.sun.star.sheet.SheetCell") Then
		oCtl=ThisComponent.getCurrentController 
		oSheet = oCtl.ActiveSheet 
		oCell = oSheet.getCellByPosition(0,x.getRangeAddress().StartRow+1)
		oCtl.select(oCell) 
		oRanges = ThisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
		ThisComponent.CurrentController.Select(oRanges)
	Else
		Msgbox "Ihre Markierung darf nur eine Zellre umfassen"
End If
End Sub

Gruß
Stephan
wear
*
Beiträge: 15
Registriert: Do, 31.08.2006 12:29

Beitrag von wear »

Hallo Stefan,

du hast recht.

Professionalität solte man haben und den OOO Nutzer helfen statt
Excel zu verdammen.

Vielen Dank für Deine hilfe.

wear
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Makro für nächste Zeile - erste Spalte

Beitrag von mikeleb »

Hallo,

einfacher wäre es, wenn du in eine Zelle folgende Formel eingibst:

Code: Alles auswählen

=HYPERLINK("#" & Z1;"Hier klicken")
Wenn du nun auf den Schrift bei gedrückter Strg-Taste klickst, springt du zum gewünschten Ziel.
Es sei denn, es muss eine Schaltfläche sein ...
Gruß,
mikeleb
mikeleb
*******
Beiträge: 1316
Registriert: Fr, 09.12.2011 16:50

Re: Makro für nächste Zeile - erste Spalte

Beitrag von mikeleb »

Hallo,

ja:
=HYPERLINK("#Tabelle2." & Tabelle2.Z1;"Hier klicken")
Gruß,
mikeleb
Antworten