Clever-Excel-Forum

Normale Version: VBA Zellinhalte zusammenführen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

ich würde gerne aus mehreren Tabellenblätter immer die Inhalte aus der gleichen Zelle zusammenführen (zb. Zelle I15) und sollte immer mit einem "," getrennt werden. (das hab ich bereits mit einer Formel gelöst)
Jedoch sollte es variabel sein, dass neu eingefügte Tabellenblätter auch mit einbezogen werden. 

Hoffe es kann mir jemand auf die Sprünge helfen Smile


Vielen Dank

Grüße
MundM
Hallo MundM,

ein Ansatz dazu

Code:
Sub Test_Kette()
Dim Anzahl As Long
Dim wksx As Worksheet, wksa As Worksheet, zvz As String, tx As String
zvz = "I15" ' zu verkettende Zelle evtl. anpassen
Anzahl = 1
Set wksa = ActiveSheet
    For Each wksx In ActiveWorkbook.Worksheets
        If Not wksa Is wksx Then
         If wksx.Range(zvz).Value <> "" And Anzahl > 1 Then
            tx = tx & "," & wksx.Range(zvz)
         ElseIf wksx.Range(zvz).Value <> "" And Anzahl = 1 Then
            tx = wksx.Range(zvz)
         End If
         Anzahl = Anzahl + 1
        End If
    Next
MsgBox "Wert = " & tx & ""
End Sub

Anstelle der MessageBox kannst du tx natürlich auch in eine Zelle deiner Wahl schreiben.
Gleichartige Daten sollten in nur einem Arbeitsblatt eingetragen werden müssen.
Hi,

da kann man snb nur recht geben.

Ansonsten: wie sieht denn deine jetzige Formel aus? Falls dein 4 Jahre altes Excel schon Textverketten() kenn, sollte dich diese Formel weiter bringen:

=TEXTVERKETTEN(", ";;Tabelle1:Tabelle2!I15)

Diese Formel stupfelt alle Zellen I15 aller Blätter zwischen Tabelle1 und Tabelle2 zusammen.
Neue Blätter solltest du dann zwischen Tabelle1 und Tabelle2 einfügen.
Wenn du jetzt noch Tabelle1 "Start" und Tabelle2 "Ende" nennst, dann wird die Formel sogar einigermaßen lesbar.

Aber nochmals: Gleiche Daten gehören auf ein Blatt!