Nieuws:

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

Auteur Topic: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?  (gelezen 1227 keer)

Offline Jenske

  • Lid
In MS Excel kan je de waarde van de cel erboven kopiëren door CTRL + " (aanhalingstekens) te gebruiken.

Maar ik vind nergens een sneltoets in LibreOffice Calc die hetzelfde zou kunnen.

Welke toetscombinatie kan ik gebruiken?



(en ik wil dus géén muisbewerking, want ik probeer zo weinig mogelijk muis te gebruiken)
.. Kubuntu 23.10 op een ...
.. geen idee welk computermerk, 32 Gbyte RAM, 4 Gbyte video-RAM

Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #1 Gepost op: 2016/09/17, 12:51:14 »
@ Jenske,

kijk eens of je dit bruikbaar vind: https://help.libreoffice.org/Calc/Instructions_for_Using_Calc/nl   
én    https://help.libreoffice.org/Calc/Shortcut_Keys_for_Spreadsheets/nl
misschien ook bruikbaar en eventueel aan te passen: http://www.quantium.be/teksten/calc/calc2.html
en...ook nog de handleiding:  https://nl.libreoffice.org/ondersteuning/documentatie/

groet,
spievensterke.
« Laatst bewerkt op: 2016/09/17, 13:32:50 door spievensterke »
Maté - Rolling Release 64bit. Test LinuxMint 21.xx.


Offline Jenske

  • Lid
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #3 Gepost op: 2016/09/19, 22:40:14 »
Helaas, dus, pindakaas. "Ze" zullen dat meenemen als een feature request voor één van de volgende LO-uitgaves.

Maar goed, geen ramp.


(Volgens mij moet zo'n handeling relatief eenvoudig te schrijven zijn als een macro, die je dan aan een toetscombinatie koppelt. Alleen ben ik een zodanige twee-linker-handige als het op computerprogrammeren aankomt ...)
.. Kubuntu 23.10 op een ...
.. geen idee welk computermerk, 32 Gbyte RAM, 4 Gbyte video-RAM

Offline jvecht

  • Lid
    • Just Vecht
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #4 Gepost op: 2016/09/19, 23:28:28 »
Hallo Jenske,

Ik heb vroeger aardig wat zitten werken met macro's in Excel en Word. Ik ben ook geen programmeur, hoor. Ik heb ook wel eens gekeken naar het macrogebeuren in LO. Dat is wel wat minder geraffineerd, maar zo'n eenvoudig macrootje is goed te doen.

Ik heb het even geprobeerd en heb hem nu onder functietoets F3 draaien.

Plan:

installeer de standaard jre (Java Runtime Engine)

Zet het maken van macro's aan in LO Calc: Extra > Opties > LibreOffice > Geavanceerd

Neem hem op door het domweg te doen in je werkblad met pijltje omhoog, Ctr+C, pijltje naar beneden, Ctrl+V en dan macro stoppen en opslaan (niet als Main, maar als nieuwe module)

Zet de macro tenslotte onder een toets via Opties > Aanpassen

Dat is het zo in hoofdlijnen. Je zal gegarandeerd een paar keer moeten puzzelen voor het echt werkt, maar dat is deels juist de lol van dit werk.

Zet hem op!

groet,

Just

Puur voor de wetenschap: hier is de code die ik via de macro-recorder gebakken heb. Dat hoef je dus niet zelf te verzinnen, dat doet die macro-recorder voor je. Jij doet het alleen "voor" in je werkblad! Je kan dit soort stukken code wel weer combineren tot grotere macro's, maar zover ben ik niet gegaan. Microsoft heeft Visual Basic als taal van de macro. LO gebruikt Basic, een al bestaande programmeertaal als ik het wel heb.. Leuk om allemaal te zien gebeuren.

Hier is de code:

REM  *****  BASIC  *****

Sub Main

End Sub


sub celup
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())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())

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

dispatcher.executeDispatch(document, ".uno:GoDown", "", 0, args3())

rem ----------------------------------------------------------------------
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())


end sub
Edit: code tags
« Laatst bewerkt op: 2016/09/19, 23:40:44 door Johan van Dijk »
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #5 Gepost op: 2016/09/19, 23:43:51 »
Een tip voor wanneer je programmacode wil plaatsen op het forum: gebruik [code]...[/code] tags, geen kleurtags.
De code tag zorgt dat de code exact hetzelfde blijft zoals jij hem typt, dus regels worden niet onverwacht afgebroken en de tekst wordt niet omgezet naar bijv. een smiley.

Zo dus:

[code]
HIER JE CODE
[/code]

Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #6 Gepost op: 2016/09/19, 23:44:19 »
In MS Excel kan je de waarde van de cel erboven kopiëren door CTRL + " (aanhalingstekens) te gebruiken.
In LibreOffice Calc kun je de waarde van de cel zelf kopiëren door deze te selecteren en Ctrl+C te typen. Waarom heb je een sneltoets nodig om de waarde van een cel er boven of eronder of er links van of rechts van te kopiëren? Dit ontgaat me. Waarom moet het net zo zijn als in een ander programma?

Offline Jenske

  • Lid
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #7 Gepost op: 2016/09/19, 23:54:27 »
Paul,

Stel dat je een reeks gegevens moet invoeren onder volgende kolomkoppen:

datum - naam - beschrijving incident

Als dan Prins Hanoupthra van Saksencobourg-over-Gotha op eenzelfde dag 5 incidenten heeft ondergaan, dan is het handig als je snel diens naam kan kopiëren van het vorige record (zonder daarvoor muisbewegingen te moeten uitvoeren EN zonder dat je met je cursor één cel naar boven moet springen, "copy' aanklikken, vervolgens weer een cel naar beneden en dan weer "paste".

"Gebruik dan een database!" hoor ik je al zeggen. Neen, want in sommige gegevensreeksen gebeurt dat "waarden moeten herhalen" dermate weinig dat het écht geen zin heeft om hier een database voor te programmeren.

Trouwens: bij dBase III (wie kent dat nog? (ik dus)) had je een zgn. "carry on"-functie, waarbij elk nieuw volgend record "gevoed" werd met de waarden uit het vorige record. Zelfs MS Access en LibreOffice kennen die functie niet (hoewel je dit wél op een andere manier kan oplossen als programmeur).
.. Kubuntu 23.10 op een ...
.. geen idee welk computermerk, 32 Gbyte RAM, 4 Gbyte video-RAM

Offline vanadium

  • Lid
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #8 Gepost op: 2016/09/20, 15:03:43 »
Ik begrijp niet goed het probleem (ken de betreffende functie niet in Excel). Met de reeds genoemde sneltoets Ctrl+D ("Fill Down") neem je toch onmiddellijk de inhoud van de cel erboven over? Als je een selectie met dezelfde waarde wil vullen, dan moet je wel de cel met de inhoud in de selectie meenemen. Een druk op Ctrl+D zal dan de ganse selectie met de inhoud van de bovenste cellen vullen.

Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #9 Gepost op: 2016/09/20, 16:33:12 »
Stel dat je een reeks gegevens moet invoeren onder volgende kolomkoppen:

datum - naam - beschrijving incident

Als dan Prins Hanoupthra van Saksencobourg-over-Gotha op eenzelfde dag 5 incidenten heeft ondergaan, dan is het handig als je snel diens naam kan kopiëren van het vorige record (zonder daarvoor muisbewegingen te moeten uitvoeren EN zonder dat je met je cursor één cel naar boven moet springen, "copy' aanklikken, vervolgens weer een cel naar beneden en dan weer "paste".

Okay, da's duidelijk. Maar ik sluit me aan bij wat Vanadium al zei: in het veld onder de naam Prins Hanoupthra van Saksencobourg-over-Gotha gaan staan en dan Ctrl+D en hupsakee (wist ik zelf ook niet).

Trouwens: bij dBase III (wie kent dat nog? (ik dus))
Jazeker! Ashton-Tate.
« Laatst bewerkt op: 2016/09/20, 16:34:43 door Paul Matthijsse »

Offline jvecht

  • Lid
    • Just Vecht
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #10 Gepost op: 2016/09/20, 18:05:33 »
Nou zitten jullie arme Jenske allemaal oplossingen aan te praten, die afwijken van zijn vraag :D En ik braaf mens maak een mooi macrootje die precies zijn vraag betreft en daar kletst iedereen maar overeen. Met uitleg notabene.

SNIK!

groet,

Just

[ik had trouwens wel lol in het maken van die macro PUH!]

@Johan: bedankt! Ik wist wel van die code tag, maar niet of het goed zou gaan bij zo'n grote lap.
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #11 Gepost op: 2016/09/20, 20:49:54 »
Hallo Just,
Renske is helemaal niet arm, want hij kent nota bene dBase III!
Verder denk ik dat het antwoord van Vanadium ("Ctrl+D") veel sneller/efficiënter is dan het maken van jouw macro, ook al doet Ctrl+D niet helemaal wat de OP vraagt. Het is mijns inziens een serieuze en snelle workaround die ikzelf eerder zou gebruiken dan jouw macro (macro's in LibreOffice zijn veel te gecompliceerd als je het mij vraagt).

Dus kort: je antwoord mag doeltreffender zijn, het is ook tijd- en moeiterovender, daarom Ctrl+D voor de OP! ;-)

Offline jvecht

  • Lid
    • Just Vecht
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #12 Gepost op: 2016/09/20, 22:29:48 »
Hoi Paul,

Ik weet wel wat een database is, maar daar houdt het ook helemaal mee op. Met macro's kan ik wel uit de voeten. Daarom maakte ik ook dit macrootje. Ik vond dat leuk en warempel, het lukte ook nog.

Bij gelegenheid probeer ik dat nog wel eens. Dan moet je wel echt nut van zo'n macro hebben. Als je het met de hand af kan voor 10 gevalletjes heeft zoiets natuurlijk geen zin.

Het verbaasde me wel hoeveel code die doodsimpele macro in LO opleverde. Maar zoveel weet ik niet van programmeren, laat staan Basic, dat ik daar iets serieus van kan zeggen.

Dat is hij weer. Oh, volgens mij is de naam van onze vragensteller Jenske en niet Renske :D

groet,

Just
GIMP bundel 2018  38 cursussen met mooi oefenmateriaal. Lekker lezen of er wat van opsteken!
  Boekje "Werken met Xubuntu" 5000+ downloads!
     Het Helpmij Magazine Mei 2021

Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #13 Gepost op: 2016/09/20, 22:54:37 »
Hmm, gaat iets serieus mis met quoten hier...
Heb je hem weer. Jazeker is het Jenske en niet Renske, foutje mijnerzijds. Anderzijds kende ik ooit een Renske en geen Jenske, misschien komt het daardoor. Ze zou er een van dezen kunnen zijn, mooi toch? :-)

https://www.google.fr/search?q=renske&safe=off&client=ubuntu&hs=Rg9&channel=fs&tbm=isch&tbo=u&source=univ&sa=X&ved=0ahUKEwiVi8mB6Z7PAhXEXRQKHdnxDDMQsAQINQ&biw=1181&bih=718

« Laatst bewerkt op: 2016/09/20, 22:57:08 door Paul Matthijsse »

Offline vanadium

  • Lid
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #14 Gepost op: 2016/09/21, 15:40:57 »
Nou zitten jullie arme Jenske allemaal oplossingen aan te praten, die afwijken van zijn vraag :D
Vandaar dat ik aangaf wellicht het probleem niet goed te begrijpen omdat ik Excel niet ken. Maar de sneltoets Ctrl+d doet precies wat ik uit de vraag begrepen had: de waarde van de cel erboven kopiëren. Misschien kan iemand mij aangeven hoe ik de vraag verkeerd begrepen heb, met name hoe het dan in Excel werkt met die Ctrl+" toets.

Offline Jenske

  • Lid
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #15 Gepost op: 2016/09/26, 19:38:49 »
Dát zocht ik dus, die CTRL-D. Bedankt, Vanadium!


Ik begrijp niet goed het probleem (ken de betreffende functie niet in Excel). Met de reeds genoemde sneltoets Ctrl+D ("Fill Down") neem je toch onmiddellijk de inhoud van de cel erboven over? Als je een selectie met dezelfde waarde wil vullen, dan moet je wel de cel met de inhoud in de selectie meenemen. Een druk op Ctrl+D zal dan de ganse selectie met de inhoud van de bovenste cellen vullen.
.. Kubuntu 23.10 op een ...
.. geen idee welk computermerk, 32 Gbyte RAM, 4 Gbyte video-RAM

Offline vanadium

  • Lid
Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #16 Gepost op: 2016/09/26, 19:54:27 »
Dát zocht ik dus, die CTRL-D. Bedankt, Vanadium!
Oef. De discussie na mijn opmerking was van die aard, dat ik dacht dat ik iets miste van de vraagstelling.

Re: Hoe in LibreOffice de vorige celwaarde kopiëren met sneltoets?
« Reactie #17 Gepost op: 2016/09/26, 20:04:12 »
Ja, soms heb ik hier het idee dat men het principe toepast van " Waarom gemakkelijk als het moeilijk ook kan "  ;)
Allemaal Linux gerelateerde links op mijn website http://home.scarlet.be/jefdamen/Ubuntu.html
Mijn YouTube kanaal:http://www.youtube.com/user/asilnevs
https://jefdamen.wordpress.com/
We are spiritual beings having a human experience