Clever-Excel-Forum

Normale Version: Erstellen einer dyn. Liste aus mehreren Tabellenblättern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

wie der Titel schon verrät, möchte ich aus mehreren Tabellenblättern eine dynamische Tabelle erzeugen.

Das Ganze soll so funktionieren, und überhaupt warum:

Die Daten (Speicherplatzbelegung eines Servers, für den den es interessiert..) werden dokumentiert und ändern sich täglich. Für diese Daten wird pro Tag in einem Workbook ein Tabellenblatt angelegt und dieses nach dem Tag genannt (Format JJJMMTT ohne Punkt). Das funktioniert bisher alles super. 

Mein Problem ist jetzt, dass sich viele verschiedene Nutzer täglich anmelden oder nicht und dann Daten vorhanden sind oder nicht. D.h. dass die Benutzerliste dynamisch ist und ich die maximale Anzahl der Nutzer der Tabellenblätter brauche wenn ich diese miteinander vergleiche aber ich weiß nicht wie..
Ein weiteres Problem ist, dass dann manche Zellen leer seien müssten, je nach dem ob der Nutzer an diesem Tag aktiv war oder nicht.

Die Benutzer sollen in Spalte A angelegt werden und das Datum soll in Zeile 2 aufgetragen werden.

Hier ist das was ich bisher habe, es wird nicht alles richtig oder klug sein, da ich ein Ziemlicher VBA-Neuling bin...


Code:
Public Sub PreInitialize(ByRef Datestring As String) 'DateString ist der
Dim SheetCounter As Long                             'Tabellenblattname
lngWorksheets = ThisWorkbook.Worksheets.Count
Dim rngComp As Integer, rngComp2 As Integer

For SheetCounter = 1 To lngWorksheets
   ThisWorkbook.Sheets("Master").Cells(2, 1 + SheetCounter).Value = ThisWorkbook.Sheets( _
SheetCounter).Name 'datum in tabelle
Next SheetCounter

For j = 1 To 3
   ActiveSheet.Cells(2, lngWorksheets - 1).Select
   If ActiveSheet.Cells(2, lngWorksheets - 1).Value = "Master" Then
       ActiveCell.Delete
   ElseIf ActiveSheet.Cells(2, lngWorksheets - 1).Value = "Stats" Then
       ActiveCell.Delete
   ElseIf ActiveSheet.Cells(2, lngWorksheets - 1).Value = "Filter" Then
       ActiveCell.Delete
   Else
           'NOP
   End If
Next j

rngComp = Workbooks("History_ServerUse.xlsm").Worksheets(Datestring).Cells(Rows.Count, 1).End( _
xlUp).Row
rngComp2 = Workbooks("History_ServerUse.xlsm").Worksheets(Datestring).Cells(Rows.Count, 1).End( _
xlUp).Row
If rngComp - 3 > rngComp2 - 3 Then
   rngComp2 = Workbooks("History_ServerUse.xlsm").Worksheets(Datestring).Cells(Rows.Count, 1). _
End(xlUp).Row
Esle
   rngComp = Workbooks("History_ServerUse.xlsm").Worksheets(Datestring).Cells(Rows.Count, 1). _
End(xlUp).Row
End If

End Sub
Hallo,

diejenigen die sich für das Thema interessieren können auch hier einen Blick darauf werfen:

http://www.herber.de/forum/messages/1510573.html
http://www.office-fragen.de/index.php/board,82.0.html

@Tim: Lies dir mal bitte diesen Beitrag durch.
Hallo Tim,

bitte verlinke deine Beiträge in den verschiedenen Foren untereinander. Dann kann sich jeder Helfer orientieren, wie weit die Hilfe bereits gediehen ist. Siehe auch hier: http://www.clever-excel-forum.de/thread-3037.html
Verzeihung, ich bin auch noch ein Neuling in Foren :19: