使用 'RefEdit' 控件检查特定范围
Using 'RefEdit' control to check specific range
我有一个用户表单,要求用户使用 RefEdit
控件 select 一系列单元格。我正在尝试将相应的范围存储在一个范围变量中,这样我就可以 运行 对该范围进行多次检查(没有空单元格、有效输入……)。现在我尝试使用(因为我在互联网上看到很多人这样做):
Dim Data_Range as Range
Set Data_Range = Range(RefEdit_DataRange.Value)
但它仅以错误结束:
'Error 1004: Method "Range" for object "_Global" failed. (approximate translation)
我在 MsgBox 中打印了 RefEdit_DataRange.Value
,它是一个格式为 Sheet!Cell1:Cell2
的字符串,所以它看起来像我期望的那样,但它不起作用。
有人 运行 遇到过同样的问题吗?
您需要在范围地址之前传递您的 sheet 引用,根据您所拥有的,split
似乎是最简单的方法:
Dim Data_Range As Range, _
A() As String
A = Split(RefEdit_DataRange.Value, "!")
Set Data_Range = Sheets(replace(A(0),Chr(39),"")).Range(A(1))
我有一个用户表单,要求用户使用 RefEdit
控件 select 一系列单元格。我正在尝试将相应的范围存储在一个范围变量中,这样我就可以 运行 对该范围进行多次检查(没有空单元格、有效输入……)。现在我尝试使用(因为我在互联网上看到很多人这样做):
Dim Data_Range as Range
Set Data_Range = Range(RefEdit_DataRange.Value)
但它仅以错误结束:
'Error 1004: Method "Range" for object "_Global" failed. (approximate translation)
我在 MsgBox 中打印了 RefEdit_DataRange.Value
,它是一个格式为 Sheet!Cell1:Cell2
的字符串,所以它看起来像我期望的那样,但它不起作用。
有人 运行 遇到过同样的问题吗?
您需要在范围地址之前传递您的 sheet 引用,根据您所拥有的,split
似乎是最简单的方法:
Dim Data_Range As Range, _
A() As String
A = Split(RefEdit_DataRange.Value, "!")
Set Data_Range = Sheets(replace(A(0),Chr(39),"")).Range(A(1))