Vba excel удалить примечание в ячейке

 

AyvazovRuslan

Пользователь

Сообщений: 16
Регистрация: 14.07.2018

#1

22.07.2018 11:31:06

Уважаемые знатоки, всезнающие и еще познающие, прошу подсказать как удалить все примечания с листа excel?
почему-то мой код выдает ошибку. Код внизу. Прошу подсказать в чем ошибка.

Код
Sub delete_comments()
for each i in workbooks("Книга1").sheets("Лист1").comments
        i.clearnotes
next i
end sub

Sub delete_comments()
for i=1 to workbooks("Книга1").sheets("Лист1").comments.count
        workbooks("Книга1").sheets("Лист1").comments(I).clearnotes
next i
end sub

ВВерху два кода и оба не работают. Но если попробовать чуть изменить задачу(скажем, выводить в Immediate window текст примечаний, то все работает). Что не так?

Изменено: AyvazovRuslan22.07.2018 11:52:30

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

Попробуйте записать макрорекодером. Потом можно удалить лишнее.

 

так делал уже. но мне интересно где в моем коде ошибка.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#4

22.07.2018 11:48:26

Код
ActiveSheet.UsedRange.ClearComments
 

А если я хочу удалить все примечания начиная с 3 примечания? то есть первые два я не хочу удалять. тогда мне нужен цикл.

 

vikttur

Пользователь

Сообщений: 47199
Регистрация: 15.09.2012

#6

22.07.2018 11:57:38

Вы об этом не писали. Как Вы определите «первые два»? У For Each своя логика, порядок перебора не всегда такой, как Вам хочется.

В цикле можно перебирать ячейки диапазона, а не коллекцию комментариев.

Код
Sub delete_comments()
Dim i As Range
     For Each i In ActiveSheet.UsedRange
         i.ClearNotes
     Next i
End Sub
 

Sanja

Пользователь

Сообщений: 14838
Регистрация: 10.01.2013

#7

22.07.2018 12:08:42

Код
Dim iCmt As Comment
With Workbooks("Книга1").Sheets("Лист1")
    For Each iCmt In .Comments
        'если примечание НЕ в ячейке A1 или A2, то удаляем
        If Intersect(.Range("A1:A2"), iCmt.Parent) Is Nothing Then iCmt.Delete
    Next
End With

Согласие есть продукт при полном непротивлении сторон.

 

AyvazovRuslan

Пользователь

Сообщений: 16
Регистрация: 14.07.2018

#8

22.07.2018 20:27:44

благодарю

Return to VBA Code Examples

This tutorial will demonstrate how to work with Cell comments in VBA.

The following code snippets show you how to add or delete a comment in a cell.

1. Put the following code somewhere in your macro to add a comment.

Sheet1.Range("A1").AddComment ("Hello World")

2. To delete a comment use this code

Sheet1.Range("A1").Comment.Delete

3. To edit a comment in a certain cell you need to read the existing comment and edit it. Use the code below

Dim OldComment As Variant
Dim NewComment As Variant

OldComment = Sheet1.Range("A1").Comment.Text
NewComment = OldComment & " Edited comment"
    
Sheet1.Range("A1").Comment.Delete
    
Sheet1.Range("A1").AddComment (NewComment)

First, you need to read the existing comment in OldComment variable.

After that you can edit a comment, e.g. add the new text to the existing one in NewComment variable.

Now, you need to delete the old comment and add the new one. In order to delete the comment, you have to use the .Comment.Delete command.

Finally, you can add the comment from the NewComment variable using the .AddComent command.

VBA Coding Made Easy

Stop searching for VBA code online. Learn more about AutoMacro – A VBA Code Builder that allows beginners to code procedures from scratch with minimal coding knowledge and with many time-saving features for all users!

alt text

Learn More!

Студворк — интернет-сервис помощи студентам

Есть форма с TextBox’ом txtС и кнопка две кнопки CommandButton1 (Создать) и CommandButton2 (Очистить). В первое поле txtС вводится текст примечания. При нажатии на кнопку CommandButton1 (Создать) текст из поля txtC вводится в ячейку. При нажатии на кнопку CommandButton2 (Очистить) примечание активной ячейки удаляется.

Проблема:
Когда в ячейке уже есть примечание, то появляется сообщение об ошибке. Не знаю, как проверить, есть ли уже в ячейке примечание и если есть, то на выбор: либо удалить примечание в ячейке и ввести новое, либо выйти из процедуры.

Я обработал ошибку с помощью On Error GoTo. но тоже как то коряво получилось. Помогите, пожалуйста!

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Private Sub CommandButton1_Click()
 
' Обработка текстового поля Текст примечания, если оно пустое
    If txtC.Text = Empty Then
            MsgBox ("Поле примечания пустое !"), vbCritical, "ВНИМАНИЕ !"
        txtC.SetFocus
        Exit Sub
    End If
 
' Примечание из текстового поля Текст примечания вводится в активную ячейку
    Dim Вопрос As Integer
    On Error GoTo Message
    Вопрос = MsgBox("Ячейка выбрана правильно ?", _
                    vbYesNo + vbQuestion + vbDefaultButton1, "НАПОМИНАНИЕ !")
    Select Case Вопрос
        Case vbYes
            'ActiveCell.Select
            ActiveCell.AddComment
            ActiveCell.Comment.Text Text:= _
                "Programma:" & Chr(10) & txtC.Text
        Case vbNo
            Exit Sub
        End Select
Message:
    MsgBox "Ячейка содержит примечание.", vbCritical, "ВНИМАНИЕ !"
    Exit Sub
End Sub
 
Private Sub CommandButton2_Click()
 
' Очищается примечание в активной ячейке
    ActiveCell.Select
    ActiveCell.Comment.Delete
End Sub

Delete a comment in Excel with this macro. You can permanently remove or delete a specific comment or many comments using this macro. The benefit of this macro is that you can specify exactly which comments you want deleted.

To use this macro, simply replace the range reference A1 with the reference of the cell that contains the comment which you want to delete.

Where to install the macro:  Module

Excel Macro to Delete Comments in Excel — Permanently Remove Specific Comments from Excel

Sub Remove_Specific_Comment()
'This macro deletes the comment from cell A1 in Excel

Range("A1").Comment.Delete

End Sub


Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons
50+ Hours of Instruction
200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

How to Install the Macro

  1. Select and copy the text from within the grey box above.
  2. Open the Microsoft Excel file in which you would like the Macro to function.
  3. Press «Alt + F11» — This will open the Visual Basic Editor — Works for all Excel Versions.
     Or For other ways to get there, Click Here.
  4. On the new window that opens up, go to the left side where the vertical pane is located. Locate your Excel file; it will be called VBAProject (YOUR FILE’S NAME HERE) and click this.
  5. If the Macro goes in a Module, Click Here, otherwise continue to Step 8.
  6. If the Macro goes in the Workbook or ThisWorkbook, Click Here, otherwise continue to Step 8.
  7. If the Macro goes in the Worksheet Code, Click Here, otherwise continue to Step 8.
  8. Close the Microsoft Visual Basic Editor window and save the Excel file. When you close the Visual Basic Editor window, the regular Excel window will not close.
  9. You are now ready to run the macro.

Excel VBA Course

Excel VBA Course — From Beginner to Expert

200+ Video Lessons

50+ Hours of Video

200+ Excel Guides

Become a master of VBA and Macros in Excel and learn how to automate all of your tasks in Excel with this online course. (No VBA experience required.)

View Course

Как удалить все комментарии на листе / книге?

В целом, большинство пользователей знают, как удалить один комментарий в Excel, но если у вас есть рабочий лист или книга с несколькими комментариями, знаете ли вы, как массово удалить все комментарии? Теперь я расскажу вам несколько быстрых способов удалить все комментарии с листа или всей книги.

Удалите все комментарии на листе с помощью Удалить в Excel

Удалите все комментарии на листе с помощью функции Перейти в Excel

Удалить все комментарии на листе или в книге с помощью VBA

Сбросить расположение всех комментариев с помощью Kutools for Excel


стрелка синий правый пузырь Удалите все комментарии на листе с помощью Удалить в Excel

Вы можете использовать ярлык, чтобы выбрать все комментарии на листе, а затем удалить их.

1. Откройте лист, из которого вы хотите удалить все комментарии, и нажмите Ctrl + чтобы выделить весь лист.

2. Затем нажмите Обзор > Удалить, то все комментарии в текущем листе удаляются. Смотрите скриншот:
документ-удалить-все-комментарии-1


стрелка синий правый пузырь Удалите все комментарии на листе с помощью функции Перейти в Excel

В Excel, если вы хотите удалить все комментарии на листе, вы можете сделать следующее:

1. Нажмите F5 Показать Перейти к диалоговое окно и щелкните Специальный… , чтобы открыть Перейти к Специальный диалог, затем отметьте Комментарии и нажмите OK чтобы закрыть диалог. Смотрите скриншоты:

документ-удалить-все-комментарии-2документ-удалить-все-комментарии-3

2. Затем щелкните правой кнопкой мыши, чтобы открыть контекстное меню, и щелкните Удалить комментарий, и теперь все комментарии в текущем листе удалены.

документ-удалить-все-комментарии-4


стрелка синий правый пузырь Удалить все комментарии на листе или в книге с помощью VBA

Существует также VBA, который может помочь вам удалить комментарии с рабочего листа или всей книги.

1. Нажмите Alt + F11 для отображения Microsoft Visual Basic для приложений окно.

2. В окне нажмите Вставить > Модули чтобы отобразить новое окно модуля, затем скопируйте следующий код VBA в окно модуля.

VBA: удаление комментариев с листа.

Sub Remove_All_Comments_From_Worksheet()
Cells.ClearComments
End Sub

VBA: удалить все комментарии из всей книги

Sub DeleteAllComments()
'Updateby20140613
For Each xWs In Application.ActiveWorkbook.Sheets
    For Each xComment In xWs.Comments
        xComment.Delete
    Next
Next
End Sub

3. Нажмите Run кнопку, чтобы запустить код, и вы увидите, что все комментарии удалены из текущего рабочего листа или всей книги.


стрелка синий правый пузырь Сбросить расположение всех комментариев с помощью Kutools for Excel

Если вы вставили несколько комментариев в книгу, и вы, вероятно, можете перетащить комментарии, как показано ниже. И теперь вы хотите сбросить расположение комментариев обратно, вы можете использовать Kutools for ExcelАвтора Сбросить позицию комментария чтобы быстро их сбросить.

док удалить все комментарии 5

После бесплатная установка Kutools for Excel, пожалуйста, сделайте следующее:

Нажмите Кутулс > Больше > Сбросить позицию комментария. Смотрите скриншот:
док удалить все комментарии 6

Затем выберите Активный лист для сброса позиции комментариев на активном листе, или Все листы чтобы сбросить положение всех комментариев во всей книге.
док удалить все комментарии 8

стрелка синий правый пузырь Сбросить расположение всех комментариев

Относительные статьи:

  • Удалить текст перед символом в Excel

Лучшие инструменты для работы в офисе

Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.

вкладка kte 201905


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!

офисный дно

Содержание:

  1. Добавление комментариев в VBA в Excel
  2. Преобразование строки кода (или блока кода) в комментарий
  3. Изменение цвета комментария в Excel VBA
  4. Некоторые рекомендации при работе с комментариями в VBA

При работе с кодированием VBA в Excel вы можете легко добавлять комментарии во время написания кода.

Комментарии в VBA могут быть действительно полезны для новичков, где вы можете добавить комментарий к строке кода (или блоку кода), объясняющий, что он делает. Так что в следующий раз, когда вы вернетесь к коду, вы не потеряетесь полностью и у вас будет какой-то контекст из-за комментариев.

Даже для продвинутых программистов Excel VBA, как только код начинает выходить за пределы нескольких строк, рекомендуется добавлять контекст с помощью комментариев (особенно если есть вероятность, что кто-то другой, возможно, придется поработать над кодом в будущем)

А поскольку это комментарий, VBA игнорирует его при выполнении кода.

В этом коротком руководстве по Excel я расскажу, как добавлять комментарии в VBA, и расскажу обо всех передовых методах, связанных с этим.

Добавление комментариев в VBA в Excel

Чтобы добавить комментарий в VBA, просто добавьте знак апострофа перед строкой, которую вы хотите пометить как комментарий.

Все, что находится после знака апострофа в этой строке, будет считаться комментарием, и VBA превратит его в зеленый цвет (чтобы визуально отличить его от обычного кода)

Добавить комментарий в VBA можно двумя способами:

  1. Добавьте комментарий в отдельной строке, где эта строка начинается с апострофа, а после него следует текст комментария.
  2. Добавьте комментарий как часть обычной строки кода, где после кода у вас есть пробел, за которым следует апостроф, а затем комментарий (как показано ниже)

Хотя я видел, что оба они используются программистами VBA, я предпочитаю первый метод, при котором комментарий имеет отдельную строку.

Другой (старый) метод добавления комментария состоит в том, чтобы за комментарием следовало слово «Рем».

Здесь Рем — сокращение от Remark.

Rem использовался во времена BASIC и сохранился в текущих версиях VBA. Хотя хорошо знать, что он существует, я рекомендую вам использовать только метод апострофа при добавлении комментариев в VBA.

Преобразование строки кода (или блока кода) в комментарий

Иногда вам может потребоваться преобразовать существующую строку кода (или блок кода) в комментарии.

Программисты часто делают это, когда работают над кодом и хотят быстро опробовать что-то еще, сохраняя при этом уже написанный код.

Таким образом, вы можете быстро закомментировать строку, попробовать новую, и, если вы хотите вернуть предыдущий код, просто удалите апостроф и преобразуйте этот комментарий обратно в обычную строку кода.

Для строки (или даже нескольких строк) лучше вручную добавить апостроф перед этими строками.

Но если у вас большой блок кода, используйте следующие шаги, чтобы добавить опцию преобразования всего блока кода в комментарий:

  1. Перейдите на вкладку «Просмотр».
  2. Перейдите к опции панели инструментов.
  3. Когда вы наведете на него курсор, вы увидите больше вариантов.
  4. Нажмите на опцию Edit. Панель инструментов редактирования появится где-нибудь на экране.
  5. Перетащите панели инструментов редактирования в область панели инструментов, чтобы они закрепились там (в случае, если они еще не закреплены).
  6. Выберите блок кода, который вы хотите закомментировать
  7. Нажмите на опцию «Блок комментариев» на панели инструментов.

Вышеупомянутые шаги мгновенно преобразовали бы блок кода в комментарии, добавив апостроф перед каждой строкой в ​​этом коде.

Если вы хотите удалить комментарий и преобразовать его обратно в обычные строки кода, выберите этот блок кода еще раз и нажмите на опцию «Uncomment block» на панели инструментов Edit.

Изменение цвета комментария в Excel VBA

Хотя VB не допускает большого форматирования, он позволяет при желании изменить цвет комментария.

Один из моих студентов курса VBA написал мне по электронной почте и сказал, что возможность изменять цвет комментариев в VBA действительно полезна для людей, страдающих дальтонизмом.

Ниже приведены шаги по изменению цвета комментария в Excel VBA:

  1. Откройте редактор Visual Basic
  2. Выберите в меню пункт Инструменты.
  3. Нажмите на Параметры
  4. В диалоговом окне «Параметры» перейдите на вкладку «Формат редактора».
  5. В параметрах цветов кода выберите Текст комментария.
  6. Измените цвет переднего плана и / или фона
  7. Закройте диалоговое окно

Когда вы меняете цвет комментария, он также изменяет цвет для всех существующих комментариев в вашем коде.

Некоторые рекомендации при работе с комментариями в VBA

Вот несколько рекомендаций, которые следует учитывать при использовании комментариев в коде VBA.

  1. Сделайте комментарий содержательным и добавьте контекст. Добавляя комментарий, подумайте, что было бы полезно для нового пользователя, который никогда не видел этот код и пытается разобраться в нем.
  2. Избегайте чрезмерного комментирования, так как это может сделать ваш код немного загроможденным. Если вы новичок, то можете добавлять больше комментариев, но по мере того, как вы набираетесь опыта в кодировании VBA, вам все равно не нужно будет добавлять много комментариев.
  3. Для каждой новой подпрограммы или функции рекомендуется добавлять комментарий, объясняющий, что они делают.
  4. При работе со сложным кодом рекомендуется добавлять комментарии перед условиями и циклами, чтобы вам было легче понять, что вы сделали, когда вы повторно просматриваете код (или когда кто-то другой просматривает код)

В этом уроке я рассказал, как можно добавить комментарии в VBA и некоторые рекомендации по его использованию.

Надеюсь, вы нашли этот урок полезным.

Создание макроса для удаления всех примечаний в открытой кни

shostyr90

Дата: Воскресенье, 05.02.2017, 11:51 |
Сообщение № 1

Группа: Пользователи

Ранг: Прохожий

Сообщений: 3


Репутация:

0

±

Замечаний:
0% ±


Excel 2013

Добрый день. Подскажите пожалуйста, есть ли макрос способный в одно нажатие удалить все примечания в открытой книге Эксель?
Или как можно его создать?
Заранее спасибо

 

Ответить

Pelena

Дата: Воскресенье, 05.02.2017, 12:30 |
Сообщение № 2

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

Извлечение текста комментариев в ячейку

Добрый день, товарищи! Сегодня поговорим о том, как работать с комментариями в ячейке.

Все мы знаем, что примечание добавляется очень просто — щелчок на ячейке правой кнопкой мыши и выбор пункта «Добавить примечание».

Как быть в случае если текст уже есть (на листе,  в файле) и его нужно добавить как комментарий или наоборот — извлечь текст комментариев и поместить их в ячейку на листе?

Добавление комментариев по условию мы рассматривали в этой статье.

Добавление комментария в ячейку с помощью Vba.

Для понимания сначала рассмотрим простой пример добавления комментария. О том как вставлять модули в нашу книгу мы говорили здесь. Далее я буду приводить только примеры кода.

Sub add_comment()
With Worksheets(1).Range(«a2»).AddComment
.Visible = False
.Text «просмотрел » & Date
End With
End Sub

Что происходит в этом случае — на листе 1 в диапазоне ячеек A2 добавляется комментарий, далее зовутся свойства Visible (комментарий будет скрыт до наведения), Text собственно сам текст примечания, параметр Date проставит текущую дату.

После выполнения макроса получится вот это.

Извлечение текста комментариев в ячейку

Удобно, но как быть если нужно вставить комментарий для нескольких ячеек или области? Изменим код.

Sub add_comments()
For xNum = 1 To 10
Range(«A» & xNum).AddComment
Range(«A» & xNum).Comment.Text Text:=»Комментарий » & xNum
Next
End Sub

Этот код добавит примечание «Комментарий» ко всем ячейкам от А1 до А10.

Извлечение текста комментариев в ячейку

Извлечение текста комментария в ячейку

Для извлечения текста комментария в ячейку воспользуемся пользовательской функцией.

Function GetComment(rCell As Range) As String
GetComment = rCell.Comment.Text
End Function

Всё максимально просто — объявили функцию, указали свойство, присвоили переменной значение содержащихся в ячейке данных.

Извлечение текста комментариев в ячейку

Текст ячейки в комментарий

Sub CellTextToComment()
 Dim c As Range
 If TypeName(Selection) <> «Range» Then Exit Sub
 For Each c In Selection
 c.Comment.Text Text:=c.Text
 Next c
End Sub

Извлечение текста комментариев в ячейку

Надеюсь, был полезен, товарищи, и извлечение текста комментариев в ячейку не станет для вас проблемой. 

Конечно, код можно усовершенствовать — дерзайте! Если что — вот тут хорошая статья, может вам пригодиться.

Всем удачи!

Like this post? Please share to your friends:
  • Vba excel удалить последний символ в строке
  • Vba excel файл для добавления
  • Vba excel учетная запись
  • Vba excel формат диапазона ячеек
  • Vba excel установить формат ячейки текстовый