Miért fut le az automatikusan, cella megváltoztatására induló makró, amikor másik cellát változtatok meg (nem azt, amelyiket elvileg figyeli)?
Van egy makróm, ami egy cella megváltoztatására indul. Ez tökéletesen működik is, a probléma az, hogy bármelyik cellát változtatom meg a munkalapon, minden alkalommal újra és újra lefut a makró.
Private Sub Worksheet_Change(ByVal target As Range)
Dim lejarat As Range
Set lejarat = Range("H23")
If lejarat = "lejárata" Then
ActiveSheet.unprotect ("ps")
Call szinezesvissza
ActiveSheet.protect ("ps")
End If
If lejarat = "nem lejáratos" Then
ActiveSheet.unprotect ("ps")
Call szinezes
ActiveSheet.protect ("ps")
Else
Exit Sub
End If
End Sub
Előre is köszi!
Private Sub Worksheet_Change()
Vagyis akkor lép életbe, ha a munkalap változik.
Nem lehet adott cella megváltoztatására lefutó automatikus makrót megadni, csak olyat, ami a munkalap bármilyen megváltozására lefut.
A megoldás az, hogy ellenőrzöd, hogy az a cella, amire kíváncsi vagy benne van-e a target rangben és ha igen, akkor lefuttatodd a kódodat, ha nincs akkor nem.
Nagyon köszönöm!! :)
Így sikerült megoldani:
Private Sub Worksheet_Change(ByVal target As Range)
If target.Address = "$H$23" Then
Dim lejarat As Range
Set lejarat = Range("H23")
If lejarat = "lejárata" Then
ActiveSheet.unprotect ("ps")
Call szinezesvissza
ActiveSheet.protect ("ps")
End If
If lejarat = "UFN" Then
ActiveSheet.unprotect ("ps")
Call szinezes
ActiveSheet.protect ("ps")
Else
Exit Sub
End If
Else: Exit Sub
End If
End Sub
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!