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

Bild

Betrifft: Text in Zelle je Zeile am Anfang und Ende ergänzen
von: Ludewig
Geschrieben am: 22.09.2015 12:36:27

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?

Bild

Betrifft: AW: Ohne VBA
von: Michael (migre)
Geschrieben am: 22.09.2015 12:45:01
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

Bild

Betrifft: AW: Text in Zelle je Zeile am Anfang und Ende ergänzen
von: yummi
Geschrieben am: 22.09.2015 12:52:46
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

Bild

Betrifft: AW: Text in Zelle je Zeile am Anfang und Ende ergänzen
von: Ludewig
Geschrieben am: 23.09.2015 14:51:18
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#&#

Bild

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

Bild

Betrifft: AW: genau das mqacht doch das makro
von: Ludewig
Geschrieben am: 23.09.2015 17:01:08
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

Bild

Betrifft: AW: Text in Zelle je Zeile am Anfang und Ende erg
von: matthias
Geschrieben am: 23.09.2015 17:12:36
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

Bild

Betrifft: AW: Text in Zelle je Zeile am Anfang und Ende erg
von: Ludewig
Geschrieben am: 23.09.2015 18:01:18
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

Bild

Betrifft: AW: Variante, mit kl. Anpassungsmöglichkeit
von: Michael (migre)
Geschrieben am: 23.09.2015 17:25:45
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

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Text in Zelle je Zeile am Anfang und Ende ergänzen"