[excel/oo] auto copy?
Ik vraag me af of er in Excel/OopenOffice zoiets bestaat als een "auto copy" functionaliteit. Wat ik bedoel is het volgende. Stel ik heb 3 kolommen waarbij ik de score van darters wil bijhouden:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
A | B | C
---------------------
1 jan | jansen | 180
2 jan | jansen | 60
3 jan | jansen | 177
4 | |
---------------------
---------------------
1 jan | jansen | 180
2 jan | jansen | 60
3 jan | jansen | 177
4 | |
---------------------
Telkens als ik nu een nieuwe rij wil invullen, moet ik de namen 'jan' en 'jansen' opnieuw invoeren. Weliswaar worden ze aangevuld nadat ik ben begonnen met typen. Maar ik zat me dus af te vragen, is er een mogelijkheid dat ik in cel A4 ga staan, vervolgens op TAB klik en dat dan automatisch de bovenliggende waarde ('jan') vanuit A3 naar A4 wordt gekopieerd. Bestaat zoiets? Ik heb het nooit gezien, maar het lijkt me wel heel erg handig ...
Gewijzigd op 05/02/2015 14:31:06 door Ozzie PHP
Toevoeging op 05/02/2015 16:03:47:
Na 1x googlen vond ik dit: https://support.office.microsoft.com/en-us/article/Excel-shortcut-and-function-keys-1798d9d5-842a-42b8-9c99-9b7213f0040f?CorrelationId=c733847b-3075-4344-af79-9d32a20fc1a6&ui=en-US&rs=en-US&ad=US zoek hier even op above en dan vind je dat de shortcut voor het kopieren van de data van de cel er boven CTRL+' is.
Nee dat zijn ze dus niet. Wellicht was dat niet geheel duidelijk waarvoor mijn excuses. Het kan dus ook bijv. zo zijn:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
A | B | C
---------------------
1 jan | jansen | 180
2 jan | jansen | 60
3 jan | jansen | 177
4 wim | smits | 35
---------------------
---------------------
1 jan | jansen | 180
2 jan | jansen | 60
3 jan | jansen | 177
4 wim | smits | 35
---------------------
>> ... en dan vind je dat de shortcut voor het kopieren van de data van de cel er boven CTRL+' is.
Ah, nice! Dat werkt in LibreOffice ook! Daar heb ik wat aan :)
Voeg volgende code in onder het blad welke je wilt automatiseren
Private Sub Worksheet_Change(ByVal Target As Range)
If Not (Intersect(Target, Range("C2:C1000")) Is Nothing) Then
Target.Offset(, -2).Value = Target.Offset(-1, -2)
Target.Offset(, -1).Value = Target.Offset(-1, -1)
End If
End Sub
Je moet dan wel de cellen in kolom C ontveiligen(bij cel opmaak: laatste tab)
Ook zal je bij elke keer dat het bestand opent de macro's moeten toestaan
Hiervoor zal we wel steeds het blad moeten
Voor formule gewijs;
1 keer invullen op lijn 1
Formule in A2 =ALS($C2<>"";A1;"")
en doortrekken naar B2
Doortrekken naar aantal lijnen welke je wilt.
Ja
Dankjewel voor de toevoeging Jan R. Ik wil het echter niet al te gecompliceerd maken, dus vandaar dat ik me afvroeg of het automatisch kon. Echter, de truc van Henk (hierboven) met de snelkoppeling werkt prima. Ik heb de toetsencombinatie toegewezen aan ctrl+q. De letter q zit namelijk naast de TAB toets. Nu kan ik met m'n linkerhand gemakkelijk ctrl+q indrukken en vervolgens TAB om naar de volgende cel te gaan :)