2013-07-30 3 views
0

Я полный новичок с Excel VBA. Я пытаюсь создать расписание, в котором на листе «Курсы» представлена ​​вся учебная информация о курсах.Вставка значений ячеек в указанную ячейку

В колонке E используется формула для идентификации ячейки, которая перекрестно ссылается на сотрудника и дату курса.

Столбец K содержит оператор concat (текст & Числовые данные), который должен быть вставлен в нужное место на листе «Календарь» (той же книге).

Кодекс Я до сих пор показано ниже:

Private Sub BtnUpdate_Click() 

Dim w As Variant 
Dim c As Variant 
Dim i As Integer 
Dim n As Integer 

'Application.ScreenUpdating = False 
i = 1 
w = Sheets("Courses").Range("E" & i).Value 
c = Sheets("Courses").Range("K" & i).Value 

Do 
Sheets("Calendar").Range(w).Select 
ActiveCell.Value = c.Value 
Loop While n <> Range("E2").End(xlDown).Row 
'Application.ScreenUpdating = True 

End Sub 

Любое руководство будет высоко оценен.

+0

Так Что вопрос? – Reafidy

+0

Извинения за неопределенный вопрос ... По сути, как я могу настроить цикл так, чтобы он перескакивал через заполненные ячейки в столбце E, каждый из них содержит ссылку на ячейку. Затем он должен перейти к указанной ссылке на ячейку на листе календаря и заполнить ее значением из столбца K (той же строки) листа Курсов. – Manda

ответ

0

Не слишком понятно .. но вы можете попробовать это ..

Private Sub BtnUpdate_Click() 

Dim w As Variant 
Dim c As Variant 
Dim i, n As Integer 
Dim r as Range 

Set r = Range("E65536").End(xlup) 

'Application.ScreenUpdating = False 

For i = 1 to r.Row 
    w = Sheets("Courses").Range("E" & i).Value 
    c = Sheets("Courses").Range("K" & i).Value 

    Sheets("Calendar").Range(w).Select 
    ActiveCell.Value = c.Value 

    'Application.ScreenUpdating = True 

Next  
End Sub 
+0

Спасибо за код, я попробовал его, и когда я вхожу в код, я добираюсь до строки 10 «Таблицы» («Календарь» ... и появляется сообщение об ошибке «Ошибка выполнения» 1004: Определенная пользователем или объектная ошибка ». – Manda

+0

Тогда либо у вас нет листа с именем« Календарь », либо переменная w не содержит правильный адрес ячейки. Также вам никогда не нужно использовать select. Изменить на« Таблицы »(« Календарь »)) .Range (w) .Value = c.Value' – Reafidy

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