Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: LibreOffice - datum en automatische cursor-invoer  (gelezen 467 keer)

LibreOffice - datum en automatische cursor-invoer
« Gepost op: 2016/08/08, 15:28:13 »
L.S.

Ik heb een aantal libreoffice calc spreadsheets waarin elke dag van het jaar vertegenwoordigd is door een Rij/Row waarin bijbehorende gegevens zijn opgeslagen. Dus 1 januari begint op cel A1, 2 januari op cel A2, enzovoort t/m 31 december (cel A365, respectievelijk A366). Het zou prettig zijn als bij het oproepen van zo'n bestand de cursor automatisch op de bijbehorende rij zou staan (b.v. 15 januari op cel A15,  1 februari op cel A32, et cetera). Ik heb de functie DATUM uitgebreid bestudeerd en heb vanzelfsprekend internet doorzocht, maar heb geen antwoord gevonden. Daarom hier de vraag: bestaat hiervoor een formule of kan het niet?

N.L.     

Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #1 Gepost op: 2016/08/08, 16:47:19 »
Je bedoelt dat de dag van vandaag (8 augustus op deze dag van schrijven) automatisch getoond wordt?

Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #2 Gepost op: 2016/08/08, 16:54:08 »
Citaat
Je bedoelt dat de dag van vandaag (8 augustus op deze dag van schrijven) automatisch getoond wordt?

Nee, dat vandaag (8 augustus 2016) de cursor na het opstarten van het bestand automatisch op cel A222 staat.

Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #3 Gepost op: 2016/08/08, 17:04:12 »
Zo op het eerste gezicht zie ik dat niet zo gauw. Heb je hier al gekeken?

https://wiki.openoffice.org/wiki/Documentation/OOo3_User_Guides/Calc_Guide/Using_formulas_to_find_data

Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #4 Gepost op: 2016/08/08, 17:13:16 »
Paul Matthijsse, voor de link. Ik heb die inderdaad geraadpleegd. Nog even voor alle duidelijkheid. Het gaat er om dat Calc naar aanleiding van de systeemdatum de cursor bij opstarten van het bewuste bestand in de juiste cel zet. Iets in de geest van:
IF vandaag=08-08-2016 THEN cursor op A222

JohPoe

  • Gast
Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #5 Gepost op: 2016/08/08, 19:58:42 »
Dagnummer kan je bepalen met
=DATUMVERSCHIL(DATUM(JAAR(VANDAAG());1;1);VANDAAG();"d")+1In een macro
Sub DagNummer
x=datediff("d", "1-1-"&Year(Date()), Date())+1
MsgBox x
End Sub

Dus spring naar cel A[dagnummer] is de volgende uitdaging  =D

« Laatst bewerkt op: 2016/08/09, 09:24:56 door JohPoe »

Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #6 Gepost op: 2016/08/09, 11:17:26 »
Citaat
Dus spring naar cel A[dagnummer] is de volgende uitdaging
Dank voor de formule en de macro, die komen inderdaad het dichtste bij. Ik ga zien of er via deze weg iets valt te bereiken. Overigens is het geen halszaak, maar het zou handig zijn als ik het werkend kreeg.

Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #7 Gepost op: 2016/08/09, 12:10:32 »
Hallo, lukt dat allemaal niet doe dan gewoon Ctrl+F en vul de gewenste datum in het zoekveld in, zonder het jaartal. Dus Ctrl+F+08-08+Enter is voldoende om naar 8 augustus te springen (gebruik wel 08-08 ipv. 8-8).

Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #8 Gepost op: 2016/08/10, 10:43:25 »
Dank voor de reacties. Ik test nog even door en zie wel of er iets uitkomt.  Als dat zo is laat ik van mij horen.
N.L.

JohPoe

  • Gast
Re: LibreOffice - datum en automatische cursor-invoer
« Reactie #9 Gepost op: 2016/08/10, 10:45:31 »
sub GaNaarRijDagnummer

rem variabelen
dim document   as object
dim dispatcher as object
dim x as integer
dim myVar(0) as new com.sun.star.beans.PropertyValue

rem get access to the document
document   = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")

rem bereken het huidige dagnummer
x=datediff("d", "1-1-"&Year(Date()), Date())+1

rem ga naar cel
myVar(0).Name = "ToPoint"
myVar(0).Value = "$A$"&ltrim(Str(x))
dispatcher.executeDispatch(document, ".uno:GoToCell", "", 0, myVar())

end sub

Succes  :)