Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1516to1520
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

Stammdaten überspielen

Stammdaten überspielen
12.10.2016 12:58:16
nihil
Hallo zusammen,
ich arbeite mit einer Accessdatei, die ca. 20.000 Datensätze umfasst.
Diese Datenbank mit einem beispielhaften Ausschnitt ist in Tabellenblatt „Datenbasis“ der Testdatei hinterlegt:
https://www.herber.de/bbs/user/108735.xlsx
Eindeutig zuzuordnen sind diese Datensätze über die „ID“, welche als Identifikationsnummer für den jeweiligen Kontakt dient.
Nun wird diese Datenbasis regelmäßig exportiert und im Zuge unterschiedlicher Excel-Arbeitsdateien verwendet und auch modifiziert.
Eines von vielen Anwendungsbeispielen wäre z.B. eine Außendienstliste (Tab „Beispiel1“).
Der zuständige Außendienstmitarbeiter hätte die Aufgabe seinen Zuständigkeitsbereich im Hinblick auf die Besuchszeiten der Kunden zu bearbeiten, die Spalten B und C als nicht in der Datenbasis befindliche Informationen wären also der Bearbeitungsfokus.
Im Zuge der Bearbeitung würden aber dennoch vereinzelt Stammdatenänderung vorgenommen (z.B. aus dem Gespräch resultierend Änderungen der Anschrift oder Telefonnummer), die für die "Datenbasis" relevant sind.
Diese Informationen würden dann von mir nach abgeschlossener AD-Recherche via Import wieder in die Datenbasis eingespielt.
Ich habe das bisher immer mit einem Sverweis auf die „ID“-Spalte gemacht, was aber einen enormen manuellen Aufwand bedeutet und im Hinblick auf die Größe der Datenbasis außerdem fehleranfällig ist.
Zu schnell ist mal ein falscher Datensatz überschrieben, was leider oft erst viel später auffällt, wenn es zu spät ist.
Ich suche nun nach einer Möglichkeit, Arbeitstabellen wie „Beispiel1“ mit einem Makro direkt in die „Datenbasis“ einspielbar zu machen.
Diese Routine würde dann also einen Bezug beider Datensätze mit der „ID“-Spalte herstellen und die Datensätze der modifizierten Stammdatenspalten in die Datenbasis einspielen.
Hierbei würden sowohl geänderte Datenfelder übernommen, als auch unveränderte Datenfelder im Originalzustand belassen.
Einheitliches Merkmal ist, wie gesagt, die „ID“ - weiterhin würden die Spaltenüberschriften der Datenbasis auch in den Arbeitstabellenblättern zu finden sein, das ermöglicht ggf. einen zusätzlichen Bezug.
Hat jemand eine Idee, für einen geeigneten Lösungsansatz?
Danke vorab und viele Grüße
Nils

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

Betreff
Datum
Anwender
Anzeige
AW: Stammdaten überspielen
12.10.2016 13:25:59
Rudi
Hallo,
aus dem Außendienst-MA-Blatt starten (Alt+F8):
Sub UpdateDatenBasis()
Dim arrADMA, i As Long, j As Long, wksDB As Worksheet
Dim vntRow As Long, vntCol As Long
Application.ScreenUpdating = False
Set wksDB = Worksheets("Datenbasis")
If Not ActiveSheet Is wksDB Then
arrADMA = Cells(1, 1).CurrentRegion
For i = 2 To UBound(arrADMA)
vntRow = Application.Match(arrADMA(i, 1), wksDB.Columns(2), 0)
If Not IsError(vntRow) Then
For j = 4 To UBound(arrADMA, 2)
vntCol = Application.Match(arrADMA(1, j), wksDB.Rows(1), 0)
If Not IsError(vntCol) Then
wksDB.Cells(vntRow, vntCol) = arrADMA(i, j)
End If
Next j
End If
Next i
End If
End Sub

Gruß
Rudi
Anzeige
AW: Stammdaten überspielen
12.10.2016 14:02:35
nihil
Hallo Rudi,
unglaublich, das funktioniert einwandfrei.
Tausend Dank für diese unkomplizierte Lösung!
Viele Grüße
Nils

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige