Microsoft Excel

Herbers Excel/VBA-Archiv

keinen Wert übergeben

Betrifft: keinen Wert übergeben von: Alexander
Geschrieben am: 13.08.2004 15:38:39

Hallo Zusammen ich hab ein kleinens Problem:

ich möchte eine Spalte mit dem untenstehenden Code Formatiern.

das klappt auch alles bis auf die Zeile mit den ???????????? ich weiß nicht wie ich das machen muss:
Wenn iTP = PPPhase dann soll mit der Nummer 8 zurückgegeben werden und mit der Nummer1 soll nichts zurückgegeben werden die Zelle soll also unverändert bleiben und den Wert beibehalten der vorher drinn stand. Das Bekomm ich nicht hin.

Wenn iTP <> soll dann bei Nummer1 "OK" zurückgegeben werden.

Gruß und Danke Alexander


Zeile = 2
For Each rw In Workbooks("Mappe1.xls").Worksheets("Process").Rows
Tp = rw.Cells(23)

If Tp = "PPPhase" then
i = rw.Row
i = i + 1
iTp = Workbooks("Mappe1.xls").Worksheets("Process").Cells(i, 23)
If iTp = "PPPhase" Then
Nummer = 8
Nummer1 = ???????????????????????????????????
Farbe = 45
ElseIf iTp <> "PPPhase" Then
Nummer = 0
Nummer1 = "OK"
Farbe = 50
End If

Workbooks("Mappe1.xls").Worksheets("Process").Activate
Range("X" & Zeile).Interior.ColorIndex = Farbe
'Range("A" & zeile).Font.ColorIndex = 2
'Range("A" & zeile).Font.Bold = True
Range("A" & Zeile) = Nummer
Range("X" & Zeile) = Nummer1

Zeile = Zeile + 1
Nummer = ""
Tp = ""

End If

  


Betrifft: AW: keinen Wert übergeben von: FloGo
Geschrieben am: 13.08.2004 17:45:25

Hallo Alex

Du kannst doch einfach die Zeile weglassen:

Zeile = 2
For Each rw In Workbooks("Mappe1.xls").Worksheets("Process").Rows
Tp = rw.Cells(23)

If Tp = "PPPhase" then
i = rw.Row
i = i + 1
iTp = Workbooks("Mappe1.xls").Worksheets("Process").Cells(i, 23)
If iTp = "PPPhase" Then
Nummer = 8
Farbe = 45
ElseIf iTp <> "PPPhase" Then
Nummer = 0
Nummer1 = "OK"
Farbe = 50
End If

Workbooks("Mappe1.xls").Worksheets("Process").Activate
Range("X" & Zeile).Interior.ColorIndex = Farbe
'Range("A" & zeile).Font.ColorIndex = 2
'Range("A" & zeile).Font.Bold = True
Range("A" & Zeile) = Nummer
Range("X" & Zeile) = Nummer1

Zeile = Zeile + 1
Nummer = ""
Tp = ""

End If

..oder ist das nicht möglich????

FloGo


  


Betrifft: AW: keinen Wert übergeben von: Alexander
Geschrieben am: 13.08.2004 18:44:48

Hi FloGo,

leider nicht, das hatte ich schon versucht. Wenn ich die Zeile (Nummer1) weg lass werden alle Zellen mit dem zweiten Kriterium (Nummer1 ="OK") überschrieben.

Gruß Alexander


  


Betrifft: AW: keinen Wert übergeben von: Hans W. Herber
Geschrieben am: 14.08.2004 09:22:24

Hallo Alexander,

das Problem entsteht, weil Du die Einträge ausserhalb der Wenn/Sonst-Abfrage hast. Richtig wäre etwa:
If Tp = "PPPhase" Then
   i = rw.Row
   i = i + 1
   iTp = Workbooks("Mappe1.xls").Worksheets("Process").Cells(i, 23)
   If iTp = "PPPhase" Then
      Range("A" & Zeile) = 8
   ElseIf iTp <> "PPPhase" Then
      Range("X" & Zeile) = "OK"
   End If
End If

gruss hans


  


Betrifft: AW: keinen Wert übergeben von: Alexander
Geschrieben am: 15.08.2004 21:31:34

Hallo Hans,

Danke für die Hilfe.
Werd es morgen gleich testen.

Gruß Alexander