Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1696to1700
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
Vergleich zweier Spalten
26.06.2019 17:29:32
Manuel
Hallo liebes Forum,
Ich habe hier ein paar Schwierigkeiten mit einem Makro, das ich gerne zum Laufen kriegen würde. Und zwar möchte ich zwei Werte/Einträge in 2 Spalten miteinander vergleichen und gleiche Werte in eine neue Spalte eintragen. Die Werte werden zwar gefunden, aber an der falschen Stelle in der Spalte eingetragen. Wie kann man das besser machen ?
Desweiteren würde ich gerne den Code soweit erweitern, dass z.B. nur die ersten 5/10 Zeichen der Einträge miteinander verglichen werden und dann in der Zielspalte ausgegeben werden.
Hier folgt die Datei:https://www.herber.de/bbs/user/130601.xlsm
Ich danke für eure Hilfe!

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: nachgefragt ...
26.06.2019 17:44:45
neopa
Hallo Manuel,
... Deine Beispieldatei ist zumindest für mich nicht eindeutig. Du hättest noch z.B. 3 weitere Datensätze listen sollen und Dein dafür angestrebtes Zielergebnis "händisch" in C angeben.
Wie viele Datensätze sind denn max. ca. auszuwerten? Wenn es keine tausende sind, käme alternativ auch eine Formellösung in Betracht oder gleich eine PowerQuery-Lösung.
Gruß Werner
.. , - ...
AW: nachgefragt ...
26.06.2019 18:31:28
Manuel
Hallo Werner,
es variiert mit den Einträgen. Manchmal können es bis zu mehreren tausend sein. Manchmal sind es nur um die 100.
Gruß,
Manuel
AW: Frage geklärt, offen: erweit. Beisp.dat.?! owT
26.06.2019 18:48:55
neopa
Gruß Werner
.. , - ...
Anzeige
AW: Frage geklärt, offen: erweit. Beisp.dat.?! owT
26.06.2019 19:07:50
Manuel
Hallo Werner,
anbei eine Beispiel-Datei, wie es nach dem Ausführen für das Makro aussehen sollte.
https://www.herber.de/bbs/user/130603.xlsm
Gruß,
Michael
AW: immer noch nicht eindeutig ...
26.06.2019 20:10:42
neopa
Hallo M. (Michael oder Manuel)
... unklar ist zumindest noch, ob auch doppelte gefunden werden sollen, die lediglich in einer der beiden Spalte vorkommen. Desweiteren was Du genau meinst mit: "nur die ersten 5/10 Zeichen der Einträge miteinander verglichen werden" Auch dafür fehlen Vorgabebeispieldatensätze.
Für die akt. aktuell Daten, habe ich zunächst mal eine reine Formellösung aufgestellt und zwar noch ohne vorhandene Doppelte innerhalb einer Spalte zu berücksichtigen (gelb hinterlegte Zellen)
Die Datentabelle hab ich zuvor als eine "intelligente" Tabelle formatiert und diese _tabl1 benannt.
Arbeitsblatt mit dem Namen 'Tabelle1'
 ABC
7Spalte 1Spalte 2Doppelte
8A1B1A1
9B1C1B1
10AKSLDOSLORASLKSORLAASLKSORLA
11ASLDKWOLAOSLA1B1LGLKSURS
12ALSKDOELAMKDXYZFKJÖKHLÖFK
13ASLKSORLALGLKSURS 
14LGLKSURSA1 
15DJKJFKLWLTKFKJÖKHLÖFK 
16SKJLKSJFLKSA1B1 
17RTOIOEPEWR  
18FALKJFKLAJFLKA  
19FKJÖKHLÖFK  
20FKJSKSKLSL  
21AKSLDOSLOR  

ZelleFormel
C8=WENNFEHLER(INDEX([Spalte 1];AGGREGAT(15;6;(ZEILE([Spalte 1])-ZEILE(_tbl1[#Kopfzeilen]))/(ZÄHLENWENN([Spalte 2];[Spalte 1])&gt0)/(ZÄHLENWENN(C$7:C7;[Spalte 1])=0);1));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.02] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.0) erstellt. ©Gerd alias Bamberg

Gruß Werner
.. , - ...
Anzeige
AW: immer noch nicht eindeutig ...
26.06.2019 20:42:51
Manuel
Hallo Werner,
Erstmal möchte ich dir für die Formellösung danken. Vielen Dank!
Ich möchte gern, dass mein VBA-Code korrigiert wird. Ich hab des nun so hinbekommen, dass die doppelten Werte gefunden werden, leider dauert es eine gewisse Rechenzeit, wenn ich den Range-Bereich vergrößere.
Und was ich noch brauche ist: genau wie es bei dir in der Tabelle ist: ich hab in der einen Spalte A1B1 und in der anderen A1. Nun möchte ich die Formel/VBA-Code so verstellen, dass nur immer die ersten zwei Zeichen miteinander verglichen, bei jedem Eintrag und wenn es hier eine Übereinstimmung gibt, sollte des in der Ziel-Spalte ausgegeben werden ( und zwar das, was in der zweiten Spalte steht), also in dem Fall A1B1.
Verstehst du mich?
Gruß,
Manuel alias Michael
Anzeige
AW: immer noch nicht eindeutig ...
26.06.2019 22:24:36
Toni
Hallo Michael,
z.B. so?:
Sub cmdFindDoubles_Click()
Dim CompareRangeA As Range, CompareRangeB As Range, x As Range, y As Range
Dim targetColumn As Long
targetColumn = 3
Set CompareRangeA = Worksheets("Tabelle1").Range("A8:A20")
Set CompareRangeB = Worksheets("Tabelle1").Range("B8:B20")
Cells(7, targetColumn) = "Doppelte Einträge"
Cells(7, targetColumn).Interior.Color = RGB(0, 255, 0)
Columns(targetColumn).EntireColumn.AutoFit
Dim targetIndex As Long
targetIndex = 8
For Each x In CompareRangeA
For Each y In CompareRangeB
If x.Value  "" Then
If Left(x.Value, 5) = Left(y.Value, 5) Then
Cells(targetIndex, targetColumn) = x.Value
Debug.Print x.Value, y.Value
targetIndex = targetIndex + 1
End If
End If
Next y
Next x
End Sub
lG
Toni
Anzeige
AW: immer noch nicht eindeutig ...
27.06.2019 09:39:10
Manuel
Hallo Toni,
Das ist das richtige für mich.
Eine Frage hätte ich noch: Wenn ich z.B. nun den Range-Bereich vergrößere, dann dauert die Ausführung des Makros leider ziemlich lange. Gibt es nicht ein Möglichkeit, den Code schneller ablaufen zu lassen?
Vielen dank im voraus!
AW: immer noch nicht eindeutig ...
27.06.2019 19:50:05
Toni
Hi Michael,
schau, welcher der Codes Dir passt, sind beide drin.
In meinem Code die beiden 5 in der left() anpassen, falls du weniger/mehr als 5 zeichen prüfen willst.
https://www.herber.de/bbs/user/130618.xlsm
lG
Toni
AW: Vergleich zweier Spalten
26.06.2019 23:04:11
Daniel
Hi
teste mal diesen Code.
ist momentan eingestellt auf eine Vergleichslänge von 10 Zeichen
Sub DoppelteInBeidenSpalten()
With Range("C8:C" & Cells(7, 2).End(xlDown).Row)
.FormulaR1C1 = "=IF(CountIf(R8C1:R" & _
Cells(7, 1).End(xlDown).Row & "C1,left(RC2,10)&""*""),RC2,NA())"
.Formula = .Value
On Error Resume Next
.SpecialCells(xlCellTypeConstants, 16).Delete shift:=xlUp
On Error GoTo 0
End With
End Sub
Gruß Daniel
Anzeige
AW: Vergleich zweier Spalten
27.06.2019 10:01:22
Manuel
Hallo Daniel,
Der code tut es auch. Und er ist auch schneller als meiner. Wie kann ich dann die Zeichenlänger verändern?
ist das dein Ernst?
27.06.2019 10:40:59
Werner
Hallo Manuel,
ohne dir zu Nahe zu treten. Angeschaut hast du dir den Code aber schon?
Gruß Werner
AW: Vergleich zweier Spalten
27.06.2019 10:45:59
Daniel
Hi
Hier in der Formel: Left(...;10)
Gruß Daniel
AW: Vergleich zweier Spalten
27.06.2019 10:46:01
Daniel
Hi
Hier in der Formel: Left(...;10)
Gruß Daniel
AW: Vergleich zweier Spalten
27.06.2019 11:07:54
Manuel
Hallo Daniel,
eine letzte Frage noch. Ich würde gerne deinen Code so umädern, dass die Einträge der ersten Spalte in die Zielspalte eingetragen werden, falls es eine Übereinstimmung von 10 Zeichen gibt. Weil gerade werden die Einträge der zweiten Spalte in die zielspalte eingetragen, falls es eine Übereinstimmung gibt.
Wie ich im code ändern kann, weiß ich nicht. Kannst du mir da bitte helfen?
Danke!
Anzeige
AW: Vergleich zweier Spalten
27.06.2019 11:43:59
Manuel
Hi Daniel,
habs nun selbst rasugefunden.
vielen Dank für deine hilfe !

307 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige