Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1664to1668
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

Tabellen per Makro abgleichen // Datenänderungen

Tabellen per Makro abgleichen // Datenänderungen
02.01.2019 15:27:52
Tobias
Hallo liebe Community!
Ich muss wöchentlich zwei Tabellenblätter abgleichen. Tabellenblatt 1 wird wöchentlich importiert und beinhaltet aktuelle Mitarbeiterstammdaten. Tabellenblatt 2 beinhaltet Änderungen, die leider nicht automatisch im System vermerkt werden können, aber für weitere Auswertungen in Tabellenblatt 1 benötigt werden. Diese Änderungen sind dauerhaft und werden jede Woche identisch eingetragen (umfassen aber mind. 20 Zeilen).
Ich habe mir bisher eine Lösung mit einem SVERWEIS gedacht, da ich in beiden Blättern die Namen der Mitarbeiter habe sowie in Blatt 1 den dazugehörigen alten Vorgesetzten und in Blatt 2 den neuen Vorgesetzten. Allerdings komme ich hier nicht weiter, wie ich die Bedingungen in VBA richtig formuliere bzw. wie ich entsprechend des aufgeführten Namens in einer anderen Spalte die Änderung veranlasse. Eine kleine Beispieldatei mit Erklärung ist im Anhang bzw im Link:
https://www.herber.de/bbs/user/126434.xlsx
Ich kann zwar mit Excel einigermaßen umgehen, aber bei VBA bin ich noch recht neu! Ich bedanke mich für jede Hilfe!

Ich wünsche allen noch ein Frohes Neues Jahr!

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabellen per Makro abgleichen // Datenänderungen
02.01.2019 16:09:11
fcs
Hallo Tobias,
mit der Funktion "Match" (entspricht Tabellenfunktion VERGLEICH) kommt man hier besser weiter.
LG
Franz
'Makro in einem allgemeinen Modul
Sub AendernVorgesetzter()
Dim wksMAL As Worksheet, wksAenderung As Worksheet
Dim rngAenderung As Range, arrNamen, varName As Variant, varZeile As Variant
Dim Zeile As Long
Set wksMAL = ActiveWorkbook.Worksheets("Mitarbeiterliste")
Set wksAenderung = ActiveWorkbook.Worksheets("Änderungen")
With wksAenderung
'Zellbereich mit den Änderungen
Set rngAenderung = .Range(.Cells(2, 1), _
.Cells(.Rows.Count, 1).End(xlUp).Offset(0, 1))
'Namen aus Zellbereich in Daten-Array einlesen
arrNamen = rngAenderung.Columns(1)
End With
With wksMAL
For Zeile = 2 To .Cells(.Rows.Count, 1).End(xlUp).Row
varName = .Cells(Zeile, 1).Value
'Zeile mit Name im Daten-Array ermitteln-Liefert Fehlerwert wenn Name _
nicht vorhanden
varZeile = Application.Match(varName, arrNamen, 0)
If IsNumeric(varZeile) Then
'geänderten Namen eintragen in Mitarbeiterliste
.Cells(Zeile, 5).Value = rngAenderung.Cells(varZeile, 2).Value
End If
Next Zeile
End With
End Sub

Anzeige
AW: Tabellen per Makro abgleichen // Datenänderungen
02.01.2019 16:51:25
Tobias
Hallo Franz,
das ist genau das, was ich gesucht habe! Es funktioniert bestens und hat sich problemlos an die Originaldatei anpassen lassen!
Vielen Dank!
Viele Grüße,
Tobias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige