[excel]enorme hoeveelheid text groeperen

Pagina: 1
Acties:
  • 589 views sinds 30-01-2008
  • Reageer

  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
Ik ben dus nog steeds bezig om een grote hoeveelheid asksam-database's over te zetten naar excel, waar ik nu tegenaan loop is dat ik een hele lap tekst met de hand moet bewerken, de hele tijd kopieren , plakken speciaal , transponeren, als dat is gedaan daarna een formule maken zodat alle velden per regel samengevoegd worden... dit neemt enorm veel tijd in beslag.
Ik leg even de situatie uit:

ik heb dus een excel file met per document zo rondt de 10.000 regels,
per regel is alleen het eerste veld gebruikt.
Ik moet alle velden (regels) die bij elkaar horen (varieërend) transponeren zodat de bijelkaar horende velden naast elkaar komen te staan ipv onder elkaar.
Dit verschilt per keer, de ene keer 5 regels , de andere keer 2.. etc.
Als dat gedaan is in het hele document staat dus alles wat bij elkaar hoort naast elkaar , dan maak ik bij de eerste regel een formule op het 15e vakje of dergelijk omdat er nooit meer als bv 10 velden per regel gevuld zijn, ik maak dan dus een samenvoeg-formule die dan de max. 10 velden naast elkaar in een veld zet met spaties er tussen, dan doe ik de vulgreep om zo alle regels die formule te geven.

Nu is het dus elke keer eerst kijken welke regels bij elkaar horen, dan kopieren, dan plakken speciaal met transponeren , dan weer de volgende regel etc..
maar dat bij minst. 10.000 regels ..... dat is heeeel omslachtig...

Weet iemand hoe ik dit beter kan doen misschien?
Ik hoop dat ik het een beetje duidelijk heb uitgelegd..

Hieronder nog een screenshot

Afbeeldingslocatie: http://www.666angel.com/1.JPG

Hier zie je dus de tekst hoe het in het begin is ,
met de rode vierkanten laat ik dus zien wat bij elkaar hoort, wat ik dus
daarna per groep moet selecteren , kopieren , plakken speciaal ... etc..

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Hoe kan je 'automatisch' bepalen waar een stuk begin en eindigt. Want wat je hier schetst is makkelijk te automatiseren. :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • Tukk
  • Registratie: Januari 2002
  • Laatst online: 01-09 08:19

Tukk

De α-man met het ẞ-brein

Het 1e wat ik denk is VBA.

Als je toch kan detecteren wanneer een entry begint en eindigt, bijvoorbeeld:
• begin: Hoofdletter, zonder '-' en zonder spaties voor de zin
• einde: De regel boven het begin van de volgende entry

Dan kun je deze regel copy en pasten in VBA, zo loop je door het hele excelsheet heen.

[ Voor 8% gewijzigd door Tukk op 10-02-2004 15:28 ]

Q: How many geeks does it take to ruin a joke? A: You mean nerd, not geek. And not joke, but riddle. Proceed.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 15:24:
Hoe kan je 'automatisch' bepalen waar een stuk begin en eindigt. Want wat je hier schetst is makkelijk te automatiseren. :)
meestal is dat een regel zonder " - " aan het begin, maar dat is niet altijd jammer genoeg... :(

maar als je er van uit gaat dat wel alle regels die zonder een - beginnen een nieuwe groep is , hoe kan je het dan automatiseren, ik kan geen visual basic ofzo..

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 10 februari 2004 @ 15:28:
[...]

meestal is dat een regel zonder " - " aan het begin, maar dat is niet altijd jammer genoeg... :(

maar als je er van uit gaat dat wel alle regels die zonder een - beginnen een nieuwe groep is , hoe kan je het dan automatiseren, ik kan geen visual basic ofzo..
Tukk schreef op 10 februari 2004 @ 15:27:
• begin: Hoofdletter, zonder '-' en zonder spaties voor de zin
• einde: De regel boven het begin van de volgende entry

Klopt dit een beetje wat Tukk schetst?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 15:32:
[...]


[...]

Klopt dit een beetje wat Tukk schetst?
Bijna altijd wel ja, maar de mensen die de asksam database's moesten invullen zijn een beetje heel erg slordig geweest.. vaker fouten e.d.

maar bij sommige database's klopt wel alles, wat kan ik dan doen?
( hoe tukk het zegt )

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

• Neem eens een macro op (is helemaal niet eng): TOOLS | MACRO | RECORD NEW MACRO...
• Doe eenmaal de actie op een deel van de lijst.
• Stop de macro
• Ga met ALT + F11 naar de VBA Editor
• Bekijk je eigen gemaakte macro en post het resultaat hier

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


Verwijderd

@TS, de laatste keer kon je toch als csv exporteren ? Waarom doe je dat niet meer? Werkt het niet of is het 'doel pakket' veranderd ?

  • Pink Panther
  • Registratie: Juni 2003
  • Laatst online: 22:26
de macro opzich is het probleem niet denk ik, maar inderdaad zit hem het venijn in het probleem van bepalen wat begin/eind tekst is.

Je zou inderdaad kunnen proggen wat Tukk schreef, alleen in het getoonde voorbeeld ga je al de mist in op rij 18......

Aangezien ik ervanuit ga dat echt alle gegevens bijelkaar dienen te blijven lijkt het me dus niet zo heel eenvoudig om dit geautomatiseerd te krijgen,

  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
Verwijderd schreef op 10 februari 2004 @ 15:46:
@TS, de laatste keer kon je toch als csv exporteren ? Waarom doe je dat niet meer? Werkt het niet of is het 'doel pakket' veranderd ?
Dit komt uit de csv bestanden, maar nu is dus het probleem dat er in de database's een fout zat waardoor elke regel in het veld 'omschrijving' in de asksam-database wordt gezien als een aparte invoering zeg maar, dus bij exporteren krijg ik de omschrijving in velden onder elkaar, en daarin moet ik dus alle regels die bij elkaar horen in een veld zetten.. vandaar :)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Kan je nog even precies aangeven welke stappen je doet met een selectie. Ik heb nl. een ideetje om het te semi-automatiseren. :)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
Pink Panther schreef op 10 februari 2004 @ 15:49:
de macro opzich is het probleem niet denk ik, maar inderdaad zit hem het venijn in het probleem van bepalen wat begin/eind tekst is.

Je zou inderdaad kunnen proggen wat Tukk schreef, alleen in het getoonde voorbeeld ga je al de mist in op rij 18......

Aangezien ik ervanuit ga dat echt alle gegevens bijelkaar dienen te blijven lijkt het me dus niet zo heel eenvoudig om dit geautomatiseerd te krijgen,
iid... en om nou alles helemaal met de hand te doen is heeel veel werk...
dus ik hoop dat iemand een makkelijkere manier heeft of een oplossing :)
k heb al zo veel geprobeerd :D

  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 15:54:
Kan je nog even precies aangeven welke stappen je doet met een selectie. Ik heb nl. een ideetje om het te semi-automatiseren. :)
te gek , thanxz! :)

Hier de stappen :)

-1 velden selecteren die bij elkaar horen
-2 kopiëren kiezen
-3 naar het veld gaan waar het in geplakt moet worden
-4 plakken speciaal , met optie transponeren
-5 regels die geplakt zijn deleten

mocht dit niet uitgebreid genoeg zijn dan doe ik het even dmv bv. screenshots
en elke stap erbij wat ik precies doe :)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 10 februari 2004 @ 15:57:
[...]

te gek , thanxz! :)

Hier de stappen :)

-1 velden selecteren die bij elkaar horen
-2 kopiëren kiezen
-3 naar het veld gaan waar het in geplakt moet worden
-4 plakken speciaal , met optie transponeren
-5 regels die geplakt zijn deleten

mocht dit niet uitgebreid genoeg zijn dan doe ik het even dmv bv. screenshots
en elke stap erbij wat ik precies doe :)
Ok, hierbij mijn vragen :)
1. Waar worden de velden geplakt? Is dat altijd in kolom x?
2. Ik mis de concatenate functie. In welke kolom zet je die?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 16:01:
[...]


Ok, hierbij mijn vragen :)
1. Waar worden de velden geplakt? Is dat altijd in kolom x?
2. Ik mis de concatenate functie. In welke kolom zet je die?
1. Ik maak altijd bovenaan het document een paar lege regels ,
ik begin op regel 1 met de 1e groep zeg maar, 2e groep regel 2 , zo zeg maar door de hele tijd, er wordt ruimte gemaakt elke keer doordat ik dus de regels die ik heb gekopiëerd en getransponeerd heb geplakt verwijder na dus het plakken.

2. Dit is wel te doen met de hand, ik doe dit nadat alles per groep in een vakje in een regel staat zeg maar. ( dus als alle tekst is gedaan )

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 10 februari 2004 @ 16:06:
[...]


1. Ik maak altijd bovenaan het document een paar lege regels ,
ik begin op regel 1 met de 1e groep zeg maar, 2e groep regel 2 , zo zeg maar door de hele tijd, er wordt ruimte gemaakt elke keer doordat ik dus de regels die ik heb gekopiëerd en getransponeerd heb geplakt verwijder na dus het plakken.
Ik heb het niet over de rijen maar over stap 3 (van jou). In welke kolom plak je die gegevens: kolom B?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 16:10:
[...]

Ik heb het niet over de rijen maar over stap 3 (van jou). In welke kolom plak je die gegevens: kolom B?
Ik zal even uitleggen hoe ik het ongeveer doe aan de hand van het plaatje.

-1 Ik selecteer de eerste groep , beginnend met dus "Eenmalige uitkering" t/m "volgnrs. 9422 t/m 9477, 9479, 9480, 14319 en 14320." dus veld A3 t/m A8."

-2 Ik kies dan kopiëren

-3 Ik ga dan naar vakje A2

-4 Ik kies dan plakken met de optie transponeren

-5 Ik maak regel 3 t/m 8 leeg

-6 indien nodig verwijder ik een paar witte regels , zodat ik de nog niet gegroepeerde velden en de wel gegroepeerde velden kan zien

-7 ik doe dan het bovenstaande en plak dan de nieuwe groep in A3


ik hoop dat ik het goed heb uitgelegd :)

[ Voor 7% gewijzigd door 666AnGeL op 10-02-2004 16:23 ]


Verwijderd

666AnGeL schreef op 10 februari 2004 @ 15:52:
[...]

Dit komt uit de csv bestanden, maar nu is dus het probleem dat er in de database's een fout zat waardoor elke regel in het veld 'omschrijving' in de asksam-database wordt gezien als een aparte invoering zeg maar, dus bij exporteren krijg ik de omschrijving in velden onder elkaar, en daarin moet ik dus alle regels die bij elkaar horen in een veld zetten.. vandaar :)
Staat waarschijnlijk een cr/lf in dat veld, kan je dat niet via AskSam oplossen, deze (tijdelijk?) vervangen door een ander teken (bv. een # oid) ??

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Perfect. Laatste twee vragen:

1. In welke kolom komt die samenvoeg functie te staan?
2. Vind je het erg om de beginpunten te markeren als bold?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
Verwijderd schreef op 10 februari 2004 @ 16:24:
[...]


Staat waarschijnlijk een cr/lf in dat veld, kan je dat niet via AskSam oplossen, deze (tijdelijk?) vervangen door een ander teken (bv. een # oid) ??
Nee dat is niet de oplossing, heb met asksam europa en us een tijdje gecomminiceerd, maar die wisten alleen een oplossing waardoor ik nu dus met bovenstaand probleem zit.

  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 16:25:
Perfect. Laatste twee vragen:

1. In welke kolom komt die samenvoeg functie te staan?
2. Vind je het erg om de beginpunten te markeren als bold?
1. Bv. in vakje 10 of 15 bij elke regel , want als het goed is heeft een groep nooit meer als 9 velden.
2. Bedoel je dus bij elk veld dat het begin is van een groep de eerste letter bold te maken ofzo? Dat is wel veel werk? Of hoe bedoel je precies? :)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 10 februari 2004 @ 16:30:
2. Bedoel je dus bij elk veld dat het begin is van een groep de eerste letter bold te maken ofzo? Dat is wel veel werk? Of hoe bedoel je precies? :)
Hetgeen wat je wilt is bijna volledig te automatiseren, maar....


Jij kan geen eenduidige randvoorwaarde geven, waaruit bepaald kan worden wat een begin (of eind) is van een reeks. Dus dat kan je op twee manieren aanpakken:

1. Je maakt de data die het begin van een reeks aanduidt bold
2. Je selecteert de cellen die een reeks zijn.

In beide gevallen moet je als gebruiker, jij dus ;), zelf aangeven wat een reeks is.

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 16:33:
[...]

Hetgeen wat je wilt is bijna volledig te automatiseren, maar....


Jij kan geen eenduidige randvoorwaarde geven, waaruit bepaald kan worden wat een begin (of eind) is van een reeks. Dus dat kan je op twee manieren aanpakken:

1. Je maakt de data die het begin van een reeks aanduidt bold
2. Je selecteert de cellen die een reeks zijn.

In beide gevallen moet je als gebruiker, jij dus ;), zelf aangeven wat een reeks is.
Dan is het denk ik het minste werk om dus alle begin regels bold te maken?
dat is dan wel te doen :)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 10 februari 2004 @ 16:36:
[...]


Dan is het denk ik het minste werk om dus alle begin regels bold te maken?
dat is dan wel te doen :)
Tenzij je bij je export nog wat kan aangeven?

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 16:37:
[...]

Tenzij je bij je export nog wat kan aangeven?
dat is een idee ja , dat moet ik even navragen/nakijken.

Maar laten we zeggen dat bij alle 1e velden een # in het begin staat,
hoe kan ik het dan automatiseren?
( als het zo wel makkelijk te doen is ga ik er alles aan doen om het te kunnen exporteren vanuit asksam met een # bij elke eerste veld van een groep )
:)

  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
666AnGeL schreef op 10 februari 2004 @ 16:43:
[...]


dat is een idee ja , dat moet ik even navragen/nakijken.

Maar laten we zeggen dat bij alle 1e velden een # in het begin staat,
hoe kan ik het dan automatiseren?
( als het zo wel makkelijk te doen is ga ik er alles aan doen om het te kunnen exporteren vanuit asksam met een # bij elke eerste veld van een groep )
:)
mocht het niet mogelijk zijn om het bovenstaande te doen, dan
ga ik dus alle 1e regels bold maken, kun je me ook uitleggen hoe ik het dan kan oplossen.

Owja en alvast MEGA bedankt!! :)

Verwijderd

666AnGeL schreef op 10 februari 2004 @ 16:43:
[...]


dat is een idee ja , dat moet ik even navragen/nakijken.

Maar laten we zeggen dat bij alle 1e velden een # in het begin staat,
hoe kan ik het dan automatiseren?
( als het zo wel makkelijk te doen is ga ik er alles aan doen om het te kunnen exporteren vanuit asksam met een # bij elke eerste veld van een groep )
:)
Kan je niet via die export aangeven wanneer een record begint, bnv met een # ?

Je zou dan alle cr/lf's met een tooltje uit de export file kunnen laten halen, vervolgens alle # vervangen door een cr/lf en voila een schoon export bestand

offtopic:
Ik snap nog steeds niet waarom je dit niet overlaat aan de leverancier van het 'doelpakket', je bent nu al een maand aan 't proberen.

[ Voor 12% gewijzigd door Verwijderd op 10-02-2004 16:48 ]


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
Verwijderd schreef op 10 februari 2004 @ 16:46:
[...]


Kan je niet via die export aangeven wanneer een record begint, bnv met een # ?

Je zou dan alle cr/lf's met een tooltje uit de export file kunnen laten halen, vervolgens alle # vervangen door een cr/lf en voila een schoon export bestand

offtopic:
Ik snap nog steeds niet waarom je dit niet overlaat aan de leverancier van het 'doelpakket', je bent nu al een maand aan 't proberen.
ik probeer al vaker te vertellen dat in het formulier voor de asksam database een fout is gemaakt, hij ziet dus elke nieuwe regel in het omschrijving veld als een aparte invoering, als je het dan wil exporteren dan pakt ie dus alleen regel 1 en niet de rest..
Ik heb contact gehad met asksam eu en us en die hebben mij een oplossing gegeven om alles van omschr uit de database's te halen , maar dan komt wel elke regel apart in een veld in excel (onder elkaar dus)
De rest is goed geexporteerd , behalve omschr. dus , vandaar dit topic , ik wil dus alle ge-exporteerde omschr-velden groeperen die bij elkaar horen en dan
plakken in de excel file, dit is al gelukt in een paar database's..
andere oplossing is er niet ... of asksam zelf weten niet waar ze over praten..

over het offtopic:
Het is een opdracht van het bedrijf waar ik werk om alles over te zetten naar corsa arch.. het is afgesproken met de mensen van BCT dat ze alles opgeleverd krijgen in excel files , zodat hun het dan weer in Corse arch kunnen importeren....

Verwijderd

Aha, (2x) :)

Maar als je het op deze manier in Excel kan krijgen, kan je het dan niet op deze manier in een CSV ofzo krijgen, dus met omschrijving op meerdere regels?

Dan geldt mijn bovenstaande methode toch nog steeds?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 10 februari 2004 @ 16:45:
[...]

mocht het niet mogelijk zijn om het bovenstaande te doen, dan
ga ik dus alle 1e regels bold maken, kun je me ook uitleggen hoe ik het dan kan oplossen.

Owja en alvast MEGA bedankt!! :)
Ik maak het nu zodat er wordt gechecked op #. Ik moet alleen op dit moment weg. Aangezien vanavond laat wordt (03:00 uur), zal ik kijken of ik vanacht de code afmaak of morgenochtend...

Als je al een maand bezig bent, dan kan je gerust een avondje wachten ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 10 februari 2004 @ 17:38:
[...]

Ik maak het nu zodat er wordt gechecked op #. Ik moet alleen op dit moment weg. Aangezien vanavond laat wordt (03:00 uur), zal ik kijken of ik vanacht de code afmaak of morgenochtend...

Als je al een maand bezig bent, dan kan je gerust een avondje wachten ;)
geen probleem!! harstikke bedankt!!!

  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
:) en al iets gevonden ( ben nieuwsgierig :*) )

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 11 februari 2004 @ 12:04:
:) en al iets gevonden ( ben nieuwsgierig :*) )
Ben het nu aan het afmaken. Ik wilde vanochtend wel even uitslapen :O

[ Voor 41% gewijzigd door BtM909 op 11-02-2004 12:30 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 11 februari 2004 @ 12:05:
[...]

Ben het nu aan het afmaken. Ik wilde vanochtend wel even uitslapen :O
ow sorry ;) :)

over de update:

Ik ga even voor je kijken of dat mogelijk is ,
ik post zo of dat lukt :)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 11 februari 2004 @ 12:31:
[...]

ow sorry ;) :)

over de update:

Ik ga even voor je kijken of dat mogelijk is ,
ik post zo of dat lukt :)
Hoeft niet :) ik heb al een oplossing... Geef me 10 minuten ;)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 11 februari 2004 @ 12:34:
[...]

Hoeft niet :) ik heb al een oplossing... Geef me 10 minuten ;)
te gek!! _/-\o_

  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
nog niet gelukt? :)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Jazeker! Ik was alleen bezig met een aantal tests. Hiero werkt ie 5000 records in 5 seconden af, dus hij is redelijk snel. Het kan overigens zijn dat bepaalde code korter / efficienter kan, maar zo is het wellicht ook leerzaam voor jou.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' VBA code created by BtM909
' 11 February 2004
'
' This code will transpose the selection next to the first selected item.
' Besides that, there will be a concatenation of the first 10 columns.
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

Dim totaalRegels, eindReeks, teller, charPos As Integer

Sub shuffleCells()

Application.ScreenUpdating = False

    Sheets(2).Select
    Cells.Select
    Selection.ClearContents
    Range("A1").Select
    Sheets(1).Select
    Range("A1").Select

    totaalRegels = Sheets(1).Range("A1").End(xlDown).Row

    For teller = 1 To totaalRegels

        If ActiveCell.Value = "" Then
            Range("A1").Select
            GoTo bijnaKlaar
        End If

        eindReeks = 1

        ActiveCell.Offset(1, 0).Select

        While InStr(ActiveCell.Value, "#") < 1 And ActiveCell.Value <> ""
            ActiveCell.Offset(1, 0).Select
            eindReeks = eindReeks + 1
        Wend
        
        Range("A1", "A" & eindReeks).Select
        Selection.Copy

        Sheets(2).Range("A" & teller).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
            False, Transpose:=True

        Selection.EntireRow.Delete

    Next teller

bijnaKlaar:

    'Zet de data weer op de originele plek
    Sheets(2).Select
    Cells.Select
    Selection.Cut
    Range("A1").Select
    Sheets(1).Select
    Cells.Select
    ActiveSheet.Paste

    'Haal de extra character weg
    Columns("A:A").Select
    Selection.Replace What:="#", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Range("A1").Select

    ' Maak alles na 10 kolommen leeg en zet de concatenate functie in kolom 11
    Columns("K:K").Select
    Range(Selection, Selection.End(xlToRight)).Select
    Selection.ClearContents
    Range("L1").Select

    ActiveCell.FormulaR1C1 = _
        "=CONCATENATE(RC[-11],RC[-10],RC[-9],RC[-8],RC[-7],RC[-6],RC[-5],RC[-4],RC[-3],RC[-2])"
    Selection.Copy
    Range("L2:L" & totaalRegels).Select
    ActiveSheet.Paste
    Range("A1").Select

Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub


Een aantal dingen zijn belangrijk. De rauwe data moet op sheet 1 staan. Sheet 2 wordt tijdelijk gebruikt om de data te transformeren.

Daarnaast dien je de code als volgt toe te voegen:

• Sla bovenstaande code op als shuffle.bas
• Open de te importeren file
• ALT + F11
• Zorg dat je Project Explorer (CTRL+R) zichtbaar is
• Selecteer in de Project Explorer je Excel document
• Rechtermuisknop | IMPORT ...
• Selecteer shuffle.bas

Vanaf dit moment kan je in je import file de Macro shuffleCells uitvoeren via: TOOLS | MACRO's | MACRO's...

disclaimer: uiteraard geheel op eigen risico uitvoeren ;)

[ Voor 40% gewijzigd door BtM909 op 11-02-2004 14:29 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
ik ga het uitproberen, alvast harstikke bedankt voor de moeite!!! :)
:Y)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Hieronder een korte uitleg van bovenstaande code:
  1. Het updaten van het scherm wordt uitgezet: snelheidswinst
  2. Sheet 2 wordt leeggemaakt en de begincellen worden geselecteerd
  3. In totaalRegels komt het aantal regels die geprocessed moeten worden
  4. Vervolgens wordt er gechecked of het veld leeg is (anders liep de code oneindig door).
  5. Is het eerste veld niet leeg, dan wordt er gezocht naar de eerstvolgende cel met een # erin
  6. Aan de hand van de row, kan ik bepalen welke reeks getransponeerd moet worden op sheet2
  7. Uiteindelijk beland ik op een lege regel (en is de eerste cel leeg). Hierdoor ga je naar het sub-gedeelte bijnaKlaar
  8. Dit gedeelte cut en paste het hele stuk weer naar sheet1
  9. Die extra teken wordt weggehaald (waar nodig).
  10. Kolom 11 en verder worden leeggemaakt
  11. Kolom 12 krijgt een samenvoeg functie
  12. Updaten van het scherm wordt weer aangezet
  13. The End! :)

[ Voor 6% gewijzigd door BtM909 op 11-02-2004 14:16 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
Het werkt perfect, alleen het samenvoegen doet ie niet goed , maar dat probeer ik wel even aan te passen :)
Ik ga even kijken hoe het op een echte export werkt, heb net alleen ff op wat kleine stukken uit de database getest.
Ik laat wel weten hoe het gaat.

Alvast mega mega bedankt!!!!!!!!!! :)
:Y)

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

666AnGeL schreef op 11 februari 2004 @ 14:27:
Het werkt perfect, alleen het samenvoegen doet ie niet goed , maar dat probeer ik wel even aan te passen :)

Alvast mega mega bedankt!!!!!!!!!! :)
:Y)
Wat werkt er niet precies aan het samenvoegen dan :?
edit:

Ah,wacht ik weet het al... Ik heb die functie gemoved van kolom K naar L, dus die relatieve verwijzingen kloppen niet. Even aanpassen :P

[ Voor 21% gewijzigd door BtM909 op 11-02-2004 14:29 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 11 februari 2004 @ 14:28:
[...]

Wat werkt er niet precies aan het samenvoegen dan :?
edit:

Ah,wacht ik weet het al... Ik heb die functie gemoved van kolom K naar L, dus die relatieve verwijzingen kloppen niet. Even aanpassen :P
Nog een vraagje, hoe kan ik zorgen dat er spaties gezet worden tussen de cellen die samengevoegd worden, ik weet dat dat bij excel dit is -->
=TEKST.SAMENVOEGEN(A1;" ";B1;" ";C1;" ";D1;" ";E1;" ";F1;" ";G1;" ";H1;" ";I1;" ";J1)

Hoe kan ik het in de .bas krijgen?

Hier ergens?:
code:
1
2
3
4
5
6
    ActiveCell.FormulaR1C1 = _
        "=CONCATENATE(RC[-11],RC[-10],RC[-9],RC[-8],RC[-7],RC[-6],RC[-5],RC[-4],RC[-3],RC[-2])"
    Selection.Copy
    Range("L2:L" & totaalRegels).Select
    ActiveSheet.Paste
    Range("A1").Select

[ Voor 15% gewijzigd door 666AnGeL op 11-02-2004 14:59 . Reden: tiepvout ]


  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Als je nou eens het volgende doet:

• Neem een macro op
• Tijdens het opnemen doe je de 'wizard' om de samenvoeg functie toe te voegen
• Stop de macro en bekijk de code die aangemaakt is
• Als je die bekijkt dan zie je meteen hoe je mijn code moet aanpassen om het werkend te krijgen

:)

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
BtM909 schreef op 11 februari 2004 @ 15:22:
Als je nou eens het volgende doet:

• Neem een macro op
• Tijdens het opnemen doe je de 'wizard' om de samenvoeg functie toe te voegen
• Stop de macro en bekijk de code die aangemaakt is
• Als je die bekijkt dan zie je meteen hoe je mijn code moet aanpassen om het werkend te krijgen

:)
Goed idee ;)

Thanxz voor alle hulp!!!!

  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
het is gelukt ( spaties toevoegen in de macro )

zie dit:

code:
1
"=CONCATENATE(RC[-11],"" "",RC[-10],"" "",RC[-9],"" "",RC[-8],"" "",RC[-7],"" "",RC[-6],"" "",RC[-5],"" "",RC[-4],"" "",RC[-3],"" "",RC[-2])"

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

psies ;)

Succes verder he

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • 666AnGeL
  • Registratie: September 2001
  • Laatst online: 17-11-2023
many many thanxz!!!!!!!!!!!!!!!!!!!!!!!
Pagina: 1