• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Over een kolom tekstdata converteren naar datum en vervolgens zoeken

Status
Niet open voor verdere reacties.

Winterkoning

Gebruiker
Lid geworden
16 jun 2007
Berichten
214
Kolom met tekst converteren naar getal, vervolgens maximaal bepalen

Sorry voor de onduidelijke titel maar ik weet niet hoe ik het moet omschrijven.

Ik heb een kolom met gegevens waar onder andere in tekst data in staan, daar heb ik een formule voor gemaakt zodat ik kan zoeken naar de minimale en de maximale waarden. Omdat de minimale of maximale datum 1 gegeven is gebruik ik een matrix formule. Echter, als er lege cellen of cellen met een andere inhoud dan mijn datum in zitten gaat het mis. Wat kan ik daar tegen doen? Zie ook mijn voorbeeld bestand.

Alvast bedankt voor de hulp!
 

Bijlagen

Laatst bewerkt:
Winterkoning, Waarom maak je het jezelf in 1e instantie zo moeilijk door niet gewoon in kolom E en K een echte datum op te geven? Die kan je dan eventueel nog via je celopmaak aanpassen naar een bepaald format. Dan hoef je volgens mij ook die matrixfomule niet te gebruiken en komt de oplossing op je probleem vanzelf....

Groet, Leo
 
Winterkoning, Waarom maak je het jezelf in 1e instantie zo moeilijk door niet gewoon in kolom E en K een echte datum op te geven? Die kan je dan eventueel nog via je celopmaak aanpassen naar een bepaald format. Dan hoef je volgens mij ook die matrixfomule niet te gebruiken en komt de oplossing op je probleem vanzelf....

Groet, Leo


Leo,

Ik weet dat ik het mezelf moeilijk maak maar het is een uitvoer die ik standaard uit een programma krijg waar ik maar mee moet zien te werken, vandaar... Vervelend maar onvermijdelijk.
Ik denk dat ik een heel eind ben met mijn formule maar ik hoop dat iemand me nog kan helpen met de laatste stappen.
Als ik op de een of andere manier een macro zou kunnen maken die die tekst zou omzetten naar een datum format zou dat ook mooi zijn dus misschien dat ik me daar even in moet verdiepen.

groet,

Winterkoning
 
Beste Winterkoning ;)

Zie bestandje met de volgende wijzigingen.

Heb 4 hulptabellen gebruikt om de tekst om te zetten naar datum en dan met een eenvoudige formule de MAX datum uit de kolom te halen.

Daarna kan je kolom F,G,H en, I verbergen als het moet, alsook P,Q,R en S.
Kolom J vervangt dan kolom E en kolom T vervangt O.

Groetjes Danny. :thumb:
 

Bijlagen

Hier ook nog een oplossing van mijn kant.
Ik heb alleen gebruik gemaakt van 1 hulprijtje met de 12 maanden.
De formule in de gele cel is een matrix formule. In de cel eronder staat dezelfde uitkomst, met de eigenschappen zo, zodat dit er hetzelfde uitziet als de andere data/tekst.
 

Bijlagen

Laatst bewerkt:
Och, dan kom ik nog maar met een VBA-oplossing...:D
Selecteer je kolom met 'om te zetten datums' en run de code.
Code:
Sub MaakDatum()
Dim c As Range
Dim varDatum As Variant

    For Each c In Selection
'        If IsDate(c.Value) Then
            varDatum = Split(WorksheetFunction.Trim(c.Value), " ")
            On Error Resume Next
            c.Value = DateValue(varDatum(0) & "/" & varDatum(1) & "/" & varDatum(2))
            On Error GoTo 0
'        End If
    Next c

End Sub
De foutafhandeling is ff quick and dirty (omdat het niet goed lukte met een if-statement), maar hierdoor worden lege cellen of niet tot datum converteerbare cellen overgeslagen. Zo kan je je formule om de hoogste datum te zoeken sterk vereenvoudigen.;)

Groet, Leo

P.s. Voor de belangstellenden... Ik heb de Trim-functie expres uit de worksheetfunction collectie genomen omdat die WEL alle tussenliggende spaties tot 1 reduceert!
 
Hetzelfde resultaat

Code:
Sub MaakDatum()
  on error resume next
  For Each c In Selection
    c=datevalue(c)
  Next
End Sub
 
Laatst bewerkt:
Snb, Ik wist niet dat de functie 'DateValue' ZO krachtig was, dat 'ie zelf wel uitzoekt wat wat is... Het hele vullen van de Array is dus inderdaad overbodig! Bij het testen van je code viel het me wel op dat je 'c' nog wel als Range moet declareren, anders doet 'ie niets (foutafhandeling moet ook nog om te voorkomen dat de code knalt op een lege cel of ander type inhoud).
Dank voor je aanvulling.

Groet, Leo
 
Zonder option explicit loopt ie zonder declaratie als een zonnetje.
(VBA is niet achterlijk; for each is een impliciete declaratie).
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan