【发布时间】:2021-09-06 20:35:11
【问题描述】:
我有一个小问题。我需要在 msgbox 中轻松获取每个范围参数作为变量。我可以尝试使用 range.adress 中的 mid 或 left 来获取此目标,但范围可以是可变的,我必须根据范围内数字和字母的长度来执行“if”。有没有简单的方法来获取变量a,b,e,f? 提前谢谢你。
Sub RangeSelectionPrompt()
Dim rng As Range
Dim cell As CellFormat
Set rng = Application.InputBox("Select a range", "Obtain Range Object", Type:=8)
MsgBox "The cells selected were " & rng.Address
f = rng.Address
MsgBox f 'example: $P$11:$T$15
rng.Address = Range(cell(a, b), cell(e, f)) '
MsgBox a 'value a
MsgBox b 'value b
MsgBox e 'value e
MsgBox f 'value f
End Sub
【问题讨论】:
-
似乎是 XY 问题。你实际上想用这些变量做什么?
-
a是rng.cells(1).Row和b是rng.cells(1).Columnrng.cells(rng.cells.count).Row/Column类似,这是假设选择了一个矩形单区域范围。 -
另外,您似乎正在尝试设置
rng.Address的值,这是不允许的,因此很难准确理解您要做什么。