22.08.2016, 15:14
(Dieser Beitrag wurde zuletzt bearbeitet: 22.08.2016, 15:18 von WillWissen.
Bearbeitungsgrund: Formatierung Minischrift entfernt
)
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...
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