ich bin kompletter VBA-Anfänger und stehe vor einem Problem.
Wäre super nett, wenn mit jemand helfen könnte.
Um folgendes geht es:
Ich habe zwei Tabellen.
Tabelle 1 in Datei1:
Diese Tabelle enthält sämtliche im Betrieb vorhandenen, ausgetretenen und in EZ befindlichen Mitarbeiter mit ihren identifizierenden Personalnummern in Spalte C und Zusatzinformationen in den Zeilen. Die Tabelle ist dabei gefiltert auf in einer Hilfspalte in Spalte A festgelegte Kürzel für "aktiv im Betrieb stehend" mit Kürzelbezeichnung "P1" und "" (leer) . "Nicht aktiv" hat die Kürzel "P2","EZ" und "A" . Die Mitarbeiter beginnen dabei ab Zeile 66.
Visuell sieht die Tabelle etwa so aus: (Autofilter auf entweder P1 oder leer in Spalte A)
..........[A] ..........[C] ...
66......P1..........12345..........Zusatzinfos für Mitarbeiter 1 (aktiv)
67......EZ..........35498..........Zusatzinfos für Mitarbeiter 2 (inaktiv)
68......A............35135..........Zusatzinfos für Mitarbeiter 3 (inaktiv)
69......" "...........68464..........Zusatzinfos für Mitarbeiter 4 (aktiv)
70......P1...........35463..........Zusatzinfos für Mitarbeiter 5 (aktiv)
...
...
Tabelle 2 in Datei2:
Diese Tabelle ist die Plandatei für die Jahresurlaubsverteilung der Mitarbeiter, hierfür benötigt die Tabelle NUR die aktiven Mitarbeiter. Alle Mitarbeiter zu übernehmen und in dieser Tabelle zu filtern ist dabei nicht möglich.
In Spalte A befindet sich dabei wieder die Personalnummer.
Visuell kann man sich diese Tabelle so vorstellen:
[A] .....
12345..........Zusatzinfos für Mitarbeiter 1 (aktiv) + Urlaubsplanung
68464..........Zusatzinfos für Mitarbeiter 4 (aktiv) + Urlaubsplanung
35463..........Zusatzinfos für Mitarbeiter 5 (aktiv) + Urlaubsplanung
35435..........Zusatzinfos für Mitarbeiter 7 (aktiv) + Urlaubsplanung
68454..........Zusatzinfos für Mitarbeiter 8 (aktiv) + Urlaubsplanung
...
...
Ziel:
Ich versuche jetzt mir einen Code so auszulegen, dass Mitarbeiterveränderungen, sei es ein Aktiv/Inaktiv-Wechsel oder wenn neue Mitarbeiter hinzukommen, nur in Tabelle1 eingetragen werden müssen und nach dem Öffnen der Tabelle2 dort automatisch angefügt werden.
Tabelle2 soll nach dem Öffnen die Personalnummern in Spalte A mit denen der Tabelle1 (nur die gefilterten Zeilen mit Kürzel "P1" oder "" von Tabelle 1) in Spalte C durchgehen und vergleichen. Wenn eine Personalnummer in Tabelle1 als aktiv gekennzeichnet ist, diese in Tabelle2 aber nicht vorhanden ist, soll diese ans untere Ende der Tabelle 2 angefügt werden.
Bisher habe ich leider keinen Erfolg damit.
Habe untenstehenden Code entworfen, der leider noch nicht funktioniert. Ich habe wie gesagt wenig Ahnung von VBA, eher Java-Grundkenntnisse, deswegen Sorry wenn das totaler Mist ist, was nachfolgend steht.
Code:
Dim iter1 As Long
Dim iter2 As Long
Dim numberOfElements As Long
Dim wertTab1 As Long
Dim check As String
iter1 = 66
iter2 = 7
While iter1 wertTab1
And Sheets("Tabelle2").Cells(iter2, "A") "" Then
iter2 = iter2 + 1
numberOfElements = ThisWorkbook.Worksheets(1).UsedRange.Rows.Count + 1
Sheets("Tabelle2").Cells(numberOfElements, "A") = wertTab1
Wend
End If
Wend
End If
iter1 = iter1 + 1
Wend
Bin für jeden Hinweis dankbar!
Ich hoffe, mir kann jemand helfen.
Beste Grüße,
BB