Excel 将范围地址另存为单元格值,在VBA的后续范围中使用
我有一个运行if-then语句的代码。它询问用户是否要重新选择一个范围,如果不想,则使用最后选择的范围。我记下了它的第一部分,但当我存储范围的地址时,我不知道如何回拨它。请参见下面的代码Excel 将范围地址另存为单元格值,在VBA的后续范围中使用,excel,vba,Excel,Vba,我有一个运行if-then语句的代码。它询问用户是否要重新选择一个范围,如果不想,则使用最后选择的范围。我记下了它的第一部分,但当我存储范围的地址时,我不知道如何回拨它。请参见下面的代码 NewNS = MsgBox("Would you like to pick new Force ID's in the North-South direction?", vbYesNo, "Roof North-South") If NewNS = vbYes Then Worksheets(
NewNS = MsgBox("Would you like to pick new Force ID's in the North-South direction?", vbYesNo, "Roof North-South")
If NewNS = vbYes Then
Worksheets("ShearWalls").Activate
Do Until CheckNS = vbYes
On Error Resume Next
Set rngNS = Application.InputBox("Select your Force ID's (North-South)", "Roof North-South", Type:=8)
On Error GoTo EndJump
CheckNS = MsgBox("The cells selected were " & rngNS.Address & " for North-South. Is this correct?", vbYesNo, "Roof North-South")
Loop
Worksheets("Reference").Range("B739").Value = rngNS.Address
Else
Setrng = Worksheets("Reference").Range("B739").Value
Set rngNS = Range(Setrng)
End If
我知道它在某些方面可以简化,我只是想先确保它能工作。谢谢大家! 使用存储为单元格值的地址构建范围。您正在使用
工作表(“剪力墙”)。激活但不限定存储在范围(“B739”)
中的地址的父级
虽然从您的叙述中不清楚您要引用的工作表,但我假设您想要的范围是引用工作表,而不是剪力墙工作表
with Worksheets("Reference")
Setrng = .Range("B739").Value2
Set rngNS = .Range(Setrng)
end with
我不确定工作表是否重要,但该代码似乎不起作用。我将尝试并描述我正在尝试做的事情,也许一个不同的代码可以工作。假设我在单元格A1中输入$A$18:$A$20
。我想让我的VBA代码得到我在A1中指定的任何单元格范围,如果我想,我可以手动更改它。谢谢你的帮助@我想我现在明白你的意思了。我将代码的Else
部分更改为状态Else Setrng=工作表(“参考”)。范围(“B739”)。值集rngNS=工作表(“剪力墙”)。范围(Setrng)结束,如果,则转到我需要的值。再次感谢。