Excel makró automatikus lefutása, amennyiben a cella tartalma frissül?
Amíg valaki jobbat nem ír: Application.Volatile
Ha ez szerepel, akkor a munkalap tartalmának megváltozásakor lefut a makró.
Vagyis valami ilyesmi lesz:
Sub makrónév()
Application.Volatile
...
...
End Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$3" Then
Call Macro1
End If
End Sub
Mind a kettőt próbáltam, de sajnos nekem nem megy.
A makróm a következő:
Sub Macro1()
k = Range("K16").Value
l = Range("L16").Value
If l > 50 Then
Range("L16").Value = 50
Else
Range("k16").Value = l / 100
End If
End Sub
Az L16 cella módosításával kellene leszaladjon a makró.
Rosszul emlékeztem.
A Volatile metódus csak felhasználói függvényeknél működik.
SimkoL megoldása jó, csak metszetet kell nézni, nem egyezést:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$L$16" Then
If Range("$L$16").Value > 50 Then
Range("$L$16").Value = 50
End If
MsgBox "Változás történt " & Target.Address & " itt"
End If
End Sub
Önmagában két makrót kell készítsek? Az első amit SimkoL leírt, a másik pedig az én makróm? Valamiért nem akar sikerülni összehozni? :(
Köszönöm a válaszokat! :)
Hu nem láttam, hogy közbe érkezett válasz. Megpróbálom ezzel. :)
Köszi :D
SimkoL első megoldása is tökéletes, csak ne a makró kódlapjára másold, hanem a munkalap lapjára: a makró kód ablakban duplaklikk balra a "Munka1 (Munka1)" elemen és a megjelenő üres lapra másold.
Köszönöm szépen!
Így valóban tökéletesen működik!
Ismételten köszönöm!
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!