简体   繁体   English

VBA 命名范围

[英]VBA Named Range

I have a code below where i try change the range i reference to a dynamic range.我在下面有一个代码,我尝试将我引用的范围更改为动态范围。 I'm referencing it somehow wrong.我引用它有点错误。 Any ideas how to fix this?任何想法如何解决这一问题? Basically Workrange reference is fine if i go Workrange.Select , but it doesn't work in the Intersect context.如果我去Workrange.Select ,基本上Workrange参考很好,但它在 Intersect 上下文中不起作用。


Set StartCell = Range("A5")
Set StartSheet = Worksheets("Data")

With Worksheets("Data").Range("A4:BZ4")
    Set LastColumn = .Find("Comment", LookIn:=xlValues)
End With

Set Workrange = StartSheet.Range(StartCell, StartSheet.Cells(5000, LastColumn.Column))

If Not Intersect(Target, Range("Workrange")) Is Nothing Then ' --> This does NOT work

'If Not Intersect(Target, Range("A5:AC5000")) Is Nothing Then --> THIS WORKS.
If Target.Count > 1 Then Exit Sub
Cells(Target.Row, LastColumn.Column + 1).Value = Environ("username")
Cells(Target.Row, LastColumn.Column + 2).Value = Format(Now, "dd/mm/yyyy_hh.mm.ss")
End If
End Sub

It should be:它应该是:

If Not Intersect(Target, Workrange) Is Nothing Then

When using Range("Workrange") it is looking for a Range, in the Workbook which has been called "Workrange" (Formulas-> Name Manager).使用Range("Workrange")它会在名为“Workrange”(公式-> 名称管理器)的工作簿中查找范围。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM