Live-Forum - Die aktuellen Beiträge
Datum
Titel
19.04.2024 12:23:24
19.04.2024 11:45:34
Anzeige
Archiv - Navigation
1484to1488
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

VBA spezielle Art der Duplikatüberprüfung & mehr

VBA spezielle Art der Duplikatüberprüfung & mehr
13.04.2016 20:11:48
Martin
Hi! Wieder mal ich :)
Ich glaube diesmal ist meine Frage ein bisschen tricky aber vielleicht gibt es ja doch wieder ein Genie welches mir hier weiter helfen kann :)
In meinem Beispiel steht in der Spalte B eine Bezeichnung und in Spalte C ein Zellbezug welcher mit =ADRESSE() erstellt wurde.
Ich möchte nun Zellen bzw Bereiche überprüfen ob in C der gleiche Bezug errechnet wird. Wenn ja, sollen die Bezeichnungen in der Spalte B kombiniert werden und in der Spalte C soll der entsprechende Bezug stehen.
Irgendwie schwierig zu erklären deshalb hier eine Beispieldatei fürs bessere Verständnis:
https://www.herber.de/bbs/user/104948.xlsx
Ich hoffe es ist verständlich und ihr könnt mir auch diesmal wieder weiter helfen!
Danke und lg
Martin!

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

Betreff
Datum
Anwender
Anzeige
AW: VBA spezielle Art der Duplikatüberprüfung
13.04.2016 20:17:34
Martin
Kleiner Fehler im Beispiel!
In Zelle C20 soll natürlich $E$4 stehen nicht $E$3!
Ob der Zellbezug als Adresse oder als Text kopiert wird ist nicht wichtig.
Danke nochmal!

AW: VBA spezielle Art der Duplikatüberprüfung
13.04.2016 21:21:52
Michael
Hi Martin,
das geht schön mit einem Dictionary:
Option Explicit
Sub lesen()
Dim o As Object, v As Variant
Dim i&, wert$, itemw$
Set o = CreateObject("scripting.dictionary")
For i = 8 To 18
wert = "'" & Range("C" & i).FormulaLocal
If o.exists(wert) Then
o(wert) = o.Item(wert) & " / " & Range("B" & i).Value
Else
o(wert) = Range("B" & i).Value
End If
Next
i = 20
For Each v In o.keys
If InStr(o(v), "/") > 0 Then
Range("B" & i) = o(v)
Range("C" & i).FormulaLocal = Mid(v, 2)
i = i + 1
End If
Next
End Sub
Die Datei: https://www.herber.de/bbs/user/104951.xlsm
Schöne Grüße,
Michael
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige