Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как запустить макрос на основе значения ячейки в Excel?

Предположим, у меня есть несколько макрокодов в моей книге, и теперь я хочу запустить эти коды на основе значения ячейки. В этой статье я расскажу о нескольких ситуациях, которые могут возникнуть в вашей повседневной работе при использовании Excel.

Выполнить или запустить макрос, если значение ячейки больше или меньше определенного значения с кодом VBA

Выполнить или запустить макрос, если значение ячейки равно определенному тексту с кодом VBA


arrow синий правый пузырь Выполнить или запустить макрос, если значение ячейки больше или меньше определенного значения с кодом VBA


Например, если значение в ячейке A1 находится между 10 и 50, запустите macro1, и если значение больше 50, запустите macro2. Чтобы решить эту задачу в 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

doc запускает макрос на основе значения ячейки 1

Внимание: В приведенном выше коде:

A1 это ячейка, которая содержит определенное значение, которое вы хотите запустить на основе макроса;

Случай 10 К 50: Macro1: это означает, что если значение находится между 10 и 50, запустите Macro1;

Дело> 50: Macro2: это означает, что если значение больше 50, запустите Macro2.

Пожалуйста, измените те имена макросов и критерии, которые вам нужны, и вы также можете добавить дополнительные критерии после Футляр скрипты.

2, Затем сохраните и закройте это окно кода, теперь, когда введенное значение находится между 10 и 50 в ячейке A1, будет активировано Macro1, если введенное значение больше 50, выполняется Macro2.


arrow синий правый пузырь Выполнить или запустить макрос, если значение ячейки равно определенному тексту с кодом VBA

Если вы хотите вызвать макрос на основе определенного текста в ячейке, например, для запуска макроХNUMX, если введен текст «Удалить», и запустите macro1, если введен текст «Insert». Следующий код может оказать вам услугу.

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 

doc запускает макрос на основе значения ячейки 2

Внимание: В приведенном выше коде "Удалите файл(Основной ключ) и Вставить"- это тексты ячеек, которые вы хотите запускать на основе макросов, и Macro1 Macro2 это макросы, которые вы хотите выполнить на основе текста. Пожалуйста, измените их в соответствии с вашими потребностями.

2, Затем сохраните этот код и закройте окно, теперь, когда вы вводите текст «Удалить» в ячейке A1, запускается macro1, если введен текст «Вставка», выполняется макроХNUMX.


Статьи по теме:

Как запустить макрос, когда значение ячейки изменяется в Excel?

Как автоматически запускать макрос перед печатью в Excel?

Как запустить макрос на основе значения, выбранного из раскрывающегося списка в Excel?

Как запустить макрос, нажав гиперссылки в Excel?

Как запустить макрос, когда лист выбран из книги?



Рекомендуемые инструменты для повышения производительности в Excel

Kutools для Excel помогает всегда завершать работу раньше времени и выделяться из толпы

  • Больше, чем мощные расширенные функции 300, разработанные для рабочих сценариев 1500, повышающие производительность на 70%, дают вам больше времени, чтобы заботиться о семье и радоваться жизни.
  • Больше не нужно запоминать формулы и коды VBA, дайте вашему мозгу отдохнуть.
  • Станьте экспертом по Excel за минуты 3. Сложные и повторяющиеся операции можно выполнить за считанные секунды,
  • Ежедневно сокращайте тысячи операций с клавиатурой и мышью, попрощайтесь с профессиональными заболеваниями сейчас.
  • Высокоэффективные люди 110,000 и выбор всемирно известных компаний 300 +.
  • 60-Day полнофункциональная бесплатная пробная версия. 60-день гарантии возврата денег. 2 лет бесплатного обновления и поддержки.

Обеспечивает просмотр и редактирование с помощью вкладок в Microsoft Office, гораздо более мощный, чем вкладки браузера

  • Вкладка Office предназначена для Word, Excel, PowerPoint и других приложений Office: Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Mani Chandran · 1 years ago
    I am working with result analysis. In this case, the data in the excel will be like this Name, Sub name , Crade. Now,i want to find the all pass or successful candidate numbers from the result. How can i get it. Because, i am having 6 different subject and their results in single excel sheet. If student failed in one subject he is not be a successful student. How do remove their name in all the subjects.
  • To post as a guest, your comment is unpublished.
    Siva · 1 years ago
    Requirement:
    Based on the selection
    There will be a dropdown list for following three properties of the same dimension as below.
    And there will be three derived cells which will be derived from the cells (G46,G47 and G48)

    Scenario:
    If I select a value from cost center drop down list , cost center derived cell(K46) should be populated with value selected from cost center drop down list(H46) and the other two derived cells (K47 and k48) should become blank.

    Similarly if I select value from Budget manager drop down list, Budget manager derived cell should be populated with value selected from Budget manager drop down list(H47) and the other two derived cells (K45 and k48) should become blank.
  • To post as a guest, your comment is unpublished.
    Richard · 2 years ago
    Hi, how about if you want to run a macro based on two cells? One cell being text based and the other cell having numerical values? Then you would want to call a macro if the two cells show exactly what you want, like "YES" for the first cell and 1 for the second cell, if not a pop box would show saying "Not Found".