Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
912to916
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
912to916
912to916
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variablendeklaration

Variablendeklaration
08.10.2007 11:52:00
Roman
Hallo,
ich bekomme immer einen Fehler unverträgliche Typen in der Zeile "If (Worksheets("Tabelle1").Cells(j + 1, 13) = "P001715" Or "P001747") Then" und weiß nicht, wie ich den rausbekomme. Ich glaub es hat was damit zu tun, dass ich die Durchlaufvariablen als String deklarieren müsste (wegen dem Vergleich mit "..."), aber dann bekomme ich wieder andere Fehler. Kann mir da bitte jemand weiterhelfen?
Ich hab zum Probieren eine Wertetabelle reingestellt: https://www.herber.de/bbs/user/46603.xls
Viele Grüße,
Roman

Sub test()
Dim Ergebnis(1 To 36, 1 To 7)
Dim j As Variant
For i = 1 To 36
Ergebnis(i, 1) = Worksheets("Planperioden").Cells(i + 1, 2) ' Schreiben der Datumswerte
Ergebnis(i, 2) = Worksheets("Planperioden").Cells(i + 1, 1) ' Schreiben der Planperioden
j = 1
Do While Worksheets("Tabelle1").Cells(j + 1, 1)  ""
If (Worksheets("Tabelle1").Cells(j + 1, 18)  Ergebnis(i, 1)) Or (Worksheets("Tabelle1").Cells(j + 1, 7) = "")) Then
Ergebnis(i, 3) = Ergebnis(i, 3) + 1
If (Worksheets("Tabelle1").Cells(j + 1, 13) = "P001715" Or "P001747") Then
Ergebnis(i, 4) = Ergebnis(i, 4) + 1
ElseIf (Worksheets("Tabelle1").Cells(j + 1, 13) = "P001556") Then
Ergebnis(i, 5) = Ergebnis(i, 5) + 1
ElseIf (Worksheets("Tabelle1").Cells(j + 1, 13) = "P010108" Or "P001732") Then
Ergebnis(i, 6) = Ergebnis(i, 6) + 1
Else: Ergebnis(i, 7) = Ergebnis(i, 7) + 1
End If
If Worksheets("Tabelle1").Cells(j + 1, 3) 


2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Du musst das Objekt in beiden Vergleichsfällen....
08.10.2007 12:12:00
NoNet
...angeben !
Hallo Roman,
da Du den Inhalt mit 2 Werten vergleichst, musst Du auch in beiden Fällen das Objekt (also die Zelle) mit angeben :
If Worksheets("Tabelle1").Cells(j + 1, 13) = "P001715" Or Worksheets("Tabelle1").Cells(j + 1, 13) = "P001747") Then
Ansonsten würde der Wert "P001747" nur auf einen WAHRHEITS-Wert (TRUE oder FALSE) geprüft werden, was hier keinen Sinn ergibt !
Eine Alternative wäre :

Select Case Worksheets("Tabelle1").Cells(j + 1, 13)
Case "P001715", "P001747"
' hier Dein Code
End Select

Gruß, NoNet

Anzeige
AW: Du musst das Objekt in beiden Vergleichsfällen....
08.10.2007 13:06:22
Roman
Super, danke!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige