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
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!