Collapse column

Autor Thema: Erstellen einer dyn. Liste aus mehreren Tabellenblättern  (Gelesen 1340 mal)

Offline Tim1711

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2013
Erstellen einer dyn. Liste aus mehreren Tabellenblättern
« am: August 22, 2016, 15:17:51 Nachmittag »
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...

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

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.

Offline Tim1711

  • Newbie
  • *
  • Beiträge: 10
    • Profil anzeigen
  • Office-KnowHow: Amateur
  • VBA-KnowHow- : Wenig
  • Version [Office] : Office 2013

Wenn du dich noch intensiver mit Excel beschäftigen möchtest, dann empfiehlt sich ein Online-Kurs,
in dem du sehr viel über Excel erfährst und das gelernte umgehend in der Praxis anwenden kannst.