Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

unterschiedliche Anzahl Spalten (mit festen Werten) verketten
#1
Hola los Todos!

Ich habe eine Liste mit mehreren tausend Zeilen.

In den Zeilen sind 1-x Spalten zusammenhängend gefüllt, also mal A1-G1, mal A2-I2, mal A3-Z3 usw. maximal 50 Spalten, aber immer unterschiedliche Anzahl von Spalten.

Ich würde die Werte in den Spalten gerne mit den festen Werten < p > davor UND < /p > dahinter verketten.

Beispiel:

A1-E1 = WERTA1 WERTB1 WERTC1 WERTD1 WERTE1

Verkettet sähe das dann so aus:
Code:
<p>WERTA1</p><p>WERTB1</p><p>WERTC1</p><p>WERTD1</p><p>WERTE1</p>


Wenn die Anzahl der Spalten gleich wäre, kein Problem, aber mit immer wieder unterschiedlicher Anzahl von Spalten habe ich keine Lösung.

Danke und Gruss

Peter
Antworten Top
#2
Hi,

dann kannst du Dir das Daten verschieben auch sparen ;)

Verwende die Function MachMirEinP
ist auf Tabelle2 
Dann die Daten kopieren und als Test einfügen wie in Tabelle3


.xlsm   demoP.xlsm (Größe: 22,69 KB / Downloads: 6)
lg Chris
Feedback nicht vergessen.
[Bild: v.gif]
3a2920576572206973742064656e20646120736f206e65756769657269672e
[-] Folgende(r) 1 Nutzer sagt Danke an chris-ka für diesen Beitrag:
  • PeterN
Antworten Top
#3
Hallo Peter,

zu
Zitat:... aber immer unterschiedliche Anzahl von Spalten.

Dafür gibt es in neueren Excel-Versionen die Funktion Textverketten.

Falls die Funktion in deiner Version noch nicht existiert kannst du die unten stehende UDF Textverkitten nutzen. Dann brauchst du bei einem Versionswechsel nur in den Formeln einen Buchstaben ersetzen und die UDF löschen.


Code:
Function Textverkitten(ByVal Trenn As String, ByVal Leer As Boolean, ParamArray Arr())
Dim R As Range
Dim Z As Long
Dim S As Long
Dim P As Long
Textverkitten = ""
For P = 0 To UBound(Arr)
    If TypeName(Arr(P)) = "Range" Then
        For Each R In Arr(P)
            If R <> "" Or Not Leer Then
                Textverkitten = Textverkitten & Trenn & R
            End If
        Next R
    ElseIf IsArray(Arr(P)) Then
        For Z = 1 To UBound(Arr(P), 1)
            For S = 1 To UBound(Arr(P), 2)
                If Arr(P)(Z, S) <> "" Or Not Leer Then
                    Textverkitten = Textverkitten & Trenn & Arr(P)(Z, S)
                End If
            Next S
        Next Z
    Else
        If Arr(P) <> "" Or Not Leer Then
            Textverkitten = Textverkitten & Trenn & Arr(P)
        End If
    End If
Next P
If Len(Textverkitten) >= Len(Trenn) Then
    Textverkitten = Right(Textverkitten, Len(Textverkitten) - Len(Trenn))
Else
    Textverkitten = ""
End If
End Function
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • PeterN
Antworten Top
#4
Super! Klasse!

Vielen lieben Dank Ihr beiden!

Gruss

Peter
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste