Как да стартирам макрос въз основа на стойност на клетка в Excel?
Да предположим, че имам множество макро кодове в моята работна книга и сега искам да стартирам тези кодове въз основа на стойността на клетката. В тази статия ще говоря за няколко ситуации, от които може да страдате в ежедневната си работа, когато използвате Excel.
Стартирайте или задействайте макрос, ако стойността на клетката е равна на определен текст с VBA код
Стартирайте или задействайте макрос, ако стойността на клетката е по-голяма или по-малка от конкретна стойност с VBA код
Например, ако стойността в клетка A1 е между 10 и 50, изпълнете макрос1, а ако стойността е по-голяма от 50, изпълнете макрос2. За да решите тази задача в Excel, моля, приложете следния VBA код.
1. Щракнете с десния бутон върху раздела на листа, за който искате да изпълните макроса въз основа на стойност на клетка и след това изберете Преглед на кода от контекстното меню и в отвореното Microsoft Visual Basic за приложения прозорец, копирайте и поставете следния код в празния модул:
VBA код: Изпълнете макрос, ако стойността на клетката е по-голяма или по-малка от:
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
Забележка: В горния код:
A1 е клетката, която съдържа конкретната стойност, въз основа на която искате да изпълните макроса;
Случай 10 до 50: Макрос1: това означава, че ако стойността е между 10 и 50, стартирайте Macro1;
Случаят е > 50: Macro2: означава, че ако стойността е по-голяма от 50, стартирайте Macro2.
Моля, променете тези имена на макроси и критерии според вашите нужди и можете също да добавите още критерии, следвайки Случай скриптове.
2. След това запазете и затворете този прозорец с код, сега, когато въведената от вас стойност е между 10 и 50 в клетка A1, Macro1 ще се задейства, ако въведената стойност е по-голяма от 50, Macro2 се изпълнява.
Стартирайте или задействайте макрос, ако стойността на клетката е равна на определен текст с VBA код
Ако искате да задействате макроса въз основа на конкретен текст в клетка, например, да изпълните макрос1, ако е въведен текстът „Изтриване“, и да изпълните макрос2, ако е въведен текст „Вмъкване“. Следният код може да ви направи услуга.
1. Щракнете с десния бутон върху листа, за който искате да изпълните макроса въз основа на стойността на клетката, и след това изберете Преглед на кода от контекстното меню и в отвореното Microsoft Visual Basic за приложения прозорец, копирайте и поставете следния код в празния модул:
VBA код: Изпълнете макрос, ако стойността на клетката е конкретен текст
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
Забележка: В горния код „Изтрий"А"Поставете” са текстовете на клетките, въз основа на които искате да изпълнявате макроси, и макрос1 намлява макрос2 са макросите, които искате да изпълните въз основа на текст. Моля, променете ги според вашите нужди.
2. След това запазете този код и затворете прозореца, сега, когато въведете текста „Изтриване“ в клетка A1, макрос1 се задейства, ако се въведе текстът „Вмъкване“, ще се изпълни макрос2.
Още по темата:
Как да стартирате макрос, когато стойността на клетката се промени в Excel?
Как да стартирам автоматично макрос преди печат в Excel?
Как да стартирам макрос въз основа на стойност, избрана от падащия списък в Excel?
Как да стартирате макрос, като щракнете върху хипервръзки в Excel?
Как да стартирам макрос, когато листът е избран от работна книга?
Най-добрите инструменти за продуктивност в офиса
Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време. Щракнете тук, за да получите функцията, от която се нуждаете най-много...
Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна
- Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
- Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!