代码之家  ›  专栏  ›  技术社区  ›  xris23

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

  •  1
  • xris23  · 技术社区  · 2 年前

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

    使用命令应用程序。转到此工作簿。名称(命名范围)。referestorange它将选择单元格,但我无法像您选择单元格时那样直接键入单元格。用户需要再次单击单元格,或在公式栏中单击并输入数据。如何更改代码,以便在进入命名区域的单元格后,用户可以直接键入?也许这与仍然活跃的无模式形式有关?

    代码:

    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
    
    1 回复  |  直到 2 年前
        1
  •  1
  •   Ike    2 年前

    这应该有效:

    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