cyberkey
Goto Top

Große Excel-Tabelle Automatisches vergleichen und zusammenführen

Hallo,

Ich habe 3 Excel Tabellen, es geht darum den Namen eine ID zuzuweisen und sie anschließend in eine neuere Tabelle mit einzupflegen.

Die Daten werden mit Tabelle 2 verglichen (Dienststellen und adresse) und dann die ID in Tabelle 3 ev. durch suchen der Namen eingetragen.
Um das etwas zu veranschaulichen habe ich ein Bild angehängt.

Mein bisheriger Lösungsansatz war das Manuell zu machen bzw. die manuellen Schritte Aufzuzeichnen mit nem Macro-tool, das ersparte zumindest ein bischen Copy&paste... Aber es ist halt sehr Zeitintensiv da es mehr als 4000 einträge abzugleichen gibt und wenn mal was nicht übereinstimmt (Dienststellen oder adressen) Bugt das Script...

Wäre es irgendwie möglich das als richtiges Script zu realisieren.. so das wenn mal was nicht übereinstimmt ( Rechtschreibfehler usw...) einfach fragezeichen eingesetzt werden?

Vom Programmieren habe ich leider keine Ahnung... vll. fällt euch etwas ein..

schonmal Danke

a85ef9b2425bfd53c0b3739502d4c570

Content-Key: 136122

Url: https://administrator.de/contentid/136122

Printed on: April 24, 2024 at 07:04 o'clock

Member: GrEEnbYte
GrEEnbYte Feb 17, 2010 at 07:28:34 (UTC)
Goto Top
Hallo
ich würde sowas in Access machen.
das geht viel einfacher. ohne Programmierung
Excel tabellen importieren
EIne neue Abfrage erstellen
die Tabellen auf die Abfrage ziehen
einen join auf die Felder machen die gleich sein sollen
und ausführen


ciao
Member: Cyberkey
Cyberkey Feb 17, 2010 at 07:31:25 (UTC)
Goto Top
Ich habe nochnie mit Access gearbeitet ist das auch für Anfänger realisierbar?
Es kommt öfter vor das manche einträge garnicht übereinstimmen oder nichtmal vorhanden sind.. und die müssen irgendwie Markiert werden damit ich diese Mauell korrigieren kann.
Member: H41mSh1C0R
H41mSh1C0R Feb 17, 2010 at 07:34:25 (UTC)
Goto Top
Hallo,

EDIT:
nehmen wir mal folgendes als Ausgangspunkt, macht sich vielleicht besser ^^

Option Explicit 

Sub suchen() 
Dim strFind As String 
Dim c As Range 
strFind = InputBox("Bitte den Suchbegriff eingeben")   
With Worksheets("Tabelle1").Range("A" & Range("A65536") _   
.End(xlUp).Row, Cells(1, Range("IV1").End(xlToLeft).Column))   
    Set c = .Find(strFind, LookIn:=xlValues) 
    If Not c Is Nothing Then 
        MsgBox "Gefunden in Zelle " & c.Address   
    End If 
End With 
End Sub

Hierbei füge in dein Excelfile einen Button ein den du dann noch drücken musst.
In diese Funktion packst du dann eine Variable die dir aus der Cursorzeile den Namen wegspeichert. Das wird dann dein strFind.

Auf diese Art und Weise verfährst du mit allen Suchkriterien. Am besten du schachtelst das ganze, wenns nur 2-3 Suchkriterien gibt.

Aus den Ergebnissen kristalisiert sich dann der Datensatz raus der gesucht wird.

Hierbei werden natürlich noch keine Rechtschreibfehler berücksichtigt.

Wenn du den Datensatz gefunden hast schreibst du alles in die Tabelle 3 und *freu*.
Member: TheEternalPhenom
TheEternalPhenom Feb 17, 2010 at 07:58:46 (UTC)
Goto Top
Sers,

Zu deiner Frage mit dem Script es ist nicht unmöglich ein solches zu schreiben, es stellt sich bloß die Frage was ist einfacher.

Eine Access Datenbank welche für solche Aufgaben extra gestaltet wurde oder ein wahrscheinlich aufwendiges Programm welches nicht mit einer 100%igen Gewissheit alle Probleme löst.

Ich persönlich würde dir auch Raten eine Access-Datenbank zu nutzen.

Nun zu deiner Frage ob es auf für Anfänger realisierbar ist.
Ich habe innerhalb von 10 Schulstunden die Grundlagen von Access und noch etwas mehr gelernt. Ich denke mal, mit einer guten Anleitung und etwas Zeit kann man sich die Grundlagen von Access relative schnell selbst beibringen.

Lass dich jetzt bitte nicht von den 10 Schulstunden abschrecken der ganze Unterricht wäre viel schneller über die Bühnen gegangen wären nicht ein paar viele Bremsen dabei gewesen.

gruß

duffman521
Member: GrEEnbYte
GrEEnbYte Feb 17, 2010 at 08:14:35 (UTC)
Goto Top
Es ist ein etwas anderes Konzept. Aber ich denke wenn Du dich reinkniest kannst Du es an einem Tag kapiert haben.
Mitglied: 76109
76109 Feb 17, 2010 at 08:28:56 (UTC)
Goto Top
Hallo H41mSh1C0R!

Eine kleine Anmerkung zur Funktion FIND. Diese Funktion gehört zu denjenigen, bei denen die Optionen der zuletzt gespeicherten Einstellung übernommen werden, sofern diese nicht explizit angegeben sind. D.h. bei Verwendung der Suchfunktion im Excelsheet, werden die Sucheinstellungen gespeichert und auch in der Makro-Find-Funktion verwendet. Jenachdem, wie auf Klein-/Großschreibung und Teil-/Inhaltvergleich geachtet werden soll, immer angeben.

Teilvergleich:
LookAt:=xlPart
Inhaltvergleich:
LookAt:=xlWhole

Klein/Großschreibung unterscheiden:
MatchCase:=True
Klein/Großschreibung nicht unterscheiden:
MatchCase:=False

Gruß Dieter
Member: H41mSh1C0R
H41mSh1C0R Feb 17, 2010 at 08:41:25 (UTC)
Goto Top
Hallo Dieter,

danke für den Tipp. Wieder was gelernt =).

Grüße
Member: Cyberkey
Cyberkey Feb 17, 2010 at 14:55:02 (UTC)
Goto Top
Also einer meiner Kollegen hatte mal so ein Script in VBS... das die Daten abgeglichen hat und wo es keine übereinstimmungen in der Dientstelle gab... die Zeilen wurden Rot hinterlegt...

Dann hat man erstmal ID und Name...

Danach in Schritt 2 kann man ID zu dem Namen in Tabelle 3 Ordnen...

Ist so ein Script möglich?
Member: Cyberkey
Cyberkey Feb 17, 2010 at 14:58:31 (UTC)
Goto Top
Im Prinziep kann man es mit Microsoft Office Access 2003 machen... aber das dauert sehr lange alleine bis ich mich da reingefunden habe.. :/