2015-05-18 4 views
0

У меня есть раздел кода, в котором я просматриваю самую верхнюю ячейку на листе, а затем вставляя данные из другого листа в диапазон, начинающийся с этой первой пустой ячейки , Вот код, который я до сих пор:Выбор диапазона на основе вывода цикла for

Sub Button644_Click()

Dim ReferenceCell As Integer 
For r = 1 To 2000 
    If Sheets("Summary").Range("A" & r).Value = vbNullString Then 
     ReferenceCell = r + 1 
     GoTo A 
    End If 
Next r 
    A:s = r + 9 
    Sheets("Summary").Range("A" & r:"Q" & s).Select 
End Sub 

отладчик завершает его на строке после того, как :. Мне нужен код, похожий на «Range (« A1: Q »& s)», но вместо «A (1)» он должен быть «A (r)». Этот код, в конце концов, будет вставлять специальную таблицу с A1: Q10 с другого листа и прокручивать так, чтобы каждый раз, когда выполняется макрос, он проверяет пустую ячейку, а затем вставляет эту таблицу под ранее вставленную таблицу. Это все еще находится на самых ранних стадиях. Любая помощь будет принята с благодарностью.

Спасибо!

+0

Нет« A: в вашем коде. Пожалуйста, обновите вопрос. – ZygD

+0

Есть лучшие способы найти последнюю пустую ячейку или строку. Примеры: http://stackoverflow.com/questions/71180/how-can-i-find-last-row-that-contains-data-in-the-excel-sheet-with-a-macro –

+0

Я добавил A in, хотя это не влияет на код. Спасибо за предложение найти последнюю строку, это может быть проще, чем мой метод. – Nick

ответ

0

ОТВЕТИЛ: «Ваш код включает в себя .Range (» А»& г:„Q“& ы) и:. Вероятно, следует быть внутри кавычек с другим оператором конкатенации & .Range („А“& г & ": Q" & s) .Во втором случае лучше найти последнюю строку. Вот достойная рекомендация: stackoverflow.com/questions/11169445/... - Byron "

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