HERBERS Excel-Forum - das Archiv
Text in Zelle je Zeile am Anfang und Ende ergänzen
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?

AW: Ohne VBA
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

AW: Text in Zelle je Zeile am Anfang und Ende ergänzen
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

AW: Text in Zelle je Zeile am Anfang und Ende ergänzen
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#&#

genau das mqacht doch das makro
yummi

hallo Ludewig
schau dir nochmal meine makro lösung an
gruß
yummi

AW: genau das mqacht doch das makro
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

AW: Text in Zelle je Zeile am Anfang und Ende erg
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

AW: Text in Zelle je Zeile am Anfang und Ende erg
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
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

Text in Zelle je Zeile am Anfang und Ende ergänzen
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?

AW: Ohne VBA
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

AW: Text in Zelle je Zeile am Anfang und Ende ergänzen
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

AW: Text in Zelle je Zeile am Anfang und Ende ergänzen
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#&#

genau das mqacht doch das makro
yummi

hallo Ludewig
schau dir nochmal meine makro lösung an
gruß
yummi

AW: genau das mqacht doch das makro
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

AW: Text in Zelle je Zeile am Anfang und Ende erg
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

AW: Text in Zelle je Zeile am Anfang und Ende erg
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
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

Bewerten Sie hier bitte das Excel-Portal