Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Text in Spalten Makro Text in Spalten

Forumthread: Text in Spalten Makro Text in Spalten

Text in Spalten Makro Text in Spalten
12.08.2002 15:47:33
Folker
Wahrscheinlich kennt jeder das leidige Problem, dass Excel in manchen Zellen den Wert der in ihnen steht nicht richtig erkennt, also man weder ein Format zuweisen noch mit ihnen rechnen kann. Ich löse dieses Problem über Text in Spalten -> Feste Breite. Wenn die Breite den gesamten Text einfasst kommt als Ergebnis die gleiche Spalte raus nur mit brauchbaren Daten, quasi geglättet.
Nun zum Problem. Wenn man das manuell ausführt funktioniert es einwandfrei. Nun will ich das aber automatisch durchführen. Wenn man die Funktion aufzeichnet
Selection.TextToColumns Destination:=Range("S1"), DataType:=xlFixedWidth, _
FieldInfo:=Array(0, 1)
und dann benutzt passiert leider gar nichts. Hat jemand eine Ahnung woran das liegen kann?
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Text in Spalten Makro Text in Spalten
15.08.2002 16:36:25
Otto
Hallo Folker,

ich kann Deine Aussage nicht nachvollziehen. Allerdings weiss ich wirklich nicht genau, was das soll.
Das Ergebnis, das Du schilderst, ist ist das Vertauschen von Tag und Monat in der amerikanischen Datumsdarstellung. Insofern müsstest Du beim 15.08.2002 dickere Probleme bekommen.
Nur ist die Auswahl der Option FesteBreite oder Getrennt völlig unerheblich. Wichtiger ist die Angabe des Analyseformats. Du hast mit 1 xlGeneralFormat gewählt, überlässt also Excel eine vernünftige Reaktion, was immer das ist. Da Du aber ein Datum liest, ist es doch viel sinnvoller, mit dem Analyseformat xlDMYFormat (4) zu arbeiten.
Sieh Dir außerdem mal an, wie die Zelle hinterher formatiert ist und sieh Dir mal an, was oben in der Bearbeitungsleiste steht, wenn Du im Feld selbst positioniert bist.

Gruß Otto

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Automatisierung von "Text in Spalten" mit VBA in Excel


Schritt-für-Schritt-Anleitung

Um "Text in Spalten" in Excel automatisch mit VBA zu verwenden, folge diesen Schritten:

  1. Öffne den VBA-Editor: Drücke ALT + F11, um den VBA-Editor zu öffnen.

  2. Neues Modul hinzufügen: Klicke auf Einfügen > Modul, um ein neues Modul zu erstellen.

  3. Code einfügen: Füge den folgenden Code in das Modul ein:

    Sub TextInSpaltenAutomatisch()
        Range("A1:A10").TextToColumns Destination:=Range("B1"), DataType:=xlFixedWidth, _
            FieldInfo:=Array(0, 1)
    End Sub
  4. Anpassen der Bereiche: Ändere A1:A10 auf den Bereich deiner Daten und B1 auf die Zelle, in die die umgewandelten Daten geschrieben werden sollen.

  5. Makro ausführen: Schließe den VBA-Editor und führe das Makro über Entwicklertools > Makros aus.


Häufige Fehler und Lösungen

  • Fehler: Nichts passiert beim Ausführen des Makros

    • Lösung: Stelle sicher, dass die Zelle, die du als Ziel angegeben hast (z. B. B1), nicht bereits Daten enthält. Excel kann nicht automatisch in eine bereits gefüllte Zelle schreiben.
  • Fehler: Falsches Datenformat

    • Lösung: Überprüfe das FieldInfo-Array, das du verwendest. Möglicherweise musst du ein anderes Format angeben, wie xlDMYFormat (4), wenn du mit Datumswerten arbeitest.

Alternative Methoden

Wenn du "Text in Spalten" nicht über VBA automatisieren möchtest, kannst du die Funktion direkt in Excel verwenden:

  1. Markiere den Bereich, den du aufteilen möchtest.
  2. Gehe zu Daten > Text in Spalten.
  3. Wähle Feste Breite oder Getrennt aus, je nachdem, wie deine Daten strukturiert sind.
  4. Folge den Anweisungen im Assistenten, um die Daten zu formatieren.

Diese Methode ist nützlich, wenn du keine VBA-Kenntnisse hast.


Praktische Beispiele

  1. Beispiel 1: Umwandlung eines Namensfeldes in Vor- und Nachnamen

    • Stelle sicher, dass die Namen in Zelle A1 stehen und klicke auf Daten > Text in Spalten. Wähle Getrennt und setze das Trennzeichen auf Leerzeichen.
  2. Beispiel 2: Daten in feste Breite umwandeln

    • Wenn du eine Liste von Produkten in Zelle A1 hast, die gleichmäßig verteilt sind, kannst du die Funktion für feste Breite verwenden, um die Daten sauber zu trennen.

Tipps für Profis

  • Makro optimieren: Verwende Variablen für die Bereiche, um dein Makro flexibler zu gestalten.

    Dim rng As Range
    Set rng = Range("A1:A10")
    rng.TextToColumns Destination:=Range("B1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(0, 1)
  • Rückgängig-Funktion: Wenn du "Text in Spalten" manuell benutzt hast und die Änderungen rückgängig machen möchtest, drücke STRG + Z, um die letzte Aktion in Excel zurückzunehmen.


FAQ: Häufige Fragen

1. Wie kann ich das Makro anpassen, um mehrere Spalten zu bearbeiten? Du kannst das Range-Objekt erweitern, um mehrere Spalten anzugeben, z.B. Range("A1:C10").

2. Was mache ich, wenn ich die Daten im Zielbereich nicht überschreiben möchte? Wähle einen Zielbereich, der leer ist, oder passe das Makro an, um die Daten in eine neue Tabelle zu kopieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige