Zellen von anderen Tabellenblättern

Bild

Betrifft: Zellen von anderen Tabellenblättern
von: ronforum
Geschrieben am: 17.07.2015 15:52:51

Hallo Forum,
ich habe im Moment Schwierigkeiten bei einer Liste und hoffe, dass ihr mir helfen könnt. Ich habe eine Mitgliederliste wo jedes Mitglied in einem eigenen Tabellenblatt innerhalb einer Arbeitsmappe gespeichert wird. Zur Übersichtlichkeit würde ich gerne am Anfang eine Übersichtsliste einfügen, die den Namen des jeweiligen Tabellenblatts enthält wie auch den Name (D6) , Vorname (D7) und Status (D11) des jeweiligen Mitglieds. Diese Daten sollen aus den einzelnen Tabellenblättern herauskopiert werden. Die Tabellenblätter sind alle gleich aufgebaut, es kommen aber ständig neue hinzu. Das Tabellenblatt „Mitgliederliste“ besteht bereits.
Ich hab es jetzt soweit geschafft, dass ich den Name des Tabellenblatts ausgegeben bekomme aber schaffe es nicht, dass die Zellen ausgelesen und in der gleichen Zeile ausgegeben werden.

Sub TabellenblattnamenAuflisten()
lngsheets = ThisWorkbook.Sheets.Count
lngworksheets = ThisWorkbook.Worksheets.Count
    
    Debug.Print "Alle Tabellenblätter"
    For i = 1 To lngsheets
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5 + i, 2).Value = ThisWorkbook.Sheets(i).Name
   
    
Next i
End Sub
Für euch ist das bestimmt nicht schwer, ich beschäftige mich damit aber schon ein wenig.
Danke für eure Hilfe
Ron

Bild

Betrifft: AW: Zellen von anderen Tabellenblättern
von: Alexander
Geschrieben am: 17.07.2015 17:43:57
Hallo Ron,
Wenn die Mitgliederliste die erste Tabelle in deiner Mappe ist, dann z.B. so

Sub TabellenblattnamenAuflisten()
Dim i, j, k As Integer
lngSheets = ThisWorkbook.Sheets.Count
With ThisWorkbook
    For i = 2 To .Sheets.Count
        .Sheets("Mitgliederliste").Cells(5 + i, 2).Value = .Sheets(i).Name
        For j = 6 To 11
            .Sheets("Mitgliederliste").Cells(5 + i, 3 + k).Value = .Sheets(i).Cells(j, 4).Value
            k = k + 1
            If j = 7 Then j = j + 3
        Next j
        k = 0
    Next i
End With
End Sub
Gruß
Alex

Bild

Betrifft: AW: Zellen von anderen Tabellenblättern
von: Klexy
Geschrieben am: 17.07.2015 17:54:54


Sub TabellenblattnamenAuflisten()
lngsheets = ThisWorkbook.Sheets.Count
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5, 2) = "Blattname"
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5, 3) = "Name"
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5, 4) = "Vorname"
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5, 5) = "Status"
    
    For i = 2 To lngsheets
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5 + i, 2) = ThisWorkbook.Sheets(i).Name
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5 + i, 3) = ThisWorkbook.Sheets(i).Cells(6, 4)
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5 + i, 4) = ThisWorkbook.Sheets(i).Cells(7, 4)
    ThisWorkbook.Sheets("Mitgliederliste").Cells(5 + i, 5) = ThisWorkbook.Sheets(i).Cells(8, 4)
    Next i
End Sub

Die Values kannst du weglassen
Aber warum nur fängst du in Zeile 6 an?

Bild

Betrifft: AW: Zellen von anderen Tabellenblättern
von: Klexy
Geschrieben am: 17.07.2015 17:56:11
Ich seh grad, ich hab den Status in D8 statt D11 angesiedelt.

Bild

Betrifft: AW: Zellen von anderen Tabellenblättern
von: ronforum
Geschrieben am: 20.07.2015 09:40:14
Hallo Alexander,
Hallo Klexy,
top Antworten. Funktionieren beide einwandfrei.
Vielen Dank.
@Klexy: Erst ab Zeile 7 wegen der Optik
Schönen Tag
Ron

Bild

Betrifft: AW: Zellen von anderen Tabellenblättern
von: Klexy
Geschrieben am: 20.07.2015 10:52:30
Tip: Eine Tabelle fängt grundsätzlich in A1 an und hat eine Zeile Spaltenkopf und keine Leerzeilen oder -spalten davor oder zwischendrin.
Optik macht man immer mit der Seitenansicht, nie mit Leerzeilen. Das führt früher oder später zu Problemen.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zellen von anderen Tabellenblättern "