Calc - Springe nach

Das Tabellenkalkulationsprogramm

Moderator: Moderatoren

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

Re: Calc - Springe nach

Beitrag von Stephan »

Mit Enter bewegt sich das Eingabefeld nach rechts, ich muss aber immer nach 6 eingegeben Feldern zurück in Spalte C, in die nächste Zeile springen.
Manchmal muss ich auch in Spalte A etwas ändern
Letzteres ist etwas blöd, ansonsten geht das in OpenOffice so:

-aktiviere unter Extras-Optionen-OpenOffice-Calc-Allgemein "Eingabebestätigung setzt Selection nach rechts"
-markiere z.B. den Bereich H20:C1 (*)
-nun springt ENTER nach sechsmal rechts jeweils in die nächste Zeile in Spalte C

(*)
Erklärung:
diese Markierung umfasst in der Breite die 6 gewünschten Zellen und kann in der Höhe auch beliebig größer gemacht werden, die Markierung muss von rechts unten nach links obern gemacht werden, so das nach der Markierung der gesamte Bereich hinterlegt ist UND die aktive Zelle (schwarzer Rahmen) C1 ist
, das geht auch indem Du einfach H20:C1 in das Namensfeld links oberhalb des Tabellenblattes eintippst, Calc wandelt das dann zu C1:H20, aber die Markierung UND die aktive Zelle sind anschließend wie sie sein sollen.


Das funktioniert tadellos, leider wird es aber zum Problem wenn Du zwischendurch noch in A oder B ändern musst.
Vielleicht solltest Du dann Besser von H20 bis A1 markieren und bei nicht zu ändernden A oder B schnell einfach Enter drücken.


GRuß
Stephan
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Calc - Springe nach

Beitrag von Stephan »

Du kannst das auch per Makro machen wenn Du z.B. folgendes Makro dem Tabellenereignis "Auswahl geändert" zuweist:

Code: Alles auswählen

sub Main
tc = ThisComponent
tmp = tc.CurrentSelection
ctrl = tc.CurrentController
If tmp.SupportsService("com.sun.star.sheet.SheetCell") Then
	akt_column = tmp.RangeAddress.StartColumn
	If akt_column > 7 Then
		akt_row = tmp.RangeAddress.StartRow
		ctrl.select(tc.CurrentController.ActiveSheet.GetCellByPosition(2, akt_row+1))
		'oRanges = tc.createInstance("com.sun.star.Sheet.SheetCellRanges")
		'tc.CurrentController.Select(oRanges)
		
		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 = "ToPoint"
		args1(0).Value = "$C$" & akt_row+2
		
		dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, args1())

	End If
End If
End Sub
Gruß
Stephan
Dateianhänge
Eingeben.ods
(8.46 KiB) 115-mal heruntergeladen
Antworten