Ugrás a tartalomra

Hogyan lehet futtatni a makrót, amikor a cellák értéke megváltozik az Excelben?

Szerző: Xiaoyang Utolsó módosítás: 2020-11-05

Normális esetben az Excelben az F5 vagy a Futtatás gombot megnyomhatjuk a VBA kód végrehajtásához. De próbáltad már futtatni az adott makrókódot, amikor egy cella értéke megváltozik? Ebben a cikkben néhány gyors trükköt mutatok be, hogy kezelje ezt a munkát az Excel programban.

Futtassa vagy hívja a makrót, amikor egy adott cella értéke megváltozik a VBA kóddal

Futtassa vagy hívja a makrót, ha bármely cellaérték megváltozik egy tartományban VBA kóddal


nyíl kék jobb buborék Futtassa vagy hívja a makrót, amikor egy adott cella értéke megváltozik a VBA kóddal

Ha makrokódot akarunk futtatni egy cellaérték megváltoztatásával, a következő VBA-kód kedvezhet Önnek, kérjük, tegye a következőket:

1. Kattintson a jobb gombbal a lap fülére, amelyen a makrót végre szeretné hajtani, ha a cella értéke megváltozik, majd válassza a Kód megtekintése a helyi menüből és a megnyitottból Microsoft Visual Basic alkalmazásokhoz ablakba másolja és illessze be a következő kódot az üres modulba:

VBA kód: Futtassa a makrót, ha a cella értéke megváltozik:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Call Mymacro
    End If
End Sub

doc futtassa a makrót, ha a cella megváltozik 1

Megjegyzések: A fenti kódban A1 az a konkrét cella, amely alapján futtatni szeretné a kódot, Mymacro a futtatni kívánt makrónév. Kérjük, változtassa meg őket az Ön igényeinek megfelelően.

2. Ezután mentse el és zárja be a kódablakot. Most, amikor értéket ad meg vagy módosít az A1 cellában, az adott kód egyszerre aktiválódik.


nyíl kék jobb buborék Futtassa vagy hívja a makrót, ha bármely cellaérték megváltozik egy tartományban VBA kóddal

Ha makrót akar futtatni vagy aktiválni, amikor bárki cellaértéke megváltozik egy cellatartományban, a következő kód segíthet.

1. Kattintson a jobb gombbal a lap fülére, amelyen a makrót végre szeretné hajtani, ha a cella értéke megváltozik, majd válassza a Kód megtekintése a helyi menüből és a megnyitottból Microsoft Visual Basic alkalmazásokhoz ablakba másolja és illessze be a következő kódot az üres modulba:

VBA-kód: Futtassa a makrót, ha bármely cellaérték megváltozik egy tartományban:

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1:B100")) Is Nothing Then
Call Mymacro
End If
End Sub

doc futtassa a makrót, ha a cella megváltozik 2

Megjegyzések: A fenti kódban A1: B100 az a konkrét cella, amely alapján futtatni szeretné a kódot, Mymacro a futtatni kívánt makrónév. Kérjük, változtassa meg őket az Ön igényeinek megfelelően.

2. Ezután mentse el és zárja be a kódablakot. Most, amikor az A1: B100 bármely cellájában megad vagy módosít egy értéket, az adott kód azonnal végrehajtásra kerül.


Távolítsa el az összes makrót több munkafüzetből

Kutools az Excel számára's Kötegelt összes makró eltávolítása segédprogram segítségével eltávolíthatja az összes makrót több munkafüzetből, amire szüksége van. Töltse le és ingyenes próbaverziója a Kutools for Excel alkalmazást most!

Kutools az Excel számára: több mint 300 praktikus Excel-bővítménnyel, ingyenesen, korlátozás nélkül, 30 nap alatt kipróbálható. Töltse le és ingyenes próbaverziót most!


Kapcsolódó cikkek:

Hogyan lehet automatikusan futtatni a makrót az Excel nyomtatása előtt?

Hogyan futtatható a makró az cellák értéke alapján az Excelben?

Hogyan lehet futtatni a makrót az Excel legördülő listájából kiválasztott érték alapján?

Hogyan lehet futtatni a makrót az Excel hiperhivatkozásaira kattintva?

Hogyan lehet futtatni a makrót, ha a lapot kiválasztjuk egy munkafüzetből?

A legjobb irodai hatékonyságnövelő eszközök

🤖 Kutools AI Aide: Forradalmasítsa az adatelemzést a következők alapján: Intelligens végrehajtás   |  Kód létrehozása  |  Hozzon létre egyéni képleteket  |  Adatok elemzése és diagramok létrehozása  |  A Kutools funkciók meghívása...
Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

Leírás


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
Comments (19)
Rated 5 out of 5 · 1 ratings
This comment was minimized by the moderator on the site
Good afternoon, could you help me, I have been trying to create a macro for some time, I create a macro that in cell c5, (makes a simple macro), when pressed it changes the color of a column x, if cell c5 is positioned in another cell like f8, how can I make the macro follow the cell to the new position, and be able to execute it, without the macro entering the code and changing the position internally. thanks greetings
Rated 5 out of 5
This comment was minimized by the moderator on the site
It worked, thanks for the help
This comment was minimized by the moderator on the site
This is exactly what I was looking go for. When a user enters a value in a cell, a simple sort macro would run. The macro runs fine on its own but I get an invalid use of property error using the suggested code.

What could be the issue?
This comment was minimized by the moderator on the site
I am using the code below to hide various columns depending on the selection from a drop-down box located in cell C3, but after a calculation is performed anywhere in the worksheet, ALL columns become UNHIDDEN. How do I fix this?

Private Sub Worksheet_Change(ByVal Target As Range)

Columns("D:F").AutoFit

Dim Proj1 As String
Dim Proj2 As String
Dim Proj3 As String
Dim Proj4 As String
Dim Proj5 As String
Dim Proj6 As String
Dim Proj7 As String
Dim Proj8 As String
Dim Proj9 As String
Dim Proj10 As String

Proj1 = ActiveWorkbook.Sheets("Projects").Range("A1").Value
Proj2 = ActiveWorkbook.Sheets("Projects").Range("A2").Value
Proj3 = ActiveWorkbook.Sheets("Projects").Range("A3").Value
Proj4 = ActiveWorkbook.Sheets("Projects").Range("A4").Value
Proj5 = ActiveWorkbook.Sheets("Projects").Range("A5").Value
Proj6 = ActiveWorkbook.Sheets("Projects").Range("A6").Value
Proj7 = ActiveWorkbook.Sheets("Projects").Range("A7").Value
Proj8 = ActiveWorkbook.Sheets("Projects").Range("A8").Value
Proj9 = ActiveWorkbook.Sheets("Projects").Range("A9").Value
Proj10 = ActiveWorkbook.Sheets("Projects").Range("A10").Value

Dim xRG As Range
Dim xHRow As Integer
Set xRG = Range("C3")
If Not Intersect(Target, xRG) Is Nothing Then

If Target.Value = Proj1 Then
Application.Columns("E:F").Hidden = True
Application.Columns("D").Hidden = False

ElseIf Target.Value = Proj2 Then
Range("D:D, F:F").EntireColumn.Hidden = True
Application.Columns("E").Hidden = False

End If
End If
End Sub
This comment was minimized by the moderator on the site
I am trying to automate 1 workbook (BOM) when another workbook(Parts Status) makes changes. The Parts status file updates every 15 minutes. I need to know how to automate a specific column when these changes occur? Any ideas
There are no comments posted here yet
Load More
Leave your comments
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations