Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
560to564
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
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Vergleich zweier Daten und Ausgabe in Msgbox
08.02.2005 09:47:45
Tom
Hallo liebe Forum-User,
erstmal vielen DAnk an die zahlreichen Postings, die ich in diesem Forum bereits gefunden habe und die mir sehr geholfen haben. Nun will ich auch mal eine Frage formulieren, weil ich echt nicht weiterkomme...
Ich habe in zwei verschiedenen Spalten in unterschiedlichen Blättern Daten. Bsp. in "Tabelle1" in SpalteI stehen 1, 3, 5, 6, 9. Im zweiten Blatt "Tabelle2" stehen in SpalteF 3, 3, 4, 5, 8, 8, 9.
Nun brauche ich ein Makro, dass diese Werte vergleicht und mir dann in einer MessageBox sagt:" Die Zahlen 1 und 6 wurden nicht berücksichtigt!".
Das sind nämlich die Werte, die in SpalteI stehen und in SpalteF nicht.
Ich hoffe ich habe micht verständlich ausgedrückt und jemand kann mir helfen...ich komme nämlich nicht weiter!
Danke und Gruß, TOM

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleich zweier Daten und Ausgabe in Msgbox
Beni
Hallo Tom,
Gruss Beni

Sub Tom()
With Sheets("Tabelle1")
For i = 1 To .Cells(Rows.Count, 1).End(xlUp).Row
Zahl = .Cells(i, 1)
Set c = Sheets("Tabelle2").Columns(6).Find(What:=Zahl, LookIn:=xlValues, LookAt:=xlWhole)
If c Is Nothing Then MsgBox Zahl & " wurde nicht berücksichtig"
Next i
End With
End Sub

AW: Vergleich zweier Daten und Ausgabe in Msgbox
Heiko
Hallo Tom,
versuche es mal mit diesem Code,

Sub Vergleich()
Dim i As Integer, n As Integer, ArrayCounter As Integer
Dim vorhanden As Boolean: vorhanden = False
Dim MyArray()
Dim AusgabeText As String
ArrayCounter = 0
Sheets("Tabelle1").Activate
For i = 1 To Sheets("Tabelle1").Cells(Rows.Count, 9).End(xlUp).Row
For n = 1 To Sheets("Tabelle2").Cells(Rows.Count, 6).End(xlUp).Row
If Sheets("Tabelle1").Cells(i, 9).Value = Sheets("Tabelle2").Cells(n, 6).Value Then
vorhanden = True
Exit For
End If
Next n
If vorhanden = False Then
ReDim Preserve MyArray(ArrayCounter)
MyArray(ArrayCounter) = Sheets("Tabelle1").Cells(i, 9).Value
ArrayCounter = ArrayCounter + 1
End If
vorhanden = False
Next i
If ArrayCounter <> 0 Then
For i = ArrayCounter - 1 To 0 Step -1
AusgabeText = CStr(MyArray(i)) & ",  " & AusgabeText
Next i
MsgBox "Die Zahlen  " & AusgabeText & " wurden nicht berücksichtigt!"
Else
MsgBox " Es wurden alle Zahlen berücksichtigt!"
End If
End Sub

Gruß Heiko
PS: Das Forum lebt auch von den Rückmeldungen der Frager!
Anzeige
AW: Vergleich zweier Daten und Ausgabe in Msgbox
Tom
Hallo Beni, Hallo Heiko S.,
erstmal vielen Dank für eure Bemühungen. Ich bin erst heute dazu gekommen die Makros auszuprobieren. Das von Beni hat bei mir leider nicht geklappt. Aber das von Heiko S. funktioniert wunderbar. Ich werd es schonmal benutzen und dann auch versuchen zu verstehen.
Eine weitere Frage...
Wenn in nur einer Tabelle leere Zellen vorkommen, dann erscheint in der Messagebox:" Die Zahlen , 1, , , 6, wurden nicht berücksichtigt!"
Kann man das elegant unterdrücken, dass die Leerzeichen, ausgegeben werden?
Viele Grüße TOM
AW: Vergleich zweier Daten und Ausgabe in Msgbox
Heiko
Hallo Tom,
so sollte es auch mit leeren Zellen gehen.

Sub Vergleich()
Dim i As Integer, n As Integer, ArrayCounter As Integer
Dim vorhanden As Boolean: vorhanden = False
Dim MyArray()
Dim AusgabeText As String
ArrayCounter = 0
Sheets("Tabelle1").Activate
For i = 1 To Sheets("Tabelle1").Cells(Rows.Count, 9).End(xlUp).Row
For n = 1 To Sheets("Tabelle2").Cells(Rows.Count, 6).End(xlUp).Row
If Sheets("Tabelle1").Cells(i, 9).Value = Sheets("Tabelle2").Cells(n, 6).Value Then
vorhanden = True
Exit For
End If
Next n
If vorhanden = False And Sheets("Tabelle1").Cells(i, 9).Value <> "" Then
ReDim Preserve MyArray(ArrayCounter)
MyArray(ArrayCounter) = Sheets("Tabelle1").Cells(i, 9).Value
ArrayCounter = ArrayCounter + 1
End If
vorhanden = False
Next i
If ArrayCounter <> 0 Then
For i = ArrayCounter - 1 To 0 Step -1
AusgabeText = CStr(MyArray(i)) & ",  " & AusgabeText
Next i
MsgBox "Die Zahlen  " & AusgabeText & " wurden nicht berücksichtigt!"
Else
MsgBox " Es wurden alle Zahlen berücksichtigt!"
End If
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Vergleich zweier Daten und Ausgabe in Msgbox
Tom
Hallo Heiko!
Jetzt klappt es genau so wie ich es brauchte!! Echt vielen Dank. Ich habe den Code schonmal genauer angeschaut... Alleine wär ich da nie drauf gekommen, da ich einige Befehle leider noch nicht kenne.
Also nochmal Danke und beste Grüße
Tom

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige