Cum se execută macro pe baza valorii celulei în Excel?
Presupunând că am mai multe coduri macro în registrul meu de lucru și acum vreau să rulez aceste coduri pe baza valorii celulei. În acest articol, voi vorbi despre mai multe situații pe care le-ați putea suferi în munca dvs. zilnică atunci când utilizați Excel.
Rulați sau declanșați macrocomanda dacă valoarea celulei este egală cu textul specific cu codul VBA
Rulați sau declanșați macrocomanda dacă valoarea celulei este mai mare sau mai mică decât o anumită valoare cu codul VBA
De exemplu, dacă valoarea din celula A1 este între 10 și 50, rulați macro1 și dacă valoarea este mai mare de 50, rulați macro2. Pentru a rezolva această sarcină în Excel, vă rugăm să aplicați următorul cod VBA.
1. Faceți clic dreapta pe fila de foaie pe care doriți să o executați pe baza unei valori de celulă, apoi alegeți Afișați codul din meniul contextual și în meniul deschis Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți următorul cod în modulul gol:
Cod VBA: Rulați macro dacă valoarea celulei este mai mare sau mai mică decât:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Cells.Count > 1 Then Exit Sub
If IsNumeric(Target) And Target.Address = "$A$1" Then
Select Case Target.Value
Case 10 To 50: Macro1
Case Is > 50: Macro2
End Select
End If
End Sub
notițe: În codul de mai sus:
A1 este celula care conține valoarea specifică pe care doriți să executați macrocomenzile;
Cazul 10 - 50: Macro1: înseamnă dacă valoarea este între 10 și 50, rulați Macro1;
Cazul este> 50: Macro2: înseamnă că dacă valoarea este mai mare de 50, rulați Macro2.
Vă rugăm să modificați aceste nume și criterii macro în funcție de nevoile dvs. și puteți adăuga și mai multe criterii în urma Caz script-ul.
2. Apoi salvați și închideți această fereastră de cod, acum, când valoarea pe care o introduceți este între 10 și 50 în celula A1, Macro1 va fi declanșat, dacă valoarea introdusă este mai mare de 50, Macro2 este executat.
Rulați sau declanșați macrocomanda dacă valoarea celulei este egală cu textul specific cu codul VBA
Dacă doriți să declanșați macro-ul pe baza unui anumit text dintr-o celulă, de exemplu, pentru a rula macro1 dacă este introdus textul „Ștergeți” și rulați macro2 dacă este introdus textul „Insert”. Următorul cod vă poate face o favoare.
1. Faceți clic dreapta pe foaia pe care doriți să o executați pe baza valorii celulei, apoi alegeți Afișați codul din meniul contextual și în meniul deschis Microsoft Visual Basic pentru aplicații fereastră, copiați și lipiți următorul cod în modulul gol:
Cod VBA: rulați macro dacă valoarea celulei este un text specific
Sub worksheet_change(ByVal target As Range)
Set target = Range("A1")
If target.Value = "Delete" Then
Call Macro1
End If
If target.Value = "Insert" Then
Call Macro2
End If
End Sub
notițe: În codul de mai sus, „Șterge"Și"Insera”Sunt textele celulare pe care doriți să executați macrocomenzi și Macro1 și Macro2 sunt macrocomenzile pe care doriți să le executați pe baza textului. Vă rugăm să le schimbați după nevoile dvs.
2. Apoi salvați acest cod și închideți fereastra, acum, când introduceți textul „Ștergeți” în celula A1, se declanșează macro1, dacă este introdus textul „Inserați”, macro2 va fi executat.
Legate de articole:
Cum se execută macro când valoarea celulei se schimbă în Excel?
Cum se execută macro automat înainte de a imprima în Excel?
Cum se execută macro pe baza valorii selectate din lista derulantă în Excel?
Cum se execută macro făcând clic pe hyperlinkuri în Excel?
Cum se execută macro când foaia este selectată dintr-un registru de lucru?
Cele mai bune instrumente de productivitate Office
Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%
- reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
- Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
- Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
- Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
- Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
- Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
- Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
- Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
- Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară
- Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
- Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ferestrele noi.
- Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!



















