Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1624to1628
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 mit geänderter Stringlänge

Anonymisierung mit geänderter Stringlänge
07.06.2018 15:42:45
stormlamp
Hallo Zusammen,
das Thema Daten-Anonymisierung wird aktuell mal wieder richtig hochgekocht.
Bisher nutze ich die Anonymisierung von Klexy heir aus dem Forum (danke an Klexy dafür).
https://www.herber.de/forum/archiv/1616to1620/1617313_Klexys_MusterdateiAnonymisator.html
Der Vorteil ist für die weitere Verarbeitung, dass gleiche Ursprungsstrings auch gleiche Ergebnisstrings verursachen und damit vernünftig weitergearbeitet werden kann, bspw. in Pivottables.
Ein Problem wird leider daduch nicht gelöst. Sind in der zu verschlüsselnden Namensliste besonders lange oder besonders kurze Namen, können diese anhand der Stringlänge von X Zeichen teilweise identifiziert werden, da die Länge des Namens erhalten bleibt.
Kann jemand vielleicht die Ausarbeitung von Klexy so erweitern, dass auch die Stringlängen willkürlich abgeändert werden, ohne jedoch den Vorteil zu verlieren, dass gleiche Ursprungsdaten gleiche verschlüsselte Strings erzeugen.
Freundliche Grüße
Hans

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

Betreff
Datum
Anwender
Anzeige
AW: mein Code?
07.06.2018 15:52:36
Fennek
Hallo,
die Diskussion hat mich damals motiviert, einen weiteren Vorschlag zu machen. Diesen könnte ich anpassen.
mfg
(aber nicht den Code anderer zu ändern)
AW: mein Code?
07.06.2018 16:00:59
stormlamp
Hallo Fennek,
den probiere ich dann gerne aus, wenn Du Dir die Mühe machen möchtest.
Gruß
Hans
AW: VBA Anonymisierung
07.06.2018 16:37:35
Fennek
Hallo,
hier ein Code, der eine Mindestlänge von 5, eine max. Länge von 8 erzwingt.

Sub Anonym()
Dim By() As Byte
With CreateObject("scripting.dictionary")
For Each it In ActiveSheet.UsedRange.Offset(1).SpecialCells(2, 2)
If Not .exists(it.Value) Then
Tx = it.Value
Tx = Left(IIf(Len(Tx) 
mfg
Anzeige
AW: VBA Anonymisierung
07.06.2018 17:37:09
stormlamp
Hallo Fennek,
mit dem Code habe ich ein paar Probleme:
1. Es wird das ganze Tabellenblatt anonymisiert und nicht nur die markierte Spalte
2. Zahlen, Lehrzeiichen und Interpunktion werden unverändert gelassen.
Viele Grüße
Hans
AW: Variante
07.06.2018 21:24:15
Fennek
Hallo,
hier eine Variante:
- gleiche Texte im Original werden gleich anonymisiert (damit man suchen/vergleichen kann)
- Zahlen (auch Datum) bleibt erhalten
- Kopfzeile bleibt erhalten
- die Länge ist mindest 6, maximal 13

Sub Anonym()
Dim By() As Byte
With CreateObject("scripting.dictionary")
For Each it In ActiveSheet.UsedRange.Offset(1).SpecialCells(2, 2)
If Not .exists(it.Value) Then
Tx = Left(IIf(Len(it.Value) 
mfg
Anzeige
AW: Variante
08.06.2018 12:19:30
stormlamp
Hallo Fennek,
leider wird weiterhin nicht nur die markierte Spalte anonymisiert sondern das ganze Tabellenblatt.
Markiere ich einen Zellbereich, den ich anonymisieren will, schreibt das Makro auch in die leeren Zelle der Spalten, die Werte haben.
Es wäre zusätzlich prima, wenn die Auswahl bestünde, auch Zahlen (ohne Datum), Leerzeichen in Strings und Interpunktion in Strings (, : . -) ebenfalls einzubeziehen.
Die Hauptsache ist jedoch, dass nur die Bereiche anonymisiert werden, die ich auch ausgewählt habe.
Testbeispiel: In Spalte A habe ich eine Namensliste. Ich kopiere den Inhalt in Spalte C. Danach markiere ich Spalte A und starte das Makro. Es wird nicht nur Spalte A sondern auch Spalte C anonymisiert.
Gruß
Hans
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige