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

Duplikate in Workbook finden und Nachbarzelle kopi

Duplikate in Workbook finden und Nachbarzelle kopi
24.01.2016 09:48:05
Bernhard
Guten Tag zusammen,
wie so viele hier, habe ich auch ein kleines Problem, bei dem ich nicht weiterkomme.
Ich habe eine Datei in die ich über "Application.GetOpenFilename" eine beliebige Anzahl an CSV-Dateien importiere. Es wird für jede CSV ein eigenes Worksheet erstellt mit dem Namen der Ursprungsdatei. Anschließend wird alles passend formatiert. Soweit funktioniert alles.
Nun zum Problem:
Die Arbeitsblätter sind alle gleich aufgebaut. In Spalte 4 stehen Texte. Die Spalte 5 ist leer. Sie ist für eventuelle Übersetzungen der Spalte 4 gedacht. Von mir gewünscht ist, dass ein Vergleich des Textes in Spalte 4 über alle Tabellenblätter durchgeführt wird. Sobald ein Duplikat gefunden wurde und es eine Übersetzung in Spalte 5 dazu gibt, soll diese Übersetzung auch für alle Duplikate verwendet werden. Ergo in die Nachzelle kopiert werden.
Möchte mir damit etwas Zeit bei der Übersetzung sparen, da ich viele gleiche Texte in Spalte 4 habe.
Vielen Dank schon mal im Voraus für eure Mühe

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

Betreff
Datum
Anwender
Anzeige
AW: Duplikate in Workbook finden und Nachbarzelle kopi
24.01.2016 11:56:07
Daniel
Hi
1. kopiere die Spalten 4 und 5 aller Blätter in ein neues Blatt zusammen untereinander (in Spalte A und B)
2. lösche auf dem Blatt alle Zeilen, die in Spalte B leer sind:
Columns(2).SpecialCells(xlcelltypeblanks).entirerow.delete
3. sortiere die Tabelle nach Spalte A aufsteigend
4. prüfe, ob es für einen Begriff u.U. mehrere Übersetzungen gibt und lösche dann die unerwünschte (das ergebnis soll ja einheitlich sein)
5. wende ggf Dupliatke-Enfernen auf diese Liste an um sie zu kürzen.
6. schreibe in die Leerzellen (oder auch in alle Zellen) der Spalte 5 der anderen Tabellen folgende SVerweisformel um die Übersetzung auszulesen:
=WennFehler(SVerweis(D2;ÜbersetzungsBlatt!A:B;2;0);"")
geht natürlich auch per Makro:
Sheets(...).Columns(5).SpecialCells(xlcelltypeblanks).FormulaR1C1 = "=IfError(VlookUp(RC4,Übersetzungsblatt!C1:C2;2;0),"""")"
Gruß Daniel

Anzeige
AW: Duplikate in Workbook finden und Nachbarzelle kopi
24.01.2016 14:34:39
Bernhard
Hallo Daniel
zunächst mal danke für deine Antwort.
An solch eine Lösung dachte ich auch schon. Nur brauche ich die eingetragene Übersetzung wieder in meinen original Tabellenblättern.
Vielleicht hat noch jemand ne andere Idee.

AW: Duplikate in Workbook finden und Nachbarzelle kopi
24.01.2016 15:58:27
Daniel
Hi
daran habe ich doch auch gedacht, das macht Punkt 6. in meiner Beschreibung.
du musst in den Originaltabellen in die Spalte E die SVerweisformel schreiben, mit welchler du die Übersetztung aus der Übersetzungstabelle einliest.
Gruß Daniel

AW: Duplikate in Workbook finden und Nachbarzelle kopi
24.01.2016 16:18:02
Daniel
ansonsten kannst du auch mal dieses Makro probieren:
in einer ersten Schleife werden die vorhandenen Übersetzungen gesammelt.
in der zweiten Schleife werden dann die Übersetzungen an die Duplikate, bei denen sie fehlen zurückgeschrieben.
sollte es für einen Text verschiedene Übersetzungen geben, so wird für die fehlenden die letzte gefundene verwendet:
Sub test()
Dim sh As Worksheet
Dim ÜB As Object
Dim arr
Dim z As Long
Set ÜB = CreateObject("Scripting.Dictionary")
'--- vorhandene Übersetzungen einlesen
For Each sh In ActiveWorkbook.Worksheets
arr = sh.UsedRange.Columns(4).Resize(, 2)
For z = 2 To UBound(arr, 1)
If arr(z, 2)  "" Then ÜB(arr(z, 1)) = arr(z, 2)
Next
Next
'--- fehlende Übersetzungen bei Duplikattexten ergänzen
For Each sh In ActiveWorkbook.Worksheets
With sh.UsedRange.Columns(4).Resize(, 2)
arr = .Value
For z = 2 To UBound(arr, 1)
If arr(z, 2) = "" Then
If ÜB.exists(arr(z, 1)) Then arr(z, 2) = ÜB(arr(z, 1))
End If
Next z
.Value = arr
End With
Next sh
End Sub
Gruß Daniel

Anzeige
AW: Duplikate in Workbook finden und Nachbarzelle kopi
24.01.2016 23:13:45
Bernhard
Hallo Daniel
Hab gerade dein Makro ausprobiert. Es funktioniert super und erfüllt genau meine Bedürfnisse. Ich Danke dir vielmals für die schnelle und kompetente Hilfe.
War meine erste Erfahrung in solch einem Forum. Das diese direkt so positiv ausgefallen ist find ich toll.
Nochmals Danke

AW: Duplikate in Workbook finden und Nachbarzelle kopi
24.01.2016 23:16:07
Bernhard
Hallo Daniel
Hab gerade dein Makro ausprobiert. Es funktioniert super und erfüllt genau meine Bedürfnisse. Ich Danke dir vielmals für die schnelle und kompetente Hilfe.
War meine erste Erfahrung in solch einem Forum. Das diese direkt so positiv ausgefallen ist find ich toll.
Nochmals Danke
Anzeige

194 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige