Tekst uit cel omzetten (Excel)

Status
Niet open voor verdere reacties.

conceal

Gebruiker
Lid geworden
29 mrt 2007
Berichten
73
Hi

In een Excel-sheet heb ik een kolom en in de cellen staat telkens de volgende datum en tijd in de vorm van tekst. Elke keer staat het in de volgende vorm: "maand dag, jaar - tijd", voorbeeld: augustus 25, 2005 - 14:26. Is er een manier waarop ik deze tekst kan opdelen, wegschrijven en ervoor kan zorgen dat datum in een andere cel (van dezelfde rij komt te staan) en hetzelfde voor de tijd. Alvast bedankt!!!

Groet,
Maikel
 
wat dacht je van
=LINKS(A1;VIND.SPEC("-";A1;1)-2) voor de datum
en
DEEL(A1;VIND.SPEC("-";A1;1)+2;LENGTE(A1)) voor de tijd
 
Mooie oplossing... maar kan het ook anders?

Hi Wilbert,

De oplossing vind ik wel mooi, ik wist niet dat zoiets kon. :thumb: Maar het probleem is dat de cel dan gevuld wordt met de datum als tekst en ik hier geen datum van kan maken, juist vanwege de opmaak. Het liefst wil ik naar een 25-08-2006 notatie toe. Is er een andere manier die dit mogelijk maakt? Of vergeet ik iets? Alvast bedankt!

Groet,
Maikel
 
Maikel,

heb je al rechts op het veld geklikt en met celeigenschappen => number => datum het gewenste formaat gezet?
Of staat er tekst in de cellen. Wellicht kan je een voorbeeld posten?

Groet
Ron
 
Hi Ron,

Zoals gevraagd... een voorbeeld... Ik hoop dat je ermee uit de voeten kunt! Alvast bedankt!

Groet,
Maikel
 

Bijlagen

Hallo Maikel,

zonder VBA lukt het ook

Ik heb eerst de de velden in kolom A gescheiden: Data => Tekst naar Kolommen en dan scheiden op spaties.

Vervolgens de naam van de maand omgezet naar een nummer (wel wat gekunsteld vind ik zelf, maar het werkt) Resultaat is in kolom F.

En daarna met de Datum functie de datum gecreeerd, deze staat in kolom G en die kan je ieder formaat geven wat je wilt.

Succes verder
Ron
 
Laatst bewerkt:
Hi Ron,

Op zich vind ik het wel aardig, maar ik zie in de tabel dat je de tekst opgesplitst hebt. Dit zou kunnen op de manier zoals Wilbert aangaf. En later zou ik dit dan eventueel op zo'n dergelijke wijze kunnen koppelen zodat ik inderdaad de datum krijg. Ik vind dit echter veel werk en dit zorgt voor veel gevulde cellen... :( Is er echt geen oplossing die minder stappen vereist?

Groet,
Maikel
 
Hi Maikel,

hier is een oplossing die er ook wel aardig uitziet. Omdat maart als tekst staat zijn er extra stappen nodig dat om te zetten naar 3. Ik heb het op mijn manier opgelost; wellicht zijn er nog andere methodes.

Er is nu per rij een oplossing; voor de overzichtelijkheid heb ik een aantal kolommen verborgen.

Groet
Ron
 
Laatst bewerkt:
nieuwe function toevoegen

hoi als je deze function toevoegd kost het maar een kolom

Code:
Function mijnDatum(tekst As String) As Date
    tijd = Right(tekst, 5)
    zonderStreepje = Replace(tekst, "-", "")    'dat streepje moet weg anders doet hij het niet
    mijnDatum = DateValue(zonderStreepje) + TimeValue(tijd)
End Function

deze function moet je en een nieuwe module plakken

daarna daarna kun je hem gewoon in je cellen gebruiken
vergeet niet je celeigenschappen op de datum te zetten
of gebruik een aangepaste opmaak

ps ik heb een nederlandse versie van Exel als je de engelse versie hebt weet ik niet of het werkt vanwege de andere maand-namen

ik heb geen zipper anders had ik hem wel opgestuurd
 
Hi Sylvester-Ponte,

Hoewel ik de Engelse versie heb, lijkt me dat nog niet zo'n probleem. Het vreemde is echter dat zodra ik het programma probeer te draaien, deze de functie 'Replace' niet kent. Dit terwijl ik deze wel kan gebruiken in de worksheet zelf. Waar dit aan ligt snap ik niet. Ik zal proberen het te achterhalen...

Groet,
Maikel
 
Replace...

Hi Sylvester-Ponte,

Het probleem is mooi... of ja, ik weet waar het aan ligt. Ik ben een van de weinige ('gelukkige') gebruikers van Excel 97 en die kent het commando "Replace" nog niet... De programmeertaal die je me stuurde werkt perfect, ik moet alleen het 'replace' gedeelte proberen te herschrijven...

Groet,
Maikel
 
Hi Sylvester-Ponte,

Je code heb ik voorgelegd aan iemand anders en die wist wat ik moest veranderen om het werkend te krijgen in Excel 97. Echt super bedankt voor je hulp!!! :thumb: Dit is de code die ik nu uiteindelijk gebruik:

Code:
Function myDate(tekst As String) As Date
    tijd = Right(tekst, 5)
    zonder = Application.Replace(tekst, Application.Find("-", tekst) - 1, 99, "")
    myDate = DateValue(zonder) + TimeValue(tijd)
End Function

Groet,
Maikel
 
Hallo Sylvester

Dit heeft voor mij ook weer wat mogelijkheden geschapen

Bedankt
Ron
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan