Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vba 命名动态范围并将其转换为变量_Vba_Excel - Fatal编程技术网

Vba 命名动态范围并将其转换为变量

Vba 命名动态范围并将其转换为变量,vba,excel,Vba,Excel,我正在尝试根据查找来命名一个范围。然后将该范围定义为我的变量,以便我可以将该变量输入到其他函数中。当我运行代码时,我得到一个类型不匹配错误 Sub Faked() Dim r As Range Cells.Find(What:="EE status", After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCas

我正在尝试根据查找来命名一个范围。然后将该范围定义为我的变量,以便我可以将该变量输入到其他函数中。当我运行代码时,我得到一个类型不匹配错误

Sub Faked()
Dim r As Range
Cells.Find(What:="EE status", After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate
    Range(Selection, Selection.End(xlDown)).Name = "Win"
Set r = ("Win")


End Sub

因为斯科特这么说。尝试设置r=范围(“赢”)

要测试
r
是否正确拾取范围,可以执行以下操作

for each c in r
    debug.print c
next
编辑:或者如果你像德克一样酷

Set r = [Win]

将代码替换为以下内容:

    Dim r As Range
Cells.Find(What:="EE status", After:=ActiveCell, LookIn:=xlFormulas, _
    LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
    MatchCase:=False, SearchFormat:=False).Activate
Set r = Range(Selection, Selection.End(xlDown))
r.Name = "Win"
说明:

不能将SET命令与范围对象的name属性一起使用。首先需要使用范围选择填充对象,然后您可以使用对象的属性为其指定值,在本例中为其指定名称属性


希望有帮助

试试
Set r=range(“Win”)
@findwindow Dude我希望你能回答其中一些问题。我们需要让您在2000以上,以便您可以编辑问题。
对于r|debug.print c|next
?您可以
debug.print r.Address
它将在即时窗口中显示范围地址。它工作正常。非常感谢你们两位@Findwindow我发现,如果你在线,我的问题会比任何时候都得到更清晰、更快的回答。很高兴提供帮助,只是别忘了跟踪代码中的所有对象变量。。。给他们一个容易理解的名字,比如“rngMyEmployeeStatus”等等……!;)哈哈,这不值得投4票。我的意思是,只得到了同样数量的选票,而且更令人印象深刻。编辑:还有,不管是谁做的,他给我留下了一条评论,但在我抓到之前就把它删除了……哈哈,你想让我否决它吗?除非你同意,否则我不会这么做…@UnEscapedCharacter我同意。@DirkReichel你在这么做吗?@findwindow刚刚试过,但我想我还是太新了,所以谢谢你的支持,随时欢迎你的支持,哈哈