Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
372to376
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
372to376
372to376
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

gleiche Zellinhalte finden

gleiche Zellinhalte finden
02.02.2004 15:58:16
nina
hallo,
ich brauche mal wieder von den experten ein paar tipps.
ich habe zwei tabellenblätter die jeweils in A und B Vorname und Name enthalten. da diese listen recht lang sind und ich sie abgleichen will, möchte ich gern im Tabellenblatt 3 eine Übersicht aller Vornamen und dazugehöriger Namen haben, die nur in blatt 1 vorkommen und im Blatt 4 nur die darstellen, die in blatt 2 nicht mit blatt 1 übereinstimmen.
hoffentlich habe ich mein anliegen nicht zu kompliziert dargestellt. also einfach nur blatt 1 und 2 vergleichen - was in blatt 1 zuviel ist in blatt 3 dasrtellen und was in blatt 2 zuviel ist in blatt 4 darstellen.
liebe grüße nina

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: gleiche Zellinhalte finden
02.02.2004 18:54:14
Nepumuk
Hallo Nina,
so sollte es gehen. Da ich aber den genauen Tabellenaufbau nicht kenne ohne Gewähr.

Option Explicit
Public Sub Nina()
Dim lngZeile As Long, myRange As Range, intTabelle As Integer, strAdresse As String
Dim bolgefunden As Boolean, intsuchTabelle As Integer
intsuchTabelle = 2
For intTabelle = 1 To 2
With Worksheets(intTabelle)
For lngZeile = 1 To .Cells(65536, 1).End(xlUp).Row
Set myRange = Worksheets(intsuchTabelle).Columns(1).Find(What:=.Cells(lngZeile, 1), LookIn:=xlValues, LookAt:=xlWhole)
If myRange Is Nothing Then
Call uebertragen(intTabelle, intTabelle + 2, lngZeile)
Else
strAdresse = myRange.Address
bolgefunden = False
Do
If .Cells(lngZeile, 2) = Worksheets(intsuchTabelle).Cells(myRange.Row, 2) Then bolgefunden = True: Exit Do
Set myRange = Worksheets(intsuchTabelle).Columns(1).FindNext(myRange)
Loop While Not myRange Is Nothing And myRange.Address <> strAdresse
If Not bolgefunden Then Call uebertragen(intTabelle, intTabelle + 2, lngZeile)
End If
Next
End With
intsuchTabelle = 1
Next
Set myRange = Nothing
End Sub
Private Sub uebertragen(intTabelle1 As Integer, intTabelle2 As Integer, lngZeile As Long)
Dim lngfreieZeile As Long
With Worksheets(intTabelle2)
If .Cells(1, 1) = "" Then lngfreieZeile = 1 Else lngfreieZeile = .Cells(65536, 1).End(xlUp).Row + 1
.Range(.Cells(lngfreieZeile, 1), .Cells(lngfreieZeile, 2)).Value = Worksheets(intTabelle1).Range(Worksheets(intTabelle1).Cells(lngZeile, 1), Worksheets(intTabelle1).Cells(lngZeile, 2)).Value
End With
End Sub


Code eingefügt mit: Excel Code Jeanie
Gruß
Nepumuk
Anzeige
DANKE
03.02.2004 16:26:52
Nina
puhh,
da hast du dir aber wirklich viel arbeit gemacht.
er zeigt mir in blatt 3 tatsächlich alle namen an, die in blatt 2 nicht vorhanden sind, jedoch in blatt 1. echt super!!
nur bei der funktion in blatt 4 zeigt er mir fehlerhaft doppeleinträge an, das haut nicht ganz hin.
aber super klasse gemacht.
glückwunsch, ich staune immer wieder, wie ihr das so aus dem "Arm schüttelt"
AW: DANKE
03.02.2004 16:34:58
Nepumuk
Hallo Nina,
gern geschehen (mit 25 Jahren Berufserfahrung tu ich da leicht). Ich kann leider nur mit Dummydaten testen. Daher wahrscheinlich der Fehler. Wenn du eine Mappe mit Daten wie sie bei dir vorkommen können auf den Server lädst, kann ich das sicher korrigieren. Lass vorher das Programm mal laufen und markiere mir die fehlerhaften Ausgaben, in dem du z.B. die Zellen einfärbst.
Gruß
Nepumuk
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige