我为不同的项目添加了一系列类似文件的代码.
我定义了一个(Control R)“^ R”快捷方式,让用户可以在userform中查看当前记录.
我在工作簿激活和停用事件上添加了application.key代码,因此当打开这种类型的多个文件时可以使用该快捷方式.
我的问题是,即使表单打开并从相应的工作簿中读取数据,也不会从相应的文件中调用userform!
我也应该本地化程序吗?
这是我的代码:
ThisWorkbook中的代码
Private Sub Workbook_Activate()
With Application
.OnKey "^R", "ReadCurrentRecord"
End With
End Sub
Private Sub Workbook_Deactivate()
Application.OnKey "^R"
End Sub
一般模块中的代码
Sub ReadCurrentRecord()
If ActiveCell.Worksheet.Name = "OSW" Then
If OSWRng Is Nothing Then
Set OSW = ThisWorkbook.Sheets("OSW")
Set OSWRng = OSW.Range("a5:bz2000")
End If
FrmWODetails.Tag = OSW.Cells(ActiveCell.Row, 14)
FrmWODetails.UserForm_Activate
FrmWODetails.Show vbModeless
End If
End Sub
文件中的所有名称都相同.
最佳答案 thisworkbook和activecell可能不是你所期望的那样.
如果这是一个插件,这个工作簿将引用插件而活动单元格不会.我甚至都不知道激活一个单元格是否可以用在加载项表单中……我想不会,我会测试一下,然后我会根据自己的知识进入计算机.
几乎总是最好完全限定对象,有时从应用程序级别,但通常工作簿就足够了
就个人而言,我更喜欢代号和名字而不是索引的代号,但它们有一些缺点使它们成为我的第一选择