Supportnet / Forum / Skripte(PHP,ASP,Perl...)
inhalt der Zelle mit Mid abfragen?!
Frage
Hallo Community
Ich habe jeweils 1 Spalte in 2 Tabellen die ich vergleichen möchte.
Problem ist dass die Zellen in Tabelle 2 ein anderes Format haben.
z.B.
Tabelle1 ---> Spalte A --> A 111.222
Tabelle2 ---> Spalte C ---> 111222
In einer For-Schleife (bzw. 2 For-Schleifen) möchte ich die Länge des Zelleninhalts abfragen und mit Mid die Zellen der SpalteC auseinandernehmen und Blockweise mit Spalte A vergleichen?
Bsp:
SpalteA 111 mit SpalteC 111 und genauso 222 mit 222
Eckdaten:
2 Worksheets Ws1 und Ws2
Letzte1 ist der Range für Ws1
Letzte2 ist für Ws2
For i = 3 To Letzte1
For j = 26 To Letzte2
If Len("Ws2.Cells(j, 6)") = 6 And (Mid("Ws1.Cells(i, 3)", 3, 3) = Mid("ws2.cells(j,6)", 0, 3)) Then
Ws2.Cells(j, 6).Interior.ColorIndex = 19
End If
Next j
Next i
Ich kriegs irgendwie net hin habe nen Syntax-Fehler in der Zeile "if Len..." denke ich!
Danke im Voraus
mfg
Antwort 1 von afemi
ich weiss nicht, ob das der einzige fehler ist, aber du musst die anführungszeichen weglassen! du willst ja die länge des zelleninhalts und nicht die länge des zellennamens.
Antwort 2 von kicia
Ich bin mir nicht ganz sicher, aber ich glaube, daß in VBA beim MID-Befehl der Index mit 1 beginnt und nicht mit 0.
Das würde heißen:
mid("111222", 1, 3) = "111"
mid("111222", 4, 3) = "222"
mid("111.222", 1, 3) = "111"
mid("111.222", 5, 3) = "222"
Das würde heißen:
mid("111222", 1, 3) = "111"
mid("111222", 4, 3) = "222"
mid("111.222", 1, 3) = "111"
mid("111.222", 5, 3) = "222"
Antwort 3 von afemi
du vermutest richtig, kicia!
Antwort 4 von Delirium
so funktionierts..:)
If Len(Ws2.Cells(J, 6)) = 6 And (Mid(Ws1.Cells(I, 3), 3, 3) = Left(Ws2.Cells(J, 6), 3)) And (Mid(Ws1.Cells(I, 3), 6, 3) = Right(Ws2.Cells(J, 6), 3)) ThenAntwort 5 von nighty
hi all :-)
glaub ich eher nicht :-))
(Mid(Ws1.Cells(I, 3), 3, 3)
drei klammern auf ,zwei klammern zu :-))
die erste klammer sollte weggelassen werden
gruss nighty
glaub ich eher nicht :-))
(Mid(Ws1.Cells(I, 3), 3, 3)
drei klammern auf ,zwei klammern zu :-))
die erste klammer sollte weggelassen werden
gruss nighty

