0

我在 Excel 中创建了一个 VBA 用户窗体,用户可以在其中选择多个范围。在用户表单中,我通过一系列 If then MsgBox 语句进行了输入验证。

作为其中的一部分,我需要获取输入的范围并将其用作变量。

假设范围是 Me.ActDurations,我尝试使用它:

dim ActDur as range
set ActDur = Me.ActDurations

我也试过:

set ActDur = Me.ActDurations.Value

这也行不通。什么是正确的语法?使用第一种类型会给我一个类型不匹配的错误。

4

1 回答 1

3

.Value属性RefEdit返回一个字符串。要将其用作范围,您应该使用字符串作为范围名称。下面的示例代码。

Dim address as String
Dim targetRange As Range

address = RefEdit1.Value 'String returned by the selected range using RefEdit.
Set targetRange = Range(address)

'Do some code here.

根据您的代码的需要进行修改。;)

于 2013-11-12T04:56:34.070 回答