Supportnet Computer
Planet of Tech

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"

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)) Then


Antwort 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

Ich möchte kostenlos eine Frage an die Mitglieder stellen:


Ähnliche Themen:


Suche in allen vorhandenen Beiträgen: