140 Aufrufe
Gefragt in Tabellenkalkulation von
Hallo zusammen,

ich bräuchte Hilfe bei folgendem Thema:

Ich habe eine Exceldatei, die immer wieder eine unterschiedliche Anzahl an Arbeitsblätter enthalten kann. Ich möchte mir aus jedem einzelnen Arbeitsblatt bestimmte Informationen extrahieren und diese Informationen (aus allen Arbeitsblättern) in einem Extra-Arbeitsblatt zusammenfassen. Das extrahieren der Daten klappt schon, aber der Wechsel in ein anderes Arbeitsblatt und das Schreiben in ein gemeinsames Arbeitsblatt fehlen mir noch.
Hat einer von euch eine Idee wie dies umzusetzen wäre? Bzw wenn ich mich zu ungenau ausgedrückt habe, bitte Bescheid geben.

Danke schon mal im Voraus!

Irmska

3 Antworten

0 Punkte
Beantwortet von m-o Profi (15.4k Punkte)

Hallo Irmska,

du kannst die einzelnen Arbeitsblätter mit einer Schleife durchlaufen. Hier ein kleiner Beipielcode (gehört in ein Standardmodul deiner Arbeitsmappe):

Sub zusammenfassen()
Dim i As Long
Dim strZiel As String
Dim lngZeile As Long

'Name des Arbeitsblatt, in das die Daten geschrieben werden sollen - anpassen
strZiel = "Zusammenfassung"

'Die Werte aus der Zelle B5 aller Tabellen werden in die Tabelle Zusammenfassung untereinander eingetragen
'Dort steht in Spalte A der Name der Tabelle und in Spalte B der Wert
'Alle Arbeitsblätter der Mappe durchlaufen
For i = 1 To ThisWorkbook.Worksheets.Count
  'Daten nur übertragen, wenn es nicht das Tabellenblatt ist, in der die Zusammenfassung geschrieben wird
  If Worksheets(i).Name <> strZiel Then
    With Worksheets(strZiel)
     lngZeile = .Cells(Rows.Count, 1).End(xlUp).Row + 1   'Einfügezeile wird ermittelt
      .Cells(lngZeile, 1) = Worksheets(i).Name            'Name der Tabelle, aus der die Daten eingefügt werden
      .Cells(lngZeile, 2) = Worksheets(i).Range("B5")     'Wert aus B5 wird eingefügt
    End With
   End If
Next i

End Sub

Falls du nicht klarkommst, kannst du auch deinen schon vorhandenen Code posten und ggf. mal genau erklären, welche Daten kopiert werden sollen.

Gruß

M.O.

0 Punkte
Beantwortet von techrama Einsteiger_in (5 Punkte)
Bearbeitet von techrama

You've got data in one sheet in your spreadsheet, and want to use it in another sheet. You could copy it—but then, when you change the data in one sheet, you'll have to change it in the other sheet, too.

See: https://routerlogin.one/192-168-0-10/​

0 Punkte
Beantwortet von
Hallo M.O.,

vielen Dank für deine Hilfe.

Habe es in meinen Code integriert und es funktioniert!  Super.....

Grüßle

Irmska
...