1

今晚我在使用 VBA 语法时遇到了一些困难,希望能得到您的帮助。

我有一个用户表单,它通过 RefEdit 字段接受输入,并将其存储为变量(范围)。(这是通过

set DurationRange = range(me.refedit1.value)

这是我今晚早些时候提出的问题。

此用户表单采用此范围输入,并将范围输出到不同的工作表中以供进一步处理。我想做的基本上是再次输出变量。

我正在尝试使用以下代码:

with worksheets("Data Output")
    .range("a1").offset(0, counter) = "Durations" 'this line just creates a header cell
    .range("a2").offset(0, counter) = DurationsRange 'this line should output the range into cell a2
End with

但是虽然这会输出字符串,但它对范围没有任何作用。输出范围的正确方法是什么?我知道我可以为每个循环做一个,但是我有很多范围,这似乎非常低效。

4

1 回答 1

2

有一些可能的答案:

第一个。如果您DurationRange是单个单元格范围,那么您只需要在此行中改进代码:

.range("a2").offset(0, counter) = DurationsRange.Value     'Value property is important here

第二。如果您DurationRange由一列和一些行组成,那么您可以使用此解决方案:

.range("a2").offset(0, counter).Resize(DurationRange.Rows.Count) = DurationsRange.Value     'Value property is important here, too

显然,还有一些其他选项可以通过与上面第二个示例类似的方式解决。

于 2013-11-12T08:44:15.387 回答