Я новичок в VBA, и я пришел к ошибке, которая гласит: «объект требуется». Я пытаюсь получить все ячейки из моей таблицы excel в столбце 1, но когда я запускаю свой код, он выдает эту ошибку.Объект Требуемая ошибка при попытке получить количество столбцов
Это мой код:
Public Sub emailList()
'Setting up the Excel variables.
Dim olApp As Object
Dim olMailItm As Object
Dim iCounter As Integer
Dim Dest As Variant
Dim SDest As String
'Create the Outlook application and the empty email.
Set olApp = CreateObject("Outlook.Application")
Set olMailItm = olApp.CreateItem(0)
'Using the email, add multiple recipients, using a list of addresses in column A.
With olMailItm
SDest = ""
For iCounter = 1 To WorksheetFunction.CountA(Workbooks("Book1.xls").Sheets(1).Columns(1))
If SDest = "" Then
SDest = Range.Cells(iCounter, 1).Value
Else
SDest = SDest & ";" & Range.Cells(iCounter, 1).Value
End If
Next iCounter
'Do additional formatting on the BCC and Subject lines, add the body text from the spreadsheet, and send.
.BCC = SDest
.Subject = "FYI"
.Body = ActiveSheet.TextBoxes(1).Text
.Send
End With
'Clean up the Outlook application.
Set olMailItm = Nothing
Set olApp = Nothing
End Sub
Последняя строка бросает ошибку. Как создать объект рабочего листа? Заранее благодарю. Я пробовал использовать
Workbooks("Book1.xls").Sheet1.Columns(1)
, но это также выдает сообщение об ошибке.
Редактировать: Я редактирую и запускаю код в Outlook и имею открытое окно Excel.
Рабочие книги («Book1.xls»). Листы (1). Колонны (1) – Ralph
@Ralph Sheet1 будет работать, если лист действительно назван Sheet1, который по умолчанию. –
Код, показанный при работе с Outlook, и строка, которую вы показали, приводящую к проблеме, работают с Excel. Вы можете показать полный код? –