Vba 设置双击前的范围

Vba 设置双击前的范围,vba,excel,Vba,Excel,我正在尝试为从B:27到B:X任意行数的单元格范围添加双击事件。所以我只想限制到从第27行开始的“B”列 单击定义范围内的任何单元格时,我将更新另一个单元格中的Target.Value并调用子程序 当前代码如下所示。这是以前的开发人员提供的,它在一个工作表中工作,但是现在我在另一个工作表上创建了一个类似的报告,它给出了错误 Method 'Range' of object '_Worksheet' failed. 我不确定DblClikRange是在哪里定义的,我也在模块代码中查找了,我在整个

我正在尝试为从B:27到B:X任意行数的单元格范围添加双击事件。所以我只想限制到从第27行开始的“B”列

单击定义范围内的任何单元格时,我将更新另一个单元格中的Target.Value并调用子程序

当前代码如下所示。这是以前的开发人员提供的,它在一个工作表中工作,但是现在我在另一个工作表上创建了一个类似的报告,它给出了错误

Method 'Range' of object '_Worksheet' failed.
我不确定DblClikRange是在哪里定义的,我也在模块代码中查找了,我在整个VBA代码中搜索了这个词,但找不到它

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Excel.Range, Cancel As Boolean)
   If Not Intersect(Target, Range("DblClikRange")) Is Nothing Then
     On Error Resume Next

     Range("B22") = Target.Value

    ' call the sub to load data
      Call MyDemo
   End If
End Sub

你知道在哪里查找这个命名范围变量,或者如何以不同的方式查找吗?任何帮助都将不胜感激。

如果您不想使用命名范围,则无需使用命名范围,只需在代码中显式定义单元格即可:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("B:B")) Is Nothing Then
         If Target.Row => 27 Then
             Range("B22") = Target.Value
             ' call the sub to load data
             Call MyDemo
         End If
    End If
End Sub

这实际上取决于您对什么最满意-您似乎不习惯使用命名范围,所以只需使用上面的代码即可。

知道在何处查找此命名范围吗。。是的,读。也可能有帮助:功能区正下方工作簿的左上角应有一个下拉框。点击它,你会看到你所指的范围。突出显示它,excel会将您带到它所在的位置。谢谢@simoco,我将浏览您的链接provided@MattCremeens是的,我可以看到带有命名范围变量的下拉列表。+1到simoco,获取关于下一步错误恢复的注释。似乎我在这里看到的每一个代码都有它。很高兴知道另一种方法。它也有效。我实际上不需要在这里使用命名范围,因为我只在一个地方引用单元格范围。