Привет, я работаю над некоторым собственным обучением, и курс Udemy, который я изучаю, помогает мне изучать VBA, чтобы я мог создать несколько макросов на своей работе, чтобы я выглядел профессионально. Итак, главное, первое упражнение - попросить меня записать макрос, который удаляет все комментарии из рабочей книги. Я думал, что смогу возглавить класс, используя несколько циклов, но продолжаю получать ошибки, думая, что я умный. Я продолжаю цикл cm, что объект не поддерживает это свойство или метод. Ошибка времени выполнения 438 Я не понимаю, почему это происходит, когда я делаю см. он открывает выпадающий список.
Sub delete_Comments()
' just trying to see if the cm loop works because it counted properly with the ws loop
Dim counter As Integer
' so i can use to run through the work sheets
Dim ws As Worksheet
'so I can run through the activesheet
Dim cm As Comment
counter = 0
'loop through the sheets in the workbook
For Each ws In Worksheets
'loop through the comments on active worksheet
For Each cm In ActiveSheet
cm.Delete
counter = counter + 1
Next cm
MsgBox counter
Next ws
End Sub
обновленный цикл спасибо @ JohnColeman
For Each ws In Worksheets
'clear comments
Selection.SpecialCells(xlCellTypeComments).Select
Selection.ClearComments
counter = counter + 1
Next ws