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

Forumthread: VBA, Text beliebig verketten

VBA, Text beliebig verketten
Mörfi
Hallo ihr Excelexperten,
Ich habe den Inhalt einer PDF-Datei kopiert und in Excel mit STRG+V eingefügt.
Leider steht jetzt jede Textzeile in je einer Excelzelle in Spalte A.
Ich möchte aber ganze Absätze in einer Zelle haben.
(Formatierung über "Zellen verbinden" scheint keine Lösung zu sein.)
Gesucht ist ein Makro, das folgendes kann:
Man markiert eine beliebige Anzahl von zusammenhängenden Zellen einer beliebigen Spalte; z.Bsp. A5:A11.
Dann klickt man auf einen Button und der Inhalt des Bereichs steht dann mit Leerzeichen verkettet in z.Bsp. B5 (also am Anfang des markierten Bereichs, nur eine Spalte weiter).
Und .. wenn es möglich ist:
Der Ursprungstext kann gelöscht werden und die nun entbehrlichen Zeilen 6:11 können entfernt werden.
Gruß
Mörfi
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: VBA, Text beliebig verketten
18.08.2011 18:18:33
hary
Hallo
Teste mal.

Sub Versuch()
Dim c As Range
Dim neu As String
For Each c In Selection
If neu = "" Then
neu = c
Else
neu = neu & Chr(160) & c
End If
Next
With Selection
Cells(.Row, .Column + 1) = neu
.ClearContents
Cells(.Row + 1, .Column).Resize(.Count - 1, 1).Delete
End With
End Sub

gruss hary
Anzeige
Danke
18.08.2011 20:23:43
Mörfi
Hallo Hary,
ich bin beeindruckt.
Das funktioniert einwandfrei.
Danke und
Gruß
Mörfi
;
Anzeige
Anzeige

Infobox / Tutorial

Text in Excel mit VBA beliebig verketten


Schritt-für-Schritt-Anleitung

Um Text in Excel mit VBA zu verketten, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:

  1. Öffne Excel und drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.

  2. Füge ein neues Modul hinzu:

    • Klicke im Menü auf Einfügen und wähle Modul.
  3. Kopiere und füge den folgenden Code ein:

    Sub Versuch()
        Dim c As Range
        Dim neu As String
        For Each c In Selection
            If neu = "" Then
                neu = c
            Else
                neu = neu & Chr(160) & c
            End If
        Next
        With Selection
            Cells(.Row, .Column + 1) = neu
            .ClearContents
            Cells(.Row + 1, .Column).Resize(.Count - 1, 1).Delete
        End With
    End Sub
  4. Schließe den VBA-Editor und gehe zurück zu deinem Excel-Dokument.

  5. Markiere die Zellen, deren Inhalt du verketten möchtest.

  6. Führe das Makro aus:

    • Drücke ALT + F8, wähle Versuch aus und klicke auf Ausführen.

Jetzt werden die Inhalte der markierten Zellen in der nächsten Spalte (z.B. B5) mit Leerzeichen verkettet und die ursprünglichen Zellen werden geleert.


Häufige Fehler und Lösungen

  • Fehler: Das Makro funktioniert nicht.

    • Lösung: Stelle sicher, dass du die Zellen korrekt markiert hast und dass du das Makro wie beschrieben ausführst.
  • Fehler: Die verketteten Texte erscheinen nicht korrekt.

    • Lösung: Überprüfe den Code auf mögliche Tippfehler und stelle sicher, dass der Quelltext in den Zellen keine unerwarteten Leerzeichen oder Zeilenumbrüche enthält.

Alternative Methoden

Falls du keine VBA-Lösungen verwenden möchtest, gibt es auch Formeln, um Text in Excel zu verketten. Du kannst die Funktion VERKETTEN oder die &-Operator verwenden, um Inhalte aus mehreren Zellen zusammenzufügen. Beispiel:

=VERKETTEN(A1; " "; A2; " "; A3)

oder

=A1 & " " & A2 & " " & A3

Diese Methoden sind jedoch weniger flexibel als die VBA-Methode, insbesondere wenn es um große Datenmengen geht.


Praktische Beispiele

Angenommen, du hast in den Zellen A1 bis A5 folgende Texte:

  • A1: "Hallo"
  • A2: "Welt"
  • A3: "dies"
  • A4: "ist"
  • A5: "VBA"

Wenn du diese Zellen markierst und das Makro ausführst, wird in Zelle B1 folgendes Ergebnis erscheinen:

Hallo Welt dies ist VBA

Tipps für Profis

  • Nutze Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in dein VBA-Skript ein, um sicherzustellen, dass das Makro auch bei unerwarteten Eingaben stabil bleibt.

  • Verketten mit SQL: Wenn du mit Datenbanken arbeitest, kannst du SQL verwenden, um Text zu verketten. Achte darauf, dass du die Syntax korrekt anwendest.

  • Optimiere deinen Code: Halte den Code sauber und strukturiert, um ihn später leichter anpassen zu können.


FAQ: Häufige Fragen

1. Frage
Was ist der Unterschied zwischen VERKETTEN und & in Excel?
Antwort: Beide Methoden können verwendet werden, um Texte in Excel zu verketten. VERKETTEN ist eine Funktion, während & ein Operator ist. Die Verwendung des Operators ist oft einfacher und klarer.

2. Frage
Kann ich das Makro auch anpassen?
Antwort: Ja, du kannst das VBA-Skript anpassen, um andere Anforderungen zu erfüllen, z.B. das Hinzufügen von Trennzeichen oder das Verketten von Zellen aus mehreren Spalten.

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