Text in Spalten Funktion von Excel nicht merken lassen
#1
Hallo zusammen,

einigen wird dieses Problem evtl schon bekannt sein.

Wenn man Excel neu geöffnet hat und Daten aus einer CSV einfügen möchte, benutzt man gerne die Funktion Text in Spalten.
Sobald ich die nächste Daten einer CSV (oder andere Dateien) einfüge wird dies Automatisch nach dem selbem Text in Spalten Schema umgewandelt.

An sich eine nützliche Funktion, jedoch nicht für jeden Verwendungszweck geeignet.

Ich habe den Fall, dass ich die CSV erstmal in Wordpad öffne, die Daten mit strg + A markiere und in Excel kopiere, danach verwende ich die Text in Spalten Funktion und habe die Daten richtig sortiert.
Wenn ich jetzt die nächsten Daten der CSV über Wordpad kopiere und einfüge wird automatisch Text in Spalten formatiert, jedoch kommen hierbei Zahlenfehler vor. Es werden dann einige Preise als Datum wieder gegeben etc. 

Momentan muss ich alle Excel Mappen schließen und öffnen bevor ich wieder Text in Spalten korrekt verwenden kann.

Als alternative habe ich versucht, die CSV über "Daten abrufen und transformieren"  -> "Aus Text/CSV" -> Datei auswählen -> "Dateiursprung" auf "--Keine--" stellen -> "Trennzeichen" auf "--Benutzerdefiniert-- einstellen -> "Datentyperkennung" auf "Datentypen nicht ermitteln" stellen und zum Schluss -> "Laden in" auswählen und in das Bestehende Arbeitsblatt als Tabelle einfügen. Jetzt wo die Werte im gewünschten Format sichtbar sind, kopiere ich mir die Daten und füge diese als Werte in einen Unformatierteren bereich ein um meine Sverweise zu verwenden.

Problem hierbei ist, dass die Datei jetzt unter Abfragen und Verbindungen an diese Excel gekoppelt ist und ich diese jedes mal wieder händisch herauslöschen muss. Mit VBA und Makro aufzeichnen funktioniert dieser händische Löschprozess leider nicht. (nimmt das Makro leider nicht auf)

Da ich so zu keiner Automation komme, benötige ich eure Hilfe.

Falls ich mich etwas kompliziert ausgedrückt habe, gebt mir bitte Bescheid. Ich versuche es dann nochmal anders zu erklären.

Danke!
Top
#2
Hallo,

teste mal mit diesem Code:

Code:
Sub Makro1()
'

    With Range("A1:A2")
        .Clear
        .Value = "a b"
        .TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
        :=Array(1, 1), TrailingMinusNumbers:=True
    End With
End Sub

Der Code setzt die Parameter von Text-in-Spalten zurück und müßte vor deinem 2. copy/paste ausgeführt werden (z.B. per keyboard-shortcut)

Falls der Range("A1:A2") benötigt würde, kann das auch in einen anderen Bereich ausgeführt werden.

mfg
Top
#3
(22.08.2019, 12:33)Fennek schrieb: Hallo,

teste mal mit diesem Code:

Code:
Sub Makro1()
'

   With Range("A1:A2")
       .Clear
       .Value = "a b"
       .TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _
       TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
       Semicolon:=False, Comma:=False, Space:=False, Other:=False, FieldInfo _
       :=Array(1, 1), TrailingMinusNumbers:=True
   End With
End Sub

Der Code setzt die Parameter von Text-in-Spalten zurück und müßte vor deinem 2. copy/paste ausgeführt werden (z.B. per keyboard-shortcut)

Falls der Range("A1:A2") benötigt würde, kann das auch in einen anderen Bereich ausgeführt werden.

mfg
Vielen Dank für die Idee.

Das ist schon mal ein richtiger schritt in die richtige Richtung!

Hab da jetzt ein Tastenkürzel verbunden und man kann so gut arbeiten.

Jetzt muss ich mir nur noch überlegen wie ich das automatisiere.

Danke und bis zum nächsten mal  :15:
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste