2017-02-18 5 views
0

Я не могу справиться с этим препятствием. Ошибки сохраняются после нескольких исправлений.Ошибка выполнения 424 @ Задание

Set XlSheet = ActiveWorkbook.ActiveSheet 
XlSheet.Cells(1, 15) = "Date" 

lRow = XlSheet.Cells(XlSheet.Rows.Count, 1).End(xlUp).Row 

Set rng = XlSheet.Range(XlSheet.Cells(2, 15), XlSheet.Cells(lRow, 5)).Select 

благодаря

+1

считать, что 'Select' с вашей последней строки : 'Set rng = XlSheet.Range (XlSheet.Cells (2, 15), XlSheet.Cells (lRow, 5))' – user3598756

+0

Я сделал, но теперь я получаю ошибку времени выполнения 438 – lamine

+0

, какая строка бросает эту ошибку? попробуйте код в моем ответе – user3598756

ответ

2

отредактирован после ОП последнего комментария о необходимости для каждого цикла

ActiveWorkbook.ActiveSheet бесполезно так как оно «S по умолчанию листу

так что вы можете просто код

Cells(1, 15) = "Date" 
lRow = Cells(Rows.count, 1).End(xlUp).row 

Set rng = Range(Cells(2, 15), Cells(lRow, 5)) 

For Each cell In rng 
    cell.Value = Date 
Next cell 

, но весь цикл может коллапс к:

rng.Value = Date 

, а если вы планируете перейти на различные рабочие листы, то вы могли бы код:

Set XlSheet = ActiveSheet 
With XlSheet 
    .Cells(1, 15) = "Date" 
    lRow = .Cells(.Rows.count, 1).End(xlUp).row 
    Set rng = .Range(.Cells(2, 15), .Cells(lRow, 5)) 
End With 

rng.Value = Date 
Смежные вопросы