Microsoft Excel

Herbers Excel/VBA-Archiv

Tabellenblattname per Drag and Drop

Betrifft: Tabellenblattname per Drag and Drop von: Thomas
Geschrieben am: 16.10.2020 15:04:01

Hallo,


ich habe eine Excel Datei mit vielen Tabellenblättern.

Die Tabellenblätternamen bestehen aus fortlaufenden Zahlen.

1 bis 8 etc.


Im Tabellenblatt 1 möchte ich eine Liste haben, in der in einer Spalte aus jedem einzelnen Tabellenblatt der Wert der Zelle B1 wiedergegeben wird.

Im Laufe der Zeit werden weitere Tabellenblätter hinzugefügt. Die Liste auf Blatt 1 soll evtl. per Drag and Drop erweitert werden um die neuen Tabellenblätter mit zu erfassen.

OIder, und das wäer oprimal, die Liste muss nicht händisch erweitert werden, soindern erkennt, wenn neue Tabellenblätter hinzugefügt werden und ergänzt diese automatisch.


Danke für jeden Tipp

Betrifft: AW: nachgefragt ...
von: neopa C
Geschrieben am: 16.10.2020 15:24:37

Hallo Thomas,

... mit welcher Excelversion soll denn die Auswertung erfolgen und wie viele Tabellenblätter sollen denn max. ausgewertet werden.

Mit einer Formellösung wäre es möglich jeden Tabellenblattnamen zu listen und dafür mit INDIREKT() die Zelle B1 auszuwerten. Mit einer VBA-Lösung geht es wohl etwas etwas einfacher, aber mit einer solchen beschäftige ich mich nicht.

Gruß Werner
.. , - ...

Betrifft: AW: nachgefragt ...
von: Thomas
Geschrieben am: 16.10.2020 15:45:39

Hallo Werner,
es sind vsl. nicht mehr als 14 Tabellenblätter.
Ich arbeite mit office 365.
LG, Thomas

Betrifft: AW: nachgefragt ...
von: Gerd L
Geschrieben am: 16.10.2020 15:46:38

Hallo Werner,

bist du noch immer "zu jung" ?


Hallo Thomas, ins Modul der Haupttabelle.
Private Sub Worksheet_Activate()

    Dim Wsh As Worksheet

    
    Range(Cells(2, 1), Cells(2, 1).End(xlDown).Offset(0, 1)).ClearContents
    
    For Each Wsh In ThisWorkbook.Worksheets
    
        With Wsh
            
            If .Name <> Me.Name Then
            
                Cells(Rows.Count, 1).End(xlUp).Offset(1).Resize(1, 2) = _
                Array(.Name, .Cells(2, 2).Value)
            
            End If
        
        End With
    
    Next


End Sub

Gruß Gerd

Betrifft: AW: für B1 .Name, .Cells(1, 2).Value
von: Gerd L
Geschrieben am: 16.10.2020 15:50:14

Das war für B2!
Gruß Gerd

Betrifft: AW: für B1 .Name, .Cells(1, 2).Value
von: Thomas
Geschrieben am: 19.10.2020 10:45:36

Hallo Gerd,

entschuldige, musste am Freitag etwas überstürzt in den Feierabend...
Danke dir für deine Hilfe.
Muss aber lewider doch nochmal nachfragen.
Was mache ich, wenn ich den Code in das Modul eingefügt habe?
LG, Thomas

Betrifft: AW: für B1 .Name, .Cells(1, 2).Value
von: Thomas
Geschrieben am: 19.10.2020 10:48:02

Muss ich noch eine Schaltfläöche einfügen, o. ä.?

Betrifft: AW: für B1 .Name, .Cells(1, 2).Value
von: Thomas
Geschrieben am: 19.10.2020 11:12:05

Hah, hat geklappt! Jetzt hab ichs!
Vielen Dank!
Leider weiß ich jetzt nichtm, wie ich die Liste ab der Zelle C5 begionnen lassen kann.
habe mal selbst versucht, den code zu ändern, hat aber leider nicht funktioniert.