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

Anonymisierung einer großen Excel Tabelle

Anonymisierung einer großen Excel Tabelle
23.12.2019 16:46:24
JohnnyN
Hallo, ich bin neu hier und hatte bisher alle Probleme ohne fremde Hilfe gelöst. Das folgende übersteigt meine Fähigkeiten:
Ich muss eine Excel Tabelle mit 22.000 Zeilen anonymisieren.
In einer Spalte C stehen die Namen von Kunden (Nachname, Vorname)(viele Duplikate!), in D die von Mitarbeitern. In Spalte E sind tages- und Minutengenaue Berichte von Mitarbeitern zu Kunden. In den Berichten kommen sporadisch die Namen der Kunden oder anderer Mitarbeiter vor.
Eine Liste mit 275 Kunden (ohne Duplikate) herauszuziehen war kein Problem.
Daraus die Nach- und Vornamen in getrennten Spalten zu trennen ging auch gut (Spalten I+J)
Auch die Bildung von Pseudonymen aus Vor- und Nachnamen ging gut: 1.+2 Buchstabe Nachname & 1.Buchstabe Vorname & "xxx". (Spalte K) (Beispiel: "Hans Meier" = "MeHxxx")
Das gleiche habe ich für die Mitarbeiter in Spalten L, M, N.
Jetzt brauche ich ein Makro, welches seriell die Spalte E mit den Berichten durchsucht und nacheinander die darin vorkommenden Namen aus Spalte I sucht und durch die Einträge in K ersetzt sowie das gleiche nochmal für die Mitarbeiter. Jeweils die Spaltenindizes zu ändern, soll nicht das Problem sein. (Was ich mit den Vornamen mache, weiß ich noch gar nicht...)
Ein wenig VBA kann ich, aber die Variablendefinitionen und seriellen Befehle übersteigen jetzt meine Fähigkeiten...
Vielen Dank schon mal an die, die mir helfen!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Anonymisierung einer großen Excel Tabelle
23.12.2019 16:54:04
Klaus
Warum machst du das nicht mit STRG+F? Derweil einmal den Rekorder laufen lassen, schon hast du es als Makro.
LG und frohes Fest,
Klaus M.
AW: Anonymisierung einer großen Excel Tabelle
23.12.2019 18:36:23
Fine
Hallo, JohnnyN,
müßte ich das tun, was Du vorhast - ich finde das gar nicht so einfach - würde ich wohl diesen Ansatz wählen:
1. Wegen der Größe würde ich im Hauptspeicher arbeiten - also: 22.000 Zeilen mit einem Rutsch in ein Array einlesen.
2. Dieses Array würde ich in einer Schleife Satz für Satz durchgehen:
auf das Element, das den Inhalt von Spalte E, also den Bericht, enthält würde ich in Abhängigkeit vom zu suchenden Kundennamen, den Du aus einem anderen Array-Element holst, einen FIND- bzw. Find next-Befehl loslassen und bei Funden (hoffentlich(!!!!) sind die Namen dort so wie in der Namenspalte) würde ich eben den Namen ersetzen. So oft es eben nötig ist.
3. Das Gleiche muß dann auch noch einmal für die Mitarbeiter gemacht werden.
Damit Du ein bißchen spinzen kannst:
https://www.informatik-aktuell.de/entwicklung/programmiersprachen/excel-vba-im-zusammenspiel-mit-arrays.html
https://excelmacromastery.com/excel-vba-array/
https://excelmacromastery.com/excel-vba-find/
Ich hoffe, Dir etwas weitergeholfen zu haben
Anzeige
AW: Anonymisierung einer großen Excel Tabelle
23.12.2019 18:38:07
Fine
... sorry
Natürlich mußt Du am Ende das Array wieder zurückschreiben - auch mit einem Befehl.
Gutes Gelingen!
AW: Anonymisierung einer großen Excel Tabelle
24.12.2019 12:50:20
JohnnyN
Hallo Fine,
ich bin jetzt nicht auf Arbeit, sehe aber dass Du geantwortet hast! Vielen herzlichen Dank schon mal dafür! Ich werde das am Freitag ausprobieren (bzw. erstmal lesen), wenn ich wieder arbeiten bin! Jetzt wünsche ich erstmal ein frohes Fest!
Viele Grüße Johnny
AW: Anonymisierung einer großen Excel Tabelle
24.12.2019 17:00:38
Fine
Danke für die Rückmeldung:-)
Ich hoffe, es paßt!
Fine
AW: Anonymisierung einer großen Excel Tabelle
25.12.2019 16:21:43
Fine
Ich hoffe, Du liest diesen Hinweis, bevor Du Dich an die Arbeit machst.
Bitte, verwende - falls Du dem von mir vorgeschlagenen Ansatz folgen möchtest - statt der Find-Methode die Replace-Funktion im Array. Find ist eine Methode eines Range-Objektes und funktioniert nicht in Arrays.
Schau' ggfs. auch hier hinein:
https://vbaf1.com/functions/replace/#_Toc08
Melde Dich bitte, wenn Du alleine nicht weiterkommst.
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen
Forumthread
Beiträge