2013-11-12 3 views
1

Я сегодня немного борюсь с синтаксисом VBA и буду благодарен вам за помощь.Выход VBA в ячейку

У меня есть Userform, которая принимает входные данные через поля 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 

Но хотя это выводит строку, она делает ничего для диапазона. Каков правильный метод вывода диапазона? Я знаю, что могу сделать для каждого цикла, но у меня так много диапазонов, что кажется невероятно неэффективным.

+1

Что такое 'DurationRange' и где есть связь между' CraCost', 'DurationsRange' и' Durations'? –

+0

Извините, отредактируйте для ясности. – idalsin

ответ

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 

Очевидно, что есть некоторые другие варианты, которые могут быть решены аналогичным способом 2 примера выше.

Смежные вопросы