我想在运行时将代码写入工作表的代码部分。
我使用“TEXT”数据连接导入数据,此过程将写入新工作表。我希望将数据验证代码写入工作表,以便在最终用户更改工作表上的数据时触发。
为了更加清晰:我想在工作表的代码部分插入一个包含验证代码的文本文件。 我能够弄清楚如何将代码写入表单代码模块,如下所示:
Sub CreateProc_Code()
Dim VBComp As VBIDE.VBComponent
Dim CodeMod As VBIDE.CodeModule
Set VBComp = ThisWorkbook.VBProject.VBComponents("Sheet11")
Set CodeMod = VBComp.CodeModule
CodeMod.AddFromFile ("C:\Users\Richard Mertl\Desktop\sheetcode.txt")
End Sub
但是,我正在寻找如何将其嵌入到文件中,而不必引用外部文件。
答案 0 :(得分:0)
您可以在运行时通过VBA以及手动导入VBA模块。参见:
答案 1 :(得分:0)
您可以使用Worksheet_Change
更改事件。
以下是示例代码。如果第2行中的任何值发生更改,则将调用msgbox。您可以在此处编写验证代码。
将代码放在表单代码部分。
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo err_rout
Application.EnableEvents = False
If Target.Row = 2 Then
MsgBox "something changed"
End If
err_rout:
Application.EnableEvents = True
End Sub