Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Zellen unterschiede
#1
Guten Abend Community,

Ich habe ein Anliegen, wo Ich nicht weiß, ob dies überhaupt möglich ist.

Ich habe eine Tabelle (2000 Zeilen)
Hier sollen in jeder Zeile, 2 Zellen miteinander verglichen werden.
Wenn diese 2 Zellen, nur einen geringen Unterschied aufweisen, soll mir das angezeigt werden oder anders rum.

Hier hab Ich mal ein Beispiel erstellt was Ich meine
.xlsx   vergleich.xlsx (Größe: 8,71 KB / Downloads: 8)

Gibt es eine Möglichkeit einen solchen Vergleich zu ziehen ? 

Danke für eure Hilfe.

Liebe Grüße
MSBG
Antworten Top
#2
Ohne Dateiöffnen (da Text ausreichend). Alternativ:

C2: =A2=B2

C2: =IDENTISCH(A2;B2)

Anschließend nach C sortieren.
Antworten Top
#3
Hallo Denis,

dieser Code kann deine Vorlage reproduzieren:

Code:
Sub Main
for i = 1 to cells(rows.count, 1).end(xlup).row
    if instr(1, lcase(cells(i,1)), lcase(cells(i,2))) > 0 then
        cells(i,4) = "kleiner Unterschied"
    else
        cells(i,4) = "großer Unterschied"
    endif
next i
End Sub

mfg
Antworten Top
#4
(03.07.2020, 17:35)Fennek schrieb: Hallo Denis,

dieser Code kann deine Vorlage reproduzieren:

Code:
Sub Main
for i = 1 to cells(rows.count, 1).end(xlup).row
    if instr(1, lcase(cells(i,1)), lcase(cells(i,2))) > 0 then
        cells(i,4) = "kleiner Unterschied"
    else
        cells(i,4) = "großer Unterschied"
    endif
next i
End Sub

mfg

Hallo Fennek,

Sorry für das dumme anstellen, bin noch recht am Anfang
Als was muss Ich "i" definieren, da Ich eine Fehlermeldung erhalte.

Ich weißt nicht, ob dass bei meinem Text hervorgegangen ist, das sind aber nur Beispiele.
Wie gesagt habe Ich über 2000 Zeilen, wo überall unterschiedliche Namen drin stehen.
Aber Ich vermute, du hast mich verstanden  :23:
Antworten Top
#5
Wenn ich dich richtig verstanden habe, gibt es 2 Alternativen:

- treu zum Lehrbuch: Dim i as long
- ansonsten: lösche "Option explicit

Wichtiger sind die Kriterien:

"Kleiner Unterschied" bedeutet, dass der Name der Spalte B OHNE Berücksichtigung von Groß- / Kleinschreibung in Spalte A enthalten ist.
Antworten Top
#6
(03.07.2020, 18:37)Fennek schrieb: Wenn ich dich richtig verstanden habe, gibt es 2 Alternativen:

- treu zum Lehrbuch: Dim i as long
- ansonsten: lösche "Option explicit

Wichtiger sind die Kriterien:

"Kleiner Unterschied" bedeutet, dass der Name der Spalte B OHNE Berücksichtigung von Groß- / Kleinschreibung in Spalte A enthalten ist.


Okay, soweit funktioniert es nicht schlecht.
Aber bei Fällen wie:
Der eine Name enthält Bindestriche = großer Fehler (sollte ein kleiner sein)
oder
Spalte A Gisela Maier Spalte B Gisela Maier Helmut Maier
Hier ist auch ein großer Unterschied obwohl es ein kleiner sein sollte.
oder hier Spalte A Artur Sofin Spalte B Timo Sofin
müsste ein kleiner sein

Auch bei Klammern kommt ein großer Fehler

Kennst du dafür noch eine Möglichkeit ?
Antworten Top
#7
Sonderzeichen kann man vor dem Vergleich löschen.

Zitat:Spalte A Gisela Maier Spalte B Gisela Maier Helmut Maier
Hier ist auch ein großer Unterschied obwohl es ein kleiner sein sollte.
oder hier Spalte A Artur Sofin Spalte B Timo Sofin
müsste ein kleiner sein

Mit dem gezeigten Code geht das nicht, da müßte vollkommen anderst geprüft werden.
Antworten Top
#8
(03.07.2020, 19:05)Fennek schrieb: Sonderzeichen kann man vor dem Vergleich löschen.


Mit dem gezeigten Code geht das nicht, da müßte vollkommen anderst geprüft werden.


Hättest du dafür eine Idee? 
Sind wie gesagt, über 2000 Zeilen.
Wäre schön wenn das ganze über eine Funktion gehen würde.
Antworten Top
#9
Hallo MSBG,

bitte nicht unnötig vollzitieren (vor allem, wenn sich eh nur zwei User unterhalten). Zum Verständnis notwendige Zitate können auch einzeln herauskopiert werden.
Gruß Günter
Jeder Fehler erscheint unglaublich dumm, wenn andere ihn begehen.
angebl. von Georg Christoph Lichtenberg (1742-1799)
Antworten Top
#10
Mit dem "." (Punkt) als sonderzeichen hat es nicht geklappt, aber sonst ...

Code:
Sub Main
ll = "-() " '  Liste aller Sonderzeichen
ll = lcase(ll)

for i = 1 to cells(rows.count, 1).end(xlup).row
    Tx = lcase(cells(i,1) & "#" & cells(i,2))
    for l = 1 to len(ll)
        Tx = replace(Tx, mid(ll, l,1), "")
    next l
    Ty = split(Tx,"#")
    cells(i+10,1) = Ty(0)
    cells(i+10,2) = Ty(1)
    if instr(1, Ty(0), Ty(1)) > 0 then
        cells(i,4) = "kleiner Unterschied"
    else
        cells(i,4) = "großer Unterschied"
    endif
next i
End Sub
Antworten Top


Gehe zu:


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