Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
544to548
544to548
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Typenunverträglich

Typenunverträglich
13.01.2005 11:10:44
Torsten
Hallo zusammen,
ich möchte folgenden Code anpassen:
...
For i = 2 To 1002
'i = Range des WS, das durchsucht wird
If Sheets("DATEN").Range("I" & i) = Sheets("SONSTIGE").Range("B2") Then
Sheets("DATEN").Range("B" & i & ":S" & i).Copy _
Destination:=Sheets("SONSTIGE").Range("A" & J)
J = J + 1
End If
und zwar so, daß nicht mehr auf .Range("B2") geprüft wird, sondern auf vorher festgelegte Ziffern:
...
If Sheets("DATEN").Range("I" & i) "ZRE" Or "B2" Or "FV" Then
...
Leider meldet sich Excel mit Typen Unverträglichkeit.
Könnt Ihr mir weiterhelfen?
Vielen Dank im voraus.
Gruß
Torsten

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Typenunverträglich
Harald
Hallo Thorsten,
da liegt der Hase im Pfeffer:
Anders als im umgangssprachlichen Gebrauch kannst Du nicht mit einer IF-Abfrage auf drei Bedingungen prüfen
If Sheets("DATEN").Range("I" & i) &lt&gt "ZRE" Or "B2" Or "FV" Then
~f~
Das bedeutet im Effekt, dass VBA versucht, einen Ausdruck
"ZRE" Or "B2" Or "FV"
auszuwerten. Das muss misslingen, weil man drei Strings nicht so ohne weiteres verodern kann. Also kann die Lösung so aussehen:
~f~
If (Sheets("DATEN").Range("I" & i) &lt&gt "ZRE") Or (Sheets("DATEN").Range("I" & i) &lt&gt "B2") Or (Sheets("DATEN").Range("I" & i) &lt&gt "FV") Then
Oder Du greifst auf ein Select case statement zurück.
Gruß Harald
Anzeige
AW: Typenunverträglich
Torsten
Hallo Harald,
vielen Dank für Deine Rückmeldung.
Excel läuft zwar durch, aber in die Auswertung werden auch die Daten mitkopiert, die ich eigentlich ausschließen wollte (ZRE, B2; FV). Was muß ich denn nun machen, damit Excel das auch umsetzt?
Hast Du eine Idee?
Gruß
Torsten
AW: Typenunverträglich
Martin
Hallo Torsten,
die richtige Syntax wäre
If Sheets("DATEN").Range("I" & i) "ZRE" Or Sheets("DATEN").Range("I" & i) "B2" Or Sheets("DATEN").Range("I" & i) "FV" Then
Logisch ist das aber Unfug, da diese Bedingung immer WAHR ergibt, völlig unabhängig davon, was in der zu prüfenden Zelle steht.
Gruß
Martin Beck
Anzeige
AW: Typenunverträglich
Torsten
Hallo Martin,
vielen Dank für Deine Rückmeldung.
In der Tat, werden in die Auswertung auch die Daten mitkopiert, die ich eigentlich ausschließen wollte (ZRE, B2; FV). Was muß ich denn nun machen, damit Excel das auch umsetzt?
Hast Du eine Idee?
Gruß
Torsten
AND statt OR (oT)
Martin
AW: erledigt - jetzt passt's - Vielen Dank Gruß
Torsten
Torsten

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige