Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1652to1656
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Datum umwandeln mit TextInSpalten VBA wirkungslos

Datum umwandeln mit TextInSpalten VBA wirkungslos
31.10.2018 12:41:02
Andreas
Hallo Herber Fans,
in Datenbankauszügen habe ich ab und an Datumsangaben drin, welche dann jedoch nicht korrekt als Datumswert in Excel übertragen werden. Erkennbar daran, dass diese im Autofilter Dropdown als 01.01.1980 erscheinen und nicht in der strukturellen Unterscheidung nach Jahr, Monat, Tag. Um diese automatisch über VBA zu ändern wollte ich zwei Verfahren, mit denen es manuell funktioniert, über VBA einsetzen.
1 Multiplikation mit dem Wert 1 aus der Zwischenablage
2 Text in Spalten, ohne angegebenes Trennzeichen oder dergleichen
Manuell liefern beide Verfahren korrekte Ergebnisse. Aber der Code mit dem Makrorekorder eins zu eins aufgezeichnet bleibt wirkungslos.
Habe ich einen Denkfehler oder sind diese Excelfunktionen von MS nicht korrekt in VBA abgebildet worden?
https://www.herber.de/bbs/user/125030.xlsm
In der beigefügten Datei habe ich in Modul 1 beide VBA Versionen der o.g. Verfahren
zum Testen hinterlegt.
Zur prinzipiellen Frage der Umwandlung: Wenn es en bloc nicht geht, dann würde ich alle Zellen einzeln loopen müssen. Das bekomme ich hin, aber es kostet gerade in ListObjects unangenehm Laufzeit.
Vielen Dank für Eure Rückmeldungen zu diesem Thema.
Beste Grüsse aus Berlin, Andreas Hanisch

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
23x gleicher Text als Datum? was soll das denn? oT
31.10.2018 13:13:59
Matthias
AW: 23x gleicher Text als Datum? was soll das denn? oT
31.10.2018 14:01:25
Andreas
Hallo Matthias,
vielen Dank für die qualifizierte Rückfrage. Ich habe das beispielhaft aus 200.000 Zellen kopiert ohne darauf zu achten möglichst abwechslungsreiche oder schöne Daten zu kredenzen. Ich war mehr mit der Sachfrage beschäftigt warum die VBA Aufzeichnung eines Befehls nicht funktioniert.
Hast Du bezüglich dieser Fragestellung denn eine Idee?
Grüsse, Andreas
AW: 23x gleicher Text als Datum? was soll das denn? oT
31.10.2018 14:20:30
Günther
Moin Andreas,
ich lade aus guten Gründen keine fremden Makro-behafteten Files herunter. Darum kann ich nur auf die Texte hier Bezug nehmen. - Aber wenn ich lese, dass es um 200.000 Datensätze geht, dann solltest du intensiv über Power Query nachdenken. Da hast du dann gewiss auch wesentlich weniger Performance-Probleme ...
Anzeige
AW: 23x gleicher Text als Datum? was soll das denn? oT
31.10.2018 14:46:00
Andreas
Hallo Günther,
das wäre eine Idee und wird perspektivisch für die grossen Datensets auch notwendig sein. Die kleineren bis ca. 80.000 Zeilen (50 Spalten) sind immer noch sehr flüssig in Excel zu bearbeiten. Ich versuche so wenig wie möglich unterschiedliche Softwaren einzusetzen. Excel ist halt immer noch ein sehr robustes Werkzeug mit hohem Verbreitungsgrad. Daher der Versuch, die Probleme so weit wie möglich dort zu lösen.
Viele Grüsse aus dem sonnigen Berlin, Andreas
AW: 23x gleicher Text als Datum? was soll das denn? oT
31.10.2018 15:01:03
Daniel
Hi
du hast in Excel / VBA häufig das Problem, dass in der Kommunikation mit dir dein Excel mit den Einstellungen der aktuellen Ländervariante arbeitet (wahrscheinlich deutsch) und daher bei der Umwandlung von Text in Zahl/Datum die deutschen Formate verwendet.
sobald aber die gleiche Aktion durch VBA ausgeführt wird, geht Excel von den internationalen (dh in de Regel amerikanischen) Formaten aus, unabhängig von deiner Ländereinstellung.
die Abhilfe wäre hier beispielsweise, dass du beim TEXT IN SPALTEN nicht die Standardwerte verwendest, sondern im Schritt 3 des Assistenten konkret die Vorgabe machst: "Datum mit TMJ"
gruß Daniel
Anzeige
Genau, dann kommt das unten Gezeigte raus! owT
31.10.2018 15:22:33
Luc:-?
:-?
Das ist ja nicht die OriginalAufzeichnung, ...
31.10.2018 14:51:39
Luc:-?
…Andreas,
denn die sieht etwas anders aus. In deinem Sinne minimal angepasst für Text-in-Spalten dann ggf so:
    With Range("A4:A26")
.TextToColumns Destination:=Range("A4"), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _
Semicolon:=False, Comma:=False, Space:=False, Other:=False, _
FieldInfo:=Array(1, 4), TrailingMinusNumbers:=True
End With
Die entscheidenden Unterschiede fallen dir auf…? ;-]
Gruß, Luc :-?
„Die Intelligenzmenge ist auf diesem Planeten eine Konstante, die Bevölkerung nimmt aber zu!“ Auch deshalb informieren mit …
Anzeige
AW: Das ist ja nicht die OriginalAufzeichnung, ...
31.10.2018 15:27:15
Andreas
Hallo Daniel, lieber Luc :-?
Ihr seid genial!
Aber der Reihe nach.
Der Unterschied, wie von Luc :-? gefragt, besteht in dem 'FieldInfo:=Array(1, 4)', welches in meinem Code auf (1,1) lautete. Aber das war tatsächlich die Originalaufzeichnung des Codes. Warum? Weil ich bis dato kaum, vielleicht sogar nie bis in den dritten Schritt des TextInSpalten Dialoges ging! Da mal weiter zu gehen, darauf hat mich Daniel gebracht. Und siehe da, den Code einmal mit der Option 'Datum mit TMJ' aufgezeichnet und schon lautet das Array auf (1,4) UND liefert bei Ausführung über VBA das gewünschte Ergebnis!
Das muss ich erstmal sacken lassen… Ich muss mir mal den dritten Schritt des TextinSpalten genauer ansehen und die Beschreibung von Microsoft durchlesen.
Ich habe es auch mal auf das absolute Minimum eingedampft:
With Selection: .TextToColumns Destination:=.Cells(1, 1), DataType:=xlDelimited, FieldInfo:=Array(1, 4): End With
Ersten Tests zufolge werden damit Zahlen zu Zahlen und Datum zu Datum. Und dies ganz ohne Schleife oder Multiplikation mit 1… Eine Zeile; stringent, kompakt, schnell, schön! Eure Rückmeldung hat gerockt!
Vielen, vielen Dank Euch Beiden für die Lösung und den Erkenntnisgewinn!
Beste Grüße aus Berlin, Andreas Hanisch
Anzeige
Bitte sehr, gern geschehen! ;-) owT
01.11.2018 14:35:47
Luc:-?
:-?

398 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige