Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[EXCEL 2007] tekst naar kolom

Pagina: 1
Acties:

  • Hopjesvla79
  • Registratie: Februari 2007
  • Nu online
volgende:

heb een kolom met veel gegevens:

emPAI:3.98 bladibla did bla did balbla
emPAI:1.72 hsdjkfh sdfsd wejeje
emPAI:3.91 jewjwejfkljwelkfjweklfwejfkl klkl f
emPAI:1.57 kwerlfwefkwefk fwekf
emPAI:1.62 132bkjsd8 231
dsfjsdjksdf 1232jjkljjljlkk
emPAI:1.11 sdvmsdmvsd 121267nfsdmf
2-dsflsd sdfsdfsd;f
etc etc.


nu wil ik het volgende:

van deze kolom wil ik in een nieuwe kolom alle getallen die achter de naam emPAI staan (maar zonder de naam emPAI) en in een volgende kolom de rest van de celinhoud. in deze 2e kolom komen ook de cellen te staan zonder emPAI. Zodat hetgeen er zo uit komt te zien:

Kolom 1 ------ Kolom 2
3.98 ------ bladibla did bla did balbla
1.72 ------ hsdjkfh sdfsd wejeje
3.91 ------ jewjwejfkljwelkfjweklfwejfkl klkl f
1.57 ------ kwerlfwefkwefk fwekf
1.62 ------ 132bkjsd8 231
___ ------ dsfjsdjksdf 1232jjkljjljlkk
1.11 ------ sdvmsdmvsd 121267nfsdmf
___ ------ 2-dsflsd sdfsdfsd;f


dit alles moet in een macro komen waarbij het aantal regels variabel is, max 10000, Aangezien ik de ene keer zeg maar 25 regels heb, de andere keer 7865..


Hoe lukt me dit?

Hi Ha Hopjesvla


  • Big Womly
  • Registratie: Oktober 2007
  • Laatst online: 01-09 13:39

Big Womly

Live forever, or die trying

Iets in deze stijl...
code:
1
2
3
4
5
6
7
8
do while Len(activesheet.cells.range("A" & row).text) > 0
  if activesheet.cells.range("A" & row).text like "emPAI*" then
    'Splitsen via left, right en mid
  else
    'niets splitsen en direct de .values van de juiste cellen invullen met de juiste waarden
  end if
  row=row+1
loop

[ Voor 6% gewijzigd door Big Womly op 28-04-2008 16:28 ]

When you talk to God it's called prayer, but when God talks to you it's called schizophrenia


  • Hopjesvla79
  • Registratie: Februari 2007
  • Nu online
mmm, mijn kennis van macro's is dan weer niet zo top...
Wanneer ik dit plak in VB, dan krijg ik een error in de eerste regel..

Hi Ha Hopjesvla


  • Haan
  • Registratie: Februari 2004
  • Laatst online: 08:30

Haan

dotnetter

Hopjesvla79 schreef op dinsdag 29 april 2008 @ 13:08:
mmm, mijn kennis van macro's is dan weer niet zo top...
Wanneer ik dit plak in VB, dan krijg ik een error in de eerste regel..
Wat vaak goed werkt als je er niet zoveel verstand van hebt, is een macro opnemen en dan de source daarvan bewerken. Wat in bovenstaande voorbeeld bijvoorbeeld mist is het declareren van een functie, dat kan je dan mooi 'afkijken' van de net opgenomen macro.

Kater? Eerst water, de rest komt later


  • Krypt
  • Registratie: April 2000
  • Laatst online: 23-11 16:48
Dat kom vast omdat 'row' dan 0 is.
Even row=1 voor de do zetten en nogmaals proberen.

Als je wel een andere taal beheerst, zou je de sheet kunnen exporteren naar CSV en dan moet je andere taal de file uitsplitsen. (Bijv. met VBS, batch of zelfs php)

[ Voor 49% gewijzigd door Krypt op 29-04-2008 13:15 ]

Pvouput live


  • Jig
  • Registratie: Mei 2003
  • Laatst online: 29-11 10:34

Jig

Ribbon > Data > Data Tools > Text to columns

Klaarrrr zonder scripting.

  • Hopjesvla79
  • Registratie: Februari 2007
  • Nu online
Jig schreef op dinsdag 29 april 2008 @ 13:15:
Ribbon > Data > Data Tools > Text to columns

Klaarrrr zonder scripting.
dan begrijpt je toch niet echt wat ik bedoel...
Was het maar zo eenvoudig aangezien ik maar 2 kolommen nodig heb, een gedeeltye van een cel wil verwijderen (het woord emPAI), de waarde van emPAI in een kolom en de rest wat achter de waarde staat in de andere kolom. Komt nog bij dat cellen zonder de emPAI waarde meteen in kolom 2 moeten komen...
Haan schreef op dinsdag 29 april 2008 @ 13:11:
[...]

Wat vaak goed werkt als je er niet zoveel verstand van hebt, is een macro opnemen en dan de source daarvan bewerken. Wat in bovenstaande voorbeeld bijvoorbeeld mist is het declareren van een functie, dat kan je dan mooi 'afkijken' van de net opgenomen macro.
klopt, maar zelf handmatig is het best een bewerkelijk klusje, ik ben dan ook op zoek naar iets universeel zodat het toepasbaar is op een variabel aantal rijen.

Hi Ha Hopjesvla


Verwijderd

wat Jig zegt klopt toch wel. eerst gedelimiteerd splitsen op de dubbele punt en daarna op de spatie.

  • Mandurang
  • Registratie: September 2004
  • Laatst online: 31-10-2016
1 kolom ernaast met de formule:
=ALS(DEEL(A1;1;5)="emPAI";DEEL(A1;7;4);"")
2e kolom ernaast met de formule:
=ALS(DEEL(A1;1;5)="emPAI";DEEL(A1;12;1000);A1)

  • Jig
  • Registratie: Mei 2003
  • Laatst online: 29-11 10:34

Jig

Met find/replace kom je ook een heel eind... Je moet niet te moeilijk denken.

  • Mandurang
  • Registratie: September 2004
  • Laatst online: 31-10-2016
Jig schreef op vrijdag 02 mei 2008 @ 09:43:
Met find/replace kom je ook een heel eind... Je moet niet te moeilijk denken.
Maar ook niet te makkelijk. Zo kun "emPAI" er misschien uitslopen, maar zo heb je de waarde die erachter staat nog niet geisoleerd in een aparte kolom!

  • Hopjesvla79
  • Registratie: Februari 2007
  • Nu online
Mandurang schreef op donderdag 01 mei 2008 @ 14:48:
1 kolom ernaast met de formule:
=ALS(DEEL(A1;1;5)="emPAI";DEEL(A1;7;4);"")
2e kolom ernaast met de formule:
=ALS(DEEL(A1;1;5)="emPAI";DEEL(A1;12;1000);A1)
Top! _/-\o_ Dit werkt perfect! Thanks!

Hi Ha Hopjesvla

Pagina: 1