我为不同项目的一系列相似文件添加了代码。
我定义了(Control + R)“ ^ + R
”快捷方式,以使用户可以在用户窗体中查看当前记录。
我在工作簿激活和停用事件上添加了application.key
代码,因此当打开多个此类文件时可以使用快捷方式。
我的问题是,即使表单打开并从相应的工作簿中读取数据,也不会从相应的文件中调用userform!
我也应该对程序进行本地化吗?
这是我的代码:
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
文件中的所有名称都相同。
答案 0 :(得分:1)
此工作簿和activecell可能与您期望的不一样。
如果这是一个插件,则此工作簿将引用该插件,而活动单元不会。我什至不知道是否可以在加载项工作表中使用激活单元格...我想不是,我会测试一下之后再根据自己的知识上电脑。
几乎总是最好对对象进行完全限定,有时从应用程序级别开始,但通常工作簿就足够了
就个人而言,我更喜欢代号而不是名称,而比起索引,更喜欢辣妹,但是它们有一些缺点,使它们无法成为我的第一选择