Tabellen vergleich auf glleiche Werte...
#1
Hallo Forum,

ich suche eine VBA Lösung die mir prüft ob die Werte in Tabelle2 aus A2:A10 in Tabelle1 Spalte A vorkommen,
wenn gleiche Werte vorkommen soll eine MsgBox mit der Meldung "Doppelter Eintrag gefunden" ausgegeben werden.

Besten Dank im Voraus
omron2003
Antworten Top
#2
Hallo,

ein pseudocode wäre wie folgt:

Sub Pruefen()

Dim i as interger
dim ws as Worksheet

for i = 2 to ws("Tabelle2").Cells(i,1)

if ws("Tabelle1").Cells(i,1)=ws("Tabelle2").Cells(i,1) then

MsgBox "Doppelter Eintrag"

End sub
Antworten Top
#3
Hallo

der Code wird so nicht funktionieren, da haben sich einige Flüchtigkeitsfehler eingeschlichen.  Kenne ich nur zu gut bei mir selbst!

Dim i as interger = Fehlermeldung,  es fehlt ausserdem  End IF und Next i  - ws("Tabelle2") = Fehlermeldung   Diese Zeile ist auch amüsant:  For 2 to ws("Tabelle2").Cells(i,1)
Aus Neugier was Excel damit macht habe ich es ausprobiert, aber es klappt nicht wenn man die For Next Schleife über eine Zelle laden will. Ausserdem wäre der Wert unbestimmt!
Mich interessierte rein technisch die Frage, was macht die For Next Schleife wenn der nächste Zellenwert kleiner ist wie der vorherige?  Aber damit funktioniert For Next halt nicht!

Der erste Code vergleicht wie vom Kollegen geplant alle Zeilen 1:1 in Tabelle 1 und 2.  Wenn die Werte aber in verschiedenen Zeilen stehen muss man den 2. Code nehmen.

mfg gast 123

Code:
Sub Pruefen()
Dim i As Integer
For i = 2 To 10
   If Sheets("Tabelle1").Cells(i, 1) = Sheets("Tabelle2").Cells(i, 1) Then
      MsgBox i & "  Doppelter Eintrag"
   End If
Next i
End Sub


Sub Pruefen_2()
Dim i As Integer, j As Integer
For i = 2 To 10
For j = 2 To 10
   If Sheets("Tabelle1").Cells(i, 1) = Sheets("Tabelle2").Cells(j, 1) Then
      MsgBox i & " / " & j & "  Doppelter Eintrag"
   End If
Next j
Next i
End Sub
Antworten Top
#4
Hallo,

Super vielen Dank!

Der zweite Code ist genau das was ich gesucht habe...

Nochmals besten  Dank für die schnelle, kompetente Hilfe.

Gruß
omron2003
Antworten Top
#5
Moin! 
Warum nicht einfach per bedingter Formatierung? 
=ZÄHLENWENN(Zelle;Bereich)
Bevor jetzt die Ausrede der "langen" Tabelle1 kommt:
Farbfilter

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#6
Hallo Ralf

ich freue mich das mein Code gefallen hat, auf die Idee es mit Bedingter Formatierung zu machen bin ich nicht gekommen.  Prima Idee!

mfg Gast 123
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste