Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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!
Antworten 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
Antworten Top
#3
(22.08.2019, 11: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:
Antworten Top


Gehe zu:


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