Модули VBA Excel не работают

Я использую Excel 2010.

Я добавил этот код в свой лист, и он работает.

Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("A1") > 0.5 Then
        MsgBox "Discount too high"
    End If
End Sub

Но я хочу создать какой-то способ, где я мог бы создать код и поделиться этим кодом во всех книгах excel в нашей сети.

Итак, я сделал модуль и создал надстройку, и вложил код в модуль надстройки.

Введите описание изображения здесь

Я удалил код с листа, так как я хочу, чтобы код был доступен из модуля.

Я включил модуль.

Введите описание изображения здесь

И код VBA не работает, пока я не положил код в лист. Пожалуйста, сообщите, как я могу просто иметь этот код в одном файле и иметь этот код совместно через все книги excel на нашем сервере.

1 ответ

  1. Необходимо поместить Worksheet_Changeпод именем листа объектов Excel. Таким образом, если вы хотите, чтобы эта процедура выполнялась на Sheet1, вам придется поместить ее под Sheet1. Если вы хотите, чтобы он работал на всех листах в книге, вам нужно будет поместить его под ThisWorkbookи изменить имя процедуры на Workbook_SheetChange