Erstellen einer Anwesenheitsliste in VBA
#1
Hallo zusammen,

nun ist mein Projekt dank der Hilfe von euch und zahlreichen Videos von Andreas Thehos fast beendet und dafür möchte ich mich nochmal bei euch allen bedanken. Ihr seid eine super Mannschaft :28:.

Eventuell kann ich eure Hilfe noch einmal in Anspruch nehmen.
Ich möchte aus einer Liste mit Arbeitszeiten (Tabellenblatt Arbeitszeiten) die Spalten A,B,C und die jeweiligen Arbeitszeiten des aktuellen Tages (heute), in das Tabellenblatt Anwesenheit (A5:D100)kopieren.
(es soll aber nur kopiert werden, wenn wirklich eine Arbeitszeit (z.B. 08: 16:30) im Blatt "Arbeitszeiten" eingetragen ist. Steht hier Urlaub, Frei, JAZ oder KO usw. soll nicht kopiert werden.)

Meine Datei habe ich angefügt, da man sich so am besten ein Bild machen kann was ich meine :25:.

Danke an alle und Gruß Mario
Top
#2
Hallo Mario,

hier als Ereigniscode im VBA-Modul des Tabellenblatts "Anwesenheit".
"Passwort" für Aufheben und Setzen des Blattschutzes musst Du entsprechend ändern.

Code:
Private Sub Worksheet_Activate()
  Dim lngzeileQ As Long, lngzeileZ As Long, lngSpalteQ As Long
  Me.Unprotect "Passwort"
  Me.Range("A5:D100") = ""
  lngzeileZ = 4
  With Tabelle3
    lngSpalteQ = Application.Match(CDbl(Date), .Rows(10), 0)
    For lngzeileQ = 12 To .Cells(.Rows.Count, 1).End(xlUp).Row
      If Len(.Cells(lngzeileQ, lngSpalteQ).Value) = 11 Then
        lngzeileZ = lngzeileZ + 1
        Me.Cells(lngzeileZ, 1).Resize(, 3).Value = .Cells(lngzeileQ, 1).Resize(, 3).Value
        Me.Cells(lngzeileZ, 4).Value = .Cells(lngzeileQ, lngSpalteQ).Value
      End If
    Next lngzeileQ
  End With
  Me.Protect "Passwort"
End Sub

Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • Mario
Top
#3
Hallo Uwe,

ich bin begeitert, dass ist perfekt :23:. Es funktioniert so wie ich mir das vorgestellt haben.
Vielen Dank für deine schnelle Hilfe und ein schönes Wochenende.

VG Mario
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste