VBA_miért nem űködik az egyszerű if függvényem?
Az első If-et rögtön le is zárod a következő sorban...
Szerintem:
If Selection.Value <> "" Then
... ide jön a másik if ...
End If
azért zárom le, mert azt akarom, hogy az ifnek vége legyen ha a cella üres. ha törlöm, vagy end if helyett ezt írom:
....
If Selection.Value = "" Then
Selection.Value = ""
Else:
....
hibaüzenetet kapok: "block if without end if"
kijavítottam arra amit mondtál:
If Selection.Value <> "" Then
If Selection.Value = Range("f2").Value Then
Range("b" & x).ThemeColor = RGB(255, 255, 153)
Range("c" & x).ThemeColor = RGB(255, 255, 153)
Else:
x = x + 1
End If
End Sub
hiányolja sajnos az end if-et valahonnét
Az End Sub elé kell.
Mindkét If-et le kell zárni.
x-nek értéket kellene adnod, mert oké, hogy deklarálod, de nem adsz neki értéket, így az nulla. Olyan, hogy A0 cella meg nincs.
Az x-et meg minden vizsgálat után meg kell növelni, nem csak akkor, ha nem színezel.
Nem jó a struktúra. Ahol azt vizsgálod, hogy az adott cellában van-e adat, ott igen esetén legyen a szinezős if, nemre pedig tegyél egy else ágat, ahol exit, break, vagy valami ilyesmi kell (már 500 éve nem vba-ztam).
Úgy emlékszem, tabulátorral itt is szépen lehet struktúrálni a kódot, jobban jársz, ha behúzod ami valamin belül van, mint itt: [link] akkor jobban átlátod az egészet.
Valami hibát nem dob neked? Meg hogy működne ez? Ha még nem oldottad meg és ezekre a kérdésekre válaszolsz, talán tudok segíteni.
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!