Удаление всех комментариев в Excel - PullRequest
0 голосов
/ 13 апреля 2019

Привет, я работаю над некоторым собственным обучением, и курс 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

1 Ответ

2 голосов
/ 13 апреля 2019

Вот один из способов удалить комментарии в старом стиле:

Sub jkdfsh()
    Dim c As Comment, w As Worksheet

    For Each w In Sheets
        k = w.Comments.Count
        If k = 0 Then
            MsgBox "no comments n sheet " & w.Name
        Else
            For Each c In w.Comments
                c.Delete
            Next c
        End If
    Next w
End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...