Vergleich Wert aus Array mit String

Bild

Betrifft: Vergleich Wert aus Array mit String
von: Dirk
Geschrieben am: 01.07.2015 10:50:24

Hallo,
bei folgendem Code bekommen ich die Fehlermeldung "Typen unverträglich". Leider kabe ich keine Ahnung wieso.
Sub Test()
Dim temparr() As Variant
Dim datarr() As Variant
datarr = Array("CD3_19", "CD4_8", "CD16_56", "HLADR", "CD25", "CD 8_57")
For i = 0 To 6
If datarr(i) = "CD3_19" Or "CD4_8" Then
temparr = Array(2, 5)
....
Kann mir da mal bitte wer aus die Sprünge helfen?
Danke schonmal
Dirk

Bild

Betrifft: AW: Vergleich Wert aus Array mit String
von: Daniel
Geschrieben am: 01.07.2015 11:19:52
Hi
es wäre leichter dir zu helfen, wenn du dazu schreiben würdest, in welcher Programmzeile der Fehler auftritt.
unabhängig vom fehler solltest du noch folgendes im Code änderen:
wenn du in einer Schleife durch das gesamte Array laufen willst, dann lass doch ersten und letzten Index durch VBA ermitteln, dann musst du dir da keine Gedanken drum machen und brauchst den Code nicht ändern, falls sich die Anzahl der Werte im Array erhöht oder erniedrigt.

for i = LBound(datarr) to Ubound(datarr)
wenn die IF-Prüfung in zwei Fällen WAHR ergeben soll dann so:
if datarr(i) = "CD3_19" or datarr(i) = "CD4_8" Then

alternativ auch Select case:
for i = Lbound(datarr) to Ubound(datarr)
   Select Case  datarr(i)
        case "CD3_19", "CD4_8"
             temparr = Array(2, 5)
             ...
        Case else
   end Select
next

Gruss Daniel

Bild

Betrifft: AW: Vergleich Wert aus Array mit String
von: Dirk
Geschrieben am: 01.07.2015 11:26:44
Danke Daniel, das war es. Der Vollständigkeit halber: Der Fehler trat in der Zeile:

If datarr(i) = "CD3_19" Or "CD4_8" Then 
auf.

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Vergleich Wert aus Array mit String"