почему я получаю сообщение об ошибке 438 Runtime на LastRow? - PullRequest
0 голосов
/ 12 декабря 2018

Новичок с VBA и пытается тренироваться, где ошибка, но не может понять это.Я получаю

Ошибка выполнения 438 Объект не поддерживает это свойство или метод

в строке «LastRow» и не уверен, почему.

Я пытаюсь автоматически настроить несколько задач Outlook (напоминания о необходимости обновить сертификаты) на основе данных, расположенных на листе Excel.Каждая строка содержит данные, необходимые для настройки каждой задачи для каждого сертификата.Для этого мне нужно определить последнюю строку с данными.

Вот весь код моего макроса.Вы видите, где я ошибся?Спасибо!

Sub Add_New_Task()

Dim olApp As Outlook.Application
Dim olTask As TaskItem

Dim wsMEDCMain As Worksheet
Dim LastRow As Long, RowNumber As Long


Set olApp = New Outlook.Application
Set wsMain = ThisWorkbook.Worksheets("Main")

With wsMain
LastRow = Cells(Rows.Count, "C").EndofUp.Row '<-------  Line with error

If 2 > LastRow Then Exit Sub
For RowNumber = 2 To LastRow

If Len(Cells(RowNumber, "C").Value) > 0 Then

'Create Task Item
Set olTask = olApp.CreateItem(olTaskItem)
With olTask
    .Subject = Cells(RowNumber, "C").Value
    .Status = olTaskNotStarted
    .Importance = olImportanceHigh
    .StartDate = Cells(RowNumber, "B").Value
    .DueDate = Cells(RowNumber, "A").Value
    .ReminderSet = True
    .ReminderTime = .StartDate & (" 09:00:00")
    .Body = Cells(RowNumber, "D").Value & vbNewLine & ("Certificate Details: ") & Cells(RowNumber, ("C")).Value
    .Save
End With

'Clear Object Variable
Set olTask = Nothing

End If
Next RowNumber

End With

End Sub

1 Ответ

0 голосов
/ 12 декабря 2018

Вам нужно заменить EndofUp на End(xlUp), который должен исправить это для вас!

...