Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 11:16:26
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Suchen Spalte A klappt nicht

Suchen Spalte A klappt nicht
17.10.2006 20:03:37
Wolfgang
Hallo*
der untenstehende Code sollte eigentlich dazu dienen, innerhalb einer Arbeitsmappe in der Spalte A nach doppelten Daten zu suchen und diese dann untereinander in Spalte C zu schreiben. Momentan schreibt mir der Code alle in Spalte A befindlichen Daten in Spalte C.- Was habe ich da verkehrt gemacht? - Danke schon jetzt wieder für die Rückmeldungen.
Gruß - Wolfgang

Sub VergleichA_Doppelte()
'Nur in A vorkommende Doppeleinträge werden in Spalte C gelistet
Dim ALetzte As Long, iCounter As Long, xCounter As Long
Dim xZelle As Range, wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
With wks
If Not (.Name = "Temp" Or wks.Name = "Start") Then
'vorhandene Daten in Spalte C löschen
.Columns(3).ClearContents
ALetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(-4162).Row, .Rows.Count)
For iCounter = 1 To ALetzte
Set xZelle = .Columns(1).Find(what:=.Cells(iCounter, 1), Lookat:=xlWhole)
If Not xZelle Is Nothing Then
xCounter = xCounter + 1
.Cells(xCounter, 3) = .Cells(iCounter, 1)
End If
Next iCounter
End If
End With
xCounter = 0
Next wks
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Suchen Spalte A klappt nicht
17.10.2006 23:27:11
fcs
Hallo Wlfgang,
in der Zeile Set xZelle = ...
suchst du immer in der gesamten Spalte A, dadurch wird natürlich immer der gesuchte Wert gefunden und in Spalte C ausgegeben.
Mit folgende r Anpassung wird zusätzlich geprüft, ob die Zeile der gefundenen Zelle mit der Zeile des gesuchten Wertes übereinstimmt.
Gruss
Franz

Sub VergleichA_Doppelte2()
'Nur in A vorkommende Doppeleinträge werden in Spalte C gelistet
Dim ALetzte As Long, iCounter As Long, xCounter As Long
Dim xZelle As Range, wks As Worksheet
For Each wks In ActiveWorkbook.Worksheets
With wks
If Not (.Name = "Temp" Or wks.Name = "Start") Then
'vorhandene Daten in Spalte C löschen
.Columns(3).ClearContents
ALetzte = IIf(IsEmpty(.Cells(.Rows.Count, 1)), .Cells(.Rows.Count, 1).End(-4162).Row, .Rows.Count)
For iCounter = 1 To ALetzte
Set xZelle = .Columns(1).Find(what:=.Cells(iCounter, 1), Lookat:=xlWhole)
If Not xZelle Is Nothing Then
If xZelle.Row <> iCounter Then
xCounter = xCounter + 1
.Cells(xCounter, 3) = .Cells(iCounter, 1)
End If
End If
Next iCounter
End If
End With
xCounter = 0
Next wks
End Sub

Anzeige
erneut Danke, Franz!!
18.10.2006 06:06:06
Wolfgang
Hallo Franz,
erneut herzlichen Dank für Deine Rückmeldung; ich habe den von Dir umgestellten Code getestet. Er läuft einwandfrei und super. Werde nachher in ruhiger Minute vergleichen, um für mich festzustellen, wo meine Fehler lagen.- Einen schönen Tag noch und weiterhin alles Gute.
Herzliche Grüße
Wolfgang
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige