VBA suchen und kopieren Anwesenheitsliste
Hallo Zusammen,
wie kann ich diese Anwesenheitsliste...
... gegen die Datenbank prüfen und das Datum des Anwesenden (Nr.) zur jeweiligen Schulung reinschreiben.
Ich müsste ja prüfen, welche Schulungsnummer in der Anwesenheitstabelle eingetragen ist
und Spalte A eine Range prüfen ob die ungleich Leer sind bzw. durchlaufen wo Ausweisnummern eingetragen sind.
Dann müsste ich die Ausweisnummer in der Datenmatrix suchen und dort zur jeweiligen Schulung
das Datum eintragen.
Vielleicht kann mir jemand weiterhelfen...
MfG
Florian86
wie kann ich diese Anwesenheitsliste...
... gegen die Datenbank prüfen und das Datum des Anwesenden (Nr.) zur jeweiligen Schulung reinschreiben.
Ich müsste ja prüfen, welche Schulungsnummer in der Anwesenheitstabelle eingetragen ist
und Spalte A eine Range prüfen ob die ungleich Leer sind bzw. durchlaufen wo Ausweisnummern eingetragen sind.
Dann müsste ich die Ausweisnummer in der Datenmatrix suchen und dort zur jeweiligen Schulung
das Datum eintragen.
Vielleicht kann mir jemand weiterhelfen...
MfG
Florian86
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 551337
Url: https://administrator.de/forum/vba-suchen-und-kopieren-anwesenheitsliste-551337.html
Ausgedruckt am: 23.12.2024 um 16:12 Uhr
8 Kommentare
Neuester Kommentar
Moin,
ich würde bei so etwas erstmal davon ausgehen, dass Menschen und Maschine damit arbeiten sollen.
Das Problem ist meiner Meinung nach dann, dass so, wie Maschinen am besten mit Daten umgehen können, Menschen diese meistens nicht mehr so doll lesen können.
Ergo:
Ich würde, wenn ich die obere Tabelle als Eingabeformular verstehen soll, in einer weiteren Tabelle die eingegebenen Daten maschinenkonform aufbereiten.
Dasselbe gilt auch für die zweite Tabelle.
Wenn Du das nämlich machst, holst Du Dir nicht das Leben auf der Suche nach einem geeigneten Algo, sondern läufst zeilen- und spaltenweise durch.
ich würde bei so etwas erstmal davon ausgehen, dass Menschen und Maschine damit arbeiten sollen.
Das Problem ist meiner Meinung nach dann, dass so, wie Maschinen am besten mit Daten umgehen können, Menschen diese meistens nicht mehr so doll lesen können.
Ergo:
Ich würde, wenn ich die obere Tabelle als Eingabeformular verstehen soll, in einer weiteren Tabelle die eingegebenen Daten maschinenkonform aufbereiten.
Dasselbe gilt auch für die zweite Tabelle.
Wenn Du das nämlich machst, holst Du Dir nicht das Leben auf der Suche nach einem geeigneten Algo, sondern läufst zeilen- und spaltenweise durch.
Range.Find method (Excel) ist dein Freund.
Und mit Range.Offset dann die Ausgabezelle die du mit "Range.Find" gefunden hast um deine gewünschte Schulung nach rechts verschieben, dort die Daten reinschreiben fertsch.
Und mit Range.Offset dann die Ausgabezelle die du mit "Range.Find" gefunden hast um deine gewünschte Schulung nach rechts verschieben, dort die Daten reinschreiben fertsch.
Im Code beziehe ich mich immer noch auf A4, da ich nicht weis wie ich das machen muss.
In der Laufvariablen c hast du die aktuelle Zeile, damit kannst du mitc.Value
Wenn du jetzt noch die Schulungsnummer in den Offset einbaust kannst du dir die If Abfragen komplett sparen und somit die ganzen doppelten Codebestandteile
Wie, bei einer einfachen Multiplikation ?!
Vielleicht regt das deine Zellen ja etwas an
Vielleicht regt das deine Zellen ja etwas an
ActiveCell.Offset(0, 4 + ((schulungsnummer - 1) * 3)).Activate