Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1372to1376
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kalender aus Tabelle erstellen

Kalender aus Tabelle erstellen
12.08.2014 10:09:27
falu
Hallo zusammen,
ich habe folgendes Problem in meiner beigefügten Exceldatei.
Ich habe mehr oder weniger einen "Einsatzplan" erstellt (Tabelle1), hier wird farblich und durch die jeweilige Kennzeichnung(A1,A2,B,C) eingetragen, wann der/diejenige an welcher Arbeit zugewiesen ist. Nun würde ich gerne in Tabelle2 daraus einen Kalender erstellen, in dem der jeweilige Name bei der jeweiligen Kennzeichnung automatisch eingetragen wird (Also anhand von A1,A2,B,C). Habe bereits einiges ausprobiert aber stehe scheinbar völlig auf dem Schlauch. Hat jemand eine Idee oder so etwas schon einmal gemacht? Vielen Dank im voraus!!
Anbei meine Datei
https://www.herber.de/bbs/user/92036.xlsx

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
nachgefragt ...
12.08.2014 11:32:37
neopa
Hallo,
... und warum hast Du je Personen zwei Zeilen? Eine wäre doch völlig ausreichend und dann wird die Auswertung auch wesentlich vereinfacht.
Gruß Werner
.. , - ...

AW: Kalender aus Tabelle erstellen
12.08.2014 12:06:34
Dieter
Hallo falu,
du kannst das mit dem folgenden VBA-Programm machen:
Sub Übertragen()
Dim anfDatum As Date
Dim datum As Date
Dim i As Long
Dim letzteSpalteQ As Long
Dim letzteZeileQ As Long
Dim mitarbeiter As String
Dim spalteQ As Long
Dim spalteZ As Long
Dim tätigkeit(1 To 4) As String
Dim wsQ As Worksheet ' Quelle
Dim wsZ As Worksheet ' Ziel
Dim zeileQ As Long
Dim zeileZ As Long
tätigkeit(1) = "A1"
tätigkeit(2) = "A2"
tätigkeit(3) = "B"
tätigkeit(4) = "C"
Set wsQ = ThisWorkbook.Worksheets("Tabelle1")
Set wsZ = ThisWorkbook.Worksheets("Tabelle2")
wsZ.Range(wsZ.Cells(4, "C"), _
wsZ.Cells(wsZ.Rows.Count, "F")).ClearContents
letzteZeileQ = wsQ.Cells(wsQ.Rows.Count, "A").End(xlUp).Row + 1
letzteSpalteQ = wsQ.Cells(2, wsQ.Columns.Count).End(xlToLeft).Column
anfDatum = wsQ.Range("C2")
For zeileQ = 5 To letzteZeileQ Step 2
mitarbeiter = wsQ.Cells(zeileQ - 1, "A")
For spalteQ = 3 To letzteSpalteQ
If Not IsEmpty(wsQ.Cells(zeileQ, spalteQ)) Then
datum = wsQ.Cells(2, spalteQ)
zeileZ = 4 + datum - anfDatum
spalteZ = 0
For i = 1 To 4
If wsQ.Cells(zeileQ, spalteQ) = tätigkeit(i) Then
spalteZ = 2 + i
Exit For
End If
Next i
If spalteZ  0 Then
wsZ.Cells(zeileZ, spalteZ) = mitarbeiter
End If
End If
Next spalteQ
Next zeileQ
End Sub
Viele Grüße
Dieter
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige