Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
292to296
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
292to296
292to296
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen vergleichen / Spalten vergleichen

Zellen vergleichen / Spalten vergleichen
16.08.2003 08:23:38
Erich M.
Hallo zusammen,
hallo Klaus-Dieter,
ich bastle immer noch an einem Spalten-Vergleich. Bei nachstehendem Code (wird in einer UserForm eingesetzt; der Code stammt z.T. von Klaus-Dieter) habe ich nun festgestellt, dass beim Vergleich von Zellen, nicht die vollständige Zelle verglichen wird, sondern immer die ersten Zeichen.
Das bedeutet, wenn "Hub" mit "Huber" verglichen wird, wird es als identisch erkannt.
Kann man das ändern?

Private Sub CommandButton3_Click()
Dim zelle As Range, Tb(1 To 15) As Worksheet, gefunden As Boolean, zeile As Long
If ComboBox1.Text = "" Then MsgBox "Bitte Datei 1 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox11.Text = "" Then MsgBox "Bitte Datei 2 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox2.Text <> "" Then Set Tb(1) = Workbooks(ComboBox1.Text).Worksheets(ComboBox2.Text) Else MsgBox "Bitte Tabellenblatt 1 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox12.Text <> "" Then Set Tb(2) = Workbooks(ComboBox11.Text).Worksheets(ComboBox12.Text) Else MsgBox "Bitte Tabellenblatt 2 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox3 = "" Then MsgBox "Bitte Vergleichsspalte 1 auswählen.", 48, "Hinweis": Exit Sub
If ComboBox13 = "" Then MsgBox "Bitte Vergleichsspalte 2 auswählen.", 48, "Hinweis": Exit Sub
For Each Tb(3) In ThisWorkbook.Worksheets
If Tb(3).Name = "Fehlende" Then gefunden = True: Exit For
Next
If Not gefunden Then
Worksheets.Add.Move after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = "Fehlende"
End If
Set Tb(3) = ThisWorkbook.Worksheets("Fehlende")
With Tb(3)
.Cells.Clear
.Cells(1, 1) = "Es fehlen in"
.Cells(1, 2) = "Es fehlen in"
.Cells(2, 3) = "Datei"
.Cells(3, 3) = "Tabelle"
.Cells(4, 3) = "Spalte"
.Cells(5, 1) = "'"
.Cells(5, 2) = "'"
'        .Cells(5, 1) = "Nachstehende Zeilen wurden aus der Tabelle  " & myName1 & "  kopiert"
.Cells(2, 1) = ComboBox1
.Cells(3, 1) = ComboBox2
.Cells(4, 1) = ComboBox3
.Cells(2, 2) = ComboBox11
.Cells(3, 2) = ComboBox12
.Cells(4, 2) = ComboBox13
End With
With Tb(1)
For zeile = 1 To Tb(1).Cells(65536, CInt(ComboBox3.Text)).End(xlUp).Row
If .Cells(zeile, CInt(ComboBox3.Text)) <> "" Then
Set zelle = Tb(2).Range(Tb(2).Cells(1, CInt(ComboBox13.Text)), Tb(2).Cells(Tb(2).Cells(65536, CInt(ComboBox13.Text)).End(xlUp).Row, CInt(ComboBox13.Text))).Find(.Cells(zeile, CInt(ComboBox3.Text)))
If zelle Is Nothing Then Tb(3).Cells(Tb(3).Cells(65536, 2).End(xlUp).Row + 1, 2) = .Cells(zeile, CInt(ComboBox3.Text))
End If
Next
End With
With Tb(2)
For zeile = 1 To Tb(2).Cells(65536, CInt(ComboBox13.Text)).End(xlUp).Row
If .Cells(zeile, CInt(ComboBox13.Text)) <> "" Then
Set zelle = Tb(1).Range(Tb(1).Cells(1, CInt(ComboBox3.Text)), Tb(1).Cells(Tb(1).Cells(65536, CInt(ComboBox3.Text)).End(xlUp).Row, CInt(ComboBox3.Text))).Find(.Cells(zeile, CInt(ComboBox13.Text)))
If zelle Is Nothing Then Tb(3).Cells(Tb(3).Cells(65536, 1).End(xlUp).Row + 1, 1) = .Cells(zeile, CInt(ComboBox13.Text))
End If
Next
End With
Unload Me
ThisWorkbook.Activate
Worksheets("Fehlende").Select
ActiveWindow.FreezePanes = False
Range("B6").Select
ActiveWindow.FreezePanes = True
Columns("A:C").EntireColumn.AutoFit
Range("A1:C4").Select
With Selection
.HorizontalAlignment = xlCenter
End With
Range("A4:I4").Select
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Weight = xlThick
.ColorIndex = 3  'xlAutomatic
End With
Range("5:5").Select
Selection.RowHeight = 6
Range("C1").Select
End Sub


Code eingefügt mit: Excel Code Jeanie
Kann man das ändern?
mfg
Erich

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen vergleichen / Spalten vergleichen
16.08.2003 09:55:41
Klaus-Dieter
Hallo Erich,
ich fürchte daran kann man nichts ändern. Das macht auch die Suche-Funktion in Excel so. Wenn du also Hub suchst, werden alle Zellen gefunden, die diesen String enthalten. In Excel selber kann man das durch Anführungszeichen ("Hub") unterbinden. Mit einem UserForm habe ich das noch nicht getestet.
Da habe ich aber nicht mehr viel von "meinem" Quelltext gefunden. ;-)
Gruß Klaus-Dieter


AW: Zellen vergleichen / Spalten vergleichen
16.08.2003 10:05:46
Erich M.
Hallo Klaus-Dieter,
besten Dank für die Info!
Das "wesentliche" in diesem Code stammt aber von Deinem Quelltext; das was ich dazu gebastelt habe, dient eigentlich mehr zur "Kosmetik".
Mal sehen wie ich da weitermache.
mfg

Anzeige
AW: Zellen vergleichen / Spalten vergleichen
16.08.2003 10:06:52
Hajo_Zi
Hallo Erich
ich habe jetzt Deinen Code nicht nachgebaut. Es ist schon schwierig Deinen Beitrag zu lesen selbst bei einer Auflösung von 1152x864 muß ich immer nach links und rechts laufen (dies ist abner ein Problem des Forums)
ergänze mal bei Find LookAt:=xlWhole
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Zellen vergleichen / Spalten vergleichen
16.08.2003 17:03:29
Hajo_Zi
Hallo Erich
gehe mal auf Find Drücke mal F1 und schaue Dir mal an wo der Befehl hinkommt.
Set Found = .Range("A1:A" & LoLetzte).Find(sSearch, .Range("A" & LoLetzte), , xlWhole, , xlNext)
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Zurzeit gibt es wieder Probleme mit der E-Mail Benachrichtigung.
Ich bekomme Mails zu Beiträgen an denen ich nicht beteiligt bin und zusätzlich noch Mails zu meinen eigenen Beiträgen.
Das Problem mit den eigenen Benachrichtigung kann gelöst werden durch Lösche und Neuanmelden. Dieses möchte ich aber nicht jeden Tag machen.
Um dieses Problem erstmal zu beseitigen habe ich die automatische Mailbenachrichtigung abgeschaltet.
Aus diesem Grunde ist es dem Zufall überlassen ob auf Rückfragen Antworten von mir kommen.

Anzeige
AW: Zellen vergleichen / Spalten vergleichen
16.08.2003 17:12:15
Erich M.
Hallo Hajo,
nochmals besten Dank!
Habe in der Zwischenzeit mehreres probiert und hab mir dann auf der CD von Hans einige Muster angesehen, so sieht die Lösung jetzt aus und funktioniert einfach super:

'    With Tb(1)
'        For zeile = 1 To Tb(1).Cells(65536, CInt(ComboBox3.Text)).End(xlUp).Row
'            If .Cells(zeile, CInt(ComboBox3.Text)) <> "" Then
'                Set zelle = Tb(2).Range(Tb(2).Cells(1, CInt(ComboBox13.Text)), _
'                Tb(2).Cells(Tb(2).Cells(65536, CInt(ComboBox13.Text)).End(xlUp).Row, _
'                CInt(ComboBox13.Text))) _
'                .Find(.Cells(zeile, CInt(ComboBox3.Text)), LookAt:=xlWhole)
'                If zelle Is Nothing Then Tb(3).Cells(Tb(3).Cells(65536, 2).End(xlUp).Row + 1, 2) = .Cells(zeile, CInt(ComboBox3.Text))
'            End If
'        Next
'    End With


Code eingefügt mit: Excel Code Jeanie
Mit Deinem weiteren Hinweis wär ich wohl auch draufgekommen, hatte aber bereits "geübt".
Also besten Dank!!!
mfg
Erich

Anzeige
Danke für die Rückmeldung oT
16.08.2003 19:43:00
Hajo_Zi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige