通过VBA选择命名范围,让用户直接编辑单元格



我有一个小问题,但我找不到它的代码。为了简单起见,我举了一个简单的例子。

我用一个非模态列表框(lsb_dataval_man)创建了一个验证用户表单。此列表框使用命名区域填充,其中仅包含有错误或为空的名称。由于有许多选项卡,用户可以快速导航到需要注意的工作表和单元格,并修改或填充它们。

当您双击列表框中的指定范围时,它将转到该引用,用户需要直接输入数据。请参阅下面的简化的双击代码。

使用命令应用程序。转到ThisWorkbook.names(named_range). referstorange,它将选择单元格,但我不能像你选择时那样直接键入单元格。用户需要再次单击单元格,或者在公式栏中单击输入数据。我怎样才能改变我的代码,以便在进入命名范围的单元格后,用户可以直接键入?也许这与仍在使用的非模态形式有关?

代码:

Private Sub lsb_dataval_man_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim named_range As String
named_range = Me.lsb_dataval_man
'select the named range cell
Application.Goto ThisWorkbook.names(named_range).RefersToRange
End sub

应该可以:

Private Sub lsb_dataval_man_DblClick(ByVal Cancel As MSForms.ReturnBoolean)
Dim named_range As String
named_range = Me.lsb_dataval_man
AppActivate ThisWorkbook.Windows(1).Caption   'switches focus from userform to workbook 
ThisWorkbook.Names(named_range).RefersToRange.Select  'selects cell
End sub

相关内容

  • 没有找到相关文章

最新更新