Hoe kan ik mbv een macro een tabel opsplitsen naar 2 kolommen

Dag,

Ik heb een blok tekst dat is opgebouwd volgens het stramien: <woord CRLF uitleg CFLF> en dat N maal herhaald. Deze tekst wil ik op de volgende manier converteren naar een tabel van 2 kolommen en N/2 regels

A
B
C
D

=>

A |B
-----
C |D

Converteren van de tekst naar een tabel en het vervolgens invoegen van een kolom gaat probleemloos. Om het aantal muisbewegingen te beperken voeg ik de kolom links in,
Wanneer ik echter een macro opneem met achtereenvolgens de volgende handelingen (in de uitgangspositie staat de cursor in veld 1:2):

- selecteer tabelveld 1:2 (eerste regel, 2e kolom)
- knip het geselecteerde veld (Ctrl-X)
- verplaats cursor naar veld 2:1
- plak(Ctrl-V)
- Verplaats cursor naar veld 3:2

Dan blijft veld 2:1 leeg maar de cursor wordt wel verplaatst naar veld 3:2

Ik heb 2 vragen:

  • Wanneer ik de macro ga bewerken herken ik wel de opdrachten voor de muisbewegingen en cut/paste maar ik zie niets wat lijkt op het selecteren van de inhoud van het te verplaatsen veld. Hoe moet die opdracht eruit zien?
  • Hoe kan ik het uitvoeren van de macro koppelen aan een toetscombinatie?

(Dit is mijn eerste macro dus voor mij is het ook zoeken naar de benodigde informatie)

Ben

Ik weet niet of een macro wel de gewenste oplossing is. Ik denk dat ik zou kiezen om de tabel in Calc om te werken naar de gewenste indeling.
Je kunt dan gebruik maken van alle functie die calc heeft. Ik denk dan aan het rij nummer, of het rij even of oneven is. Ik heb er ook een voorbeeld bij gedaan.
re-order-table-Herschik-tabel.ods (9.9 KB)

Dit werkt dus als een speer. Daarvoor alvast bedankt.

Na het sorteren van het resultaat op kolom B blijkt dat er heel veel dubbelingen zijn (was te verwachten).
Sorteren in het “Doel”-blad bleek problemen te geven (nadat de eerste dubbeling was gevonden werd de rest van het blad gevuld met onzin). Daarom heb ik eerst een nieuw blad “Gesorteerd” aangemaakt, dat gevuld met het resultaat van “Doel” en vervolgens gesorteerd. In een laatste blad heb ik vervolgens de dubbelingen beppaald en weggehaald. zie ook
NHK-words_short.ods (32.9 KB)

Deze aanpak werkt maar is niet echt mooi.
Heb je ook hiervoor suggesties?

Ben

Er zijn naar mijn idee twee mogelijke oplossingen

  • Maak gebruik van filteren
  • Maak gebruik van een Pivot-table, draai-tabel.

Filteren

Het filteren commando staat onder gegeven of Data in het Engels.

  • In de dialoog voor het filteren moet je eerst een veld kiezen en daarna aangeven dat het veld gelijk moet aan niet leeg
    bijvoorbeeld : Kolom A = niet leeg
  • in de zelfde dialoog de Optie mogelijkheid uitklappen. In het dan getoonde deel kiezen voor : geen duplicaten.

Naar Writer

*Kopieer getoond tabel
*Gebruik Ctrl-V voor plakken
*Kiezen voor ket invoegen “niet opgemaakte tekst” .
*Selecteer net ingevoegde tekst
*kiezen menu → Tabel → Convert to Table
*Kies hier dat het tab-Character is het scheidingsteken

  • Het lijkt er op dat het invoegen gelijk voor het gebruik van een draaitabel of filteren
  • Ik heb het doelblad nu gefilterd maar dat is niet automatisch. Het is niet moeilijk maar vergt enige kennis en oefening. Het wordt ook uitgelegd in de help file. Ik zou sorteren pas in Writer doen.

NHK-words_short_RPG.ods (31.8 KB)