Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Text in Zelle je Zeile am Anfang und Ende ergänzen

Text in Zelle je Zeile am Anfang und Ende ergänzen
22.09.2015 12:36:27
Ludewig
Eine Tabelle mit 4000 Zellen A1 bis A4000 mit Text und unterschiedlicher Zeilenanzahl soll je Zeile an Anfang mit +&+ und am Ende mit # ergänzt werden.
Vorher:
VDA 1600 L/min
mech. Volumendurchfluß-Anzeige, 0-1600 L/min
Beispiel
Nachher:
+&+VDA 1600 L/min#
+&+mech. Volumendurchfluß-Anzeige, 0-1600 L/min#
+&+Beispiel#
gibt es dafür ein Makro?

Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ohne VBA
22.09.2015 12:45:01
Michael
Hallo Ludwig!
Dazu brauchst Du nicht unbedingt VBA; in Spalte B könntest Du das so erreichen:
="+&+" & A1 & "#"
ab B2 nach unten kopieren. Willst Du die ursprünglichen Texte/Zellen nicht mehr, dann Spalte B kopieren und nochmal "nur Inhalte" einfügen. Dann Spalte A löschen.
LG
Michael

Anzeige
AW: Text in Zelle je Zeile am Anfang und Ende ergänzen
22.09.2015 12:52:46
yummi
Hallo Ludewig,
das kannst du ohne vba mit dem Befehl verketten machen.
Mit vba so in der Art

dim i as long
dim j as integer
for i = 1 to 4000
j = 1
do while Cells(i,j).value  ""
Cells(i,j).value = "+&+" & Cells(i,j).value & "#"
j = j+ 1
loop
next i
Gruß
yummi

Anzeige
AW: Text in Zelle je Zeile am Anfang und Ende ergänzen
23.09.2015 14:51:18
Ludewig
Hallo!
Danke für Eure Antworten.
Ich hatte mich nicht richtig ausgedrückt.
Es sind mehrere Zeilen in einer Zelle vorhanden.
Und jede Zeile benötigt vor und hinter dem Text ein +&+ und #
Vorher:
(Zelle A1)
VDA 1600 L/min
mech. Volumendurchfluß-Anzeige, 0-1600 L/min
Beispiel
(Zelle A2)
Pumpe
Schraube
Mutter
U-Scheibe
Nachher:
(Zelle A1)
+&+VDA 1600 L/min#
+&+mech. Volumendurchfluß-Anzeige, 0-1600 L/min#
+&+Beispiel#
(Zelle A2):
+&+Pumpe#
+&+Schraube#
+&+Mutter#
+&+U-Scheibe#

Anzeige
genau das mqacht doch das makro
23.09.2015 16:34:39
yummi
hallo Ludewig
schau dir nochmal meine makro lösung an
gruß
yummi

AW: genau das mqacht doch das makro
23.09.2015 17:01:08
Ludewig
Hallo yummi,
habe ich gemacht, und es funktioniert auch. Aber wie schon gesagt es wird nur am Anfang und am Ende der Text in der Zelle ergänzt.
Ich benötige diese aber in jeder Zeile der Zelle.
gruß
Ludewig

Anzeige
AW: Text in Zelle je Zeile am Anfang und Ende erg
23.09.2015 17:12:36
matthias
Hallo Ludewig,
etwa so?:
Sub Test()
Dim rZelle As Range
For Each rZelle In ActiveSheet.Cells.SpecialCells(xlCellTypeConstants, xlTextValues)
With rZelle
.Value = "+&+ " & .Value & " +&+"
.Value = Replace(.Value, Chr(10), " +&+" & Chr(10) & "+&+ ")
End With
Next rZelle
End Sub
lg Matthias

Anzeige
AW: Text in Zelle je Zeile am Anfang und Ende erg
23.09.2015 18:01:18
Ludewig
Hallo Matthias,
super!
Danke, das ist genau was ich gesucht habe.
Habe das erste Mal das Forum genutzt.An Alle DANKE für die schnellen Lösungsvorschläge.
Gruß
Ludewig

AW: Variante, mit kl. Anpassungsmöglichkeit
23.09.2015 17:25:45
Michael
Hallo Ludewig!
Matthias hat Dir ja schon perfekten Code geliefert - hier noch meine Version, da ich sie schon geschrieben hatte (leider zu langsam gewesen). Unterschied zu Matthias: Hier ist der von Dir gewünschte Bereich genau eingegrenzt (kannst Du dann leichter anpassen), bei Matthias wirkt der Code uU auch auf andere Spalten; außerdem hab ich Dir die Zeichen für vor und nach der Zeile in Variablen genommen - dann kannst Du hier mit anderen Zeichen austauschen, wenn Du möchtest.
Sub ZellZeilenErgaenzen()
Dim Zelle As Range
Dim Bereich As Range
Dim Prae As String
Dim Suff As String
Dim Text As String
Set Bereich = Range("A1:A4000")
Prae = "+&+" 'Zeichen am Anfang der Zeile
Suff = "#" 'Zeichen am Ende der Zeile
For Each Zelle In Bereich
Text = Prae & Zelle.Value & Suff
Text = Replace(Text, Chr(10), Suff & Chr(10) & Prae)
Zelle.Value = Text
Next
End Sub
LG
Michael
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Text in Zelle je Zeile am Anfang und Ende ergänzen


Schritt-für-Schritt-Anleitung

Um in Excel den Text in einer Zelle je Zeile am Anfang und Ende zu ergänzen, kannst Du sowohl ohne VBA als auch mit VBA arbeiten. Hier ist eine einfache Anleitung für beide Methoden:

Ohne VBA:

  1. Gehe zu der Zelle, in der Du den Text ergänzen möchtest (z.B. A1).
  2. Gib in die Zelle B1 die folgende Formel ein:
    ="&+;" & A1 & "#"
  3. Ziehe die Ecke von B1 nach unten, um die Formel auf die anderen Zellen anzuwenden.
  4. Wenn Du die ursprünglichen Texte nicht mehr benötigst, kopiere die Spalte B und füge sie als „nur Werte“ in Spalte A ein. Danach kannst Du Spalte B löschen.

Mit VBA:

  1. Öffne den VBA-Editor mit ALT + F11.
  2. Füge ein neues Modul hinzu und kopiere den folgenden Code hinein:
    Sub ZellZeilenErgaenzen()
       Dim Zelle As Range
       Dim Bereich As Range
       Dim Prae As String
       Dim Suff As String
       Dim Text As String
       Set Bereich = Range("A1:A4000")
       Prae = "+&+"
       Suff = "#"
       For Each Zelle In Bereich
           Text = Prae & Zelle.Value & Suff
           Text = Replace(Text, Chr(10), Suff & Chr(10) & Prae)
           Zelle.Value = Text
       Next
    End Sub
  3. Führe das Makro aus, um den Text in den Zellen entsprechend zu ergänzen.

Häufige Fehler und Lösungen

  • Fehler: Die Formel funktioniert nicht oder zeigt einen Fehler an.

    • Lösung: Stelle sicher, dass Du die Formel korrekt eingegeben hast, insbesondere die Anführungszeichen.
  • Fehler: Das Makro läuft nicht oder zeigt keine Ergebnisse.

    • Lösung: Überprüfe, ob der Bereich korrekt festgelegt ist. Du kannst Range("A1:A4000") anpassen, um sicherzustellen, dass er die richtigen Zellen enthält.

Alternative Methoden

Eine weitere Möglichkeit, den Text in Zellen zu ergänzen, besteht darin, die Funktion VERKETTEN zu verwenden:

  1. Gib in Zelle B1 folgende Formel ein:
    =VERKETTEN("+&+"; A1; "#")
  2. Ziehe die Formel nach unten, um sie auf andere Zellen anzuwenden.

Praktische Beispiele

Angenommen, Du hast folgende Daten in Zelle A1:

VDA 1600 L/min
mech. Volumendurchfluß-Anzeige, 0-1600 L/min
Beispiel

Nach Anwendung der oben beschriebenen Methode sollte der Inhalt von A1 so aussehen:

+&+VDA 1600 L/min#
+&+mech. Volumendurchfluß-Anzeige, 0-1600 L/min#
+&+Beispiel#

Wenn Du mehrere Zellen hast (z.B. A1 bis A2 mit mehreren Zeilen), wird jede Zeile entsprechend ergänzt.


Tipps für Profis

  • Überlege, ob Du mit TEXTVERKETTEN arbeiten möchtest, wenn Du in neueren Versionen von Excel arbeitest, um mehrere Texte effizient zu kombinieren.
  • Wenn Du oft mit ähnlichen Anpassungen arbeitest, speichere das VBA-Makro in Deiner persönlichen Arbeitsmappe, um es schnell wiederverwenden zu können.

FAQ: Häufige Fragen

1. Wie kann ich den Text in einer Zelle um weitere Zeichen ergänzen?
Du kannst einfach die Variablen Prae und Suff im VBA-Code anpassen, um andere Zeichen zu verwenden.

2. Was passiert mit Zeilenumbrüchen in den Zellen?
Die oben genannten Methoden berücksichtigen Zeilenumbrüche, sodass sie in den Ergebnissen beibehalten werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige