Servus beinand,
ich hätte gerade eine Herausforderung bei der ich eigenständig leider nicht mehr weiter weiß.
Status Quo:
Ich habe eine Textdatei mit verschiedenen Mitarbeitern und dazugehörigen Informationen. Die Textdatei habe ich problemlos in Excel eingearbeitet. Die Textdatei wird jede Woche neu ausgegeben und ich muss die Daten auswerten. Deshalb ist es zu zeitaufwendig wöchentlich die Exceltabelle neu zu bearbeiten. Sprich ich benötige Makros um die notwendigen Informationen automatisch auszugeben:
Aufbau:
Spalte A ist frei; Spalte B: für jeden Mitarbeiter werden die Monate des Jahres angegeben in denen er dort arbeitet (tlw beginnt die Aufzählung erst ab Mai oä); Spalte C: Abteilungsnummer in einer bestimmten Zelle 3 Zellen nach oben und eine nach rechts versetzt von der Zelle mit dem ersten Monat
Ziel:
1. Prüfe, ob in Spalte B ein beliebiger Monat steht
2. falls dieses Argument stimmt übertrage Abteilungsnummer in Spalte A neben den Monat (Abteilungsnummer in bestimmter Entfernung zur Zelle mit dem ersten Monat des Mitarbeiters (3 hoch, 1 rechts))
Problem was bei mir aufgetreten ist:
Ich habe es nicht geschafft einen Code zu programmieren, der falls der erste Monat des Mitarbeiters nicht der Januar ist trotzdem die Abteilungsnummer und nicht einen der Werte darüber überträgt.
Hier mein bisher geschriebener Code:
Sub AbteilungsnummerEinf()
Dim i As Integer
Dim k As Integer
Dim j As Integer
For i = 1000 To 1020
For k = 1 To 12
If Range("f10").Offset(i, 0) = Range("f10").Offset(k + 5, 0) Then
Range("e10").Offset(i, 0) = Range("e10").Offset(i - 4 - k, 2)
End if
Next k
Next i
End Sub
Habe die Beschreibung einfacher gemacht, weshalb die Spaltenbeschriftung nicht ganz übereinstimmt.
Ab F16 stehen einmal alle 12 Monate, und es sollen auch die Monate aus dieser Spalte F geprüft werden.
Habe ebenfalls probiert den Code schon umzuschreiben, um zu sagen, dass falls der vorherige Zellwert nicht der vorherige Monat ist, dann einen anderen bestimmten Zellwert übernehmen. Jedoch hatte ich da nicht daran gedacht, dass ab dem ersten angegeben Monat dann wieder das Kriterium stimmt.
Ich wäre sehr dankbar über eure Hilfe!!
LG
Marius
|