Problem in Excel-VBA

FruiTy

Enthusiast
Thread Starter
Mitglied seit
23.07.2006
Beiträge
3.246
Ort
Rhein-Kreis Neuss
Hallo,

versuche mich grad schon die ganze Zeit an einer Formatierung in Excel mittels VBA. Ziel ist, dass wenn ich Spalte z.B. G5 Effective oder Ineffective, sowie gleichzeitig in H5 Effective oder Ineffective stehen habe, das Änderungsdatum in Spalte J5 geschrieben wird, also wann ich diese beiden Zellen editiert habe. Dies soll dann bei den Zellen 6-62 genauso geschehen. Leider kriege ich dauernd den Fehler "Typen unverträglich (Laufzeitfehler 13)", weiß aber nicht genau was ich nun ändern muss. Vielleicht kann mir hier jemand helfen?

Hier der Code:
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
Dim ws As Worksheet
Dim i As Integer
For Each ws In ActiveWorkbook.Worksheets
With ws
For i = 5 To 62
If Range("G" & 5 + i).Value = "Effective" Or "Ineffective" And Range("H" & 5 + i).Value = "Effective" Or "Ineffective" Then Range("J" & 5 + i).Value = Strings.Format(Now, "DD.MM.YYYY") & " at " & Strings.Format(Now, "hh:mm")
Next i
End With
Next ws
End Sub
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Ich habe zum Fehler keine Ahnung, aber nebenbei:
For i = 5 To 62 und danach Range("G" & 5 + i)
Sieht für mich so aus als ob es dann die Zeilen 10 - 67 statt 5-62 betreffen würde.
Müsste m.M.n. also For i = 0 To 57 heißen.

Zeigt es die Zeilennummer an, in der der Fehler auftritt ?
Dann könnte man es eingrenzen, bei welcher Zeile im Code der Fehler ist.
 
Das mit den Zeilen stimmt natürlich, kam daher dass ich vorher mit der Funktion Cells experimentiert habe.

In folgender Zeile wird der Fehler angezeigt:

If Range("G" & 5 + i).Value = "Effective" Or "Ineffective" And Range("H" & 5 + i).Value = "Effective" Or "Ineffective" Then

Anscheinend haben die Value-Felder keinen Typ?!
 
Problem gelöst: If Range("G" & 5 + i).Value = "Effective" Or Range("G" & 5 + i).Value = "Ineffective" And Range("H" & 5 + i).Value = "Effective" Or Range("G" & 5 + i).Value = "Ineffective" Then

Sowas einfaches...:)
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh