2016-11-08 158 views
0

我正在使用Excel 2010.Excel VBA模塊不能正常工作

我將此代碼添加到我的工作表中,並且工作正常。

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

但是我想創建一些方法來創建代碼並在我們網絡上的所有excel工作簿中共享該代碼。

所以我創建了一個模塊並創建了一個加載項,並將代碼放入加載項的模塊中。

enter image description here

我刪除從片材中的代碼,因爲我想要的代碼是從所述模塊進行訪問。

我啓用了該模塊。

enter image description here

而且VBA代碼不工作,除非我把代碼插入到表。請告知我如何才能在一個文件中包含此代碼,並讓代碼在我們服務器上的所有Excel工作簿中共享。

+0

爲代碼工作的事件,您需要編寫一個應用程序事件處置在AddIn中。 [見這裏](http://www.cpearson.com/excel/AppEvent.aspx0) –

+0

看看這裏http://www.excelguru.ca/content.php?152-Deploying-Add-ins-in- a-Network-Environment – Niclas

回答

0

您必須將Worksheet_Change放在Excel對象的Sheetname下。因此,如果您希望此過程在Sheet1上運行,則必須將其置於Sheet1下。如果你想讓它在工作簿中的所有工作表的工作,你需要把它ThisWorkbook下,你需要的程序名從一個外接改變Workbook_SheetChange

+0

這隻會響應Addin工作表中的工作表更改。 OP希望在我們網絡上的所有excel工作簿中引用_share代碼._ –