Excel макрос для примечания

Содержание:

  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 и некоторые рекомендации по его использованию.

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

14 Июл

Автоматическая вставка примечаний в Excel

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

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

Текст макроса:

Sub CreateComments()
   Dim cell As Range
   ‘ Производим поиск по всем ячейкам диапазона и добавляем примечания _
   ко всем ячейкам, содержащим слово «Выручка»
   For Each cell In Range(«E1:E100»)
      If cell.Value Like «*Выручка*» Then
         cell.ClearComments
         cell.AddComment «Сдать в банк»
      End If
   Next
End Sub

Всем удачи!

Макрос для создания примечания с датой и текстом из ячейки

ilucho

Дата: Четверг, 11.04.2013, 13:51 |
Сообщение № 1

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


Добрый день уважаемые! Большая просьба помочь со следующим вопросом. Необходимо:
а) Создание нового примечания
1. Автоматически создать примечание в ячейке при внесении значений в данную ячейку
2. Автоматически заполнить примечание данными: ТекущаяДата, Значение ячейки (см. вложение)
б) Редактирование существующего примечания
1. Автоматически редактировать существующее примечание при внесении новых значений в данную ячейку. Иными словами вносим новую сумму в ячейку, к примечанию добавляется текущая дата и новая сумма из ячейки (см. вложение)

Добавлю еще, что файл общий. Не знаю что из этого можно на практике реализовать, т.к. с макросами почти не знаком. Но очень нужна ваша помощь.

К сообщению приложен файл:

3148796.xls
(32.5 Kb)

 

Ответить

Hugo

Дата: Четверг, 11.04.2013, 14:34 |
Сообщение № 2

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

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


2010, теперь уже с PQ

В принципе вероятно можно сделать именно так — но я бы писал в комменты не слагаемые, а общую сумму. Если нужно — разницу всегда можно высчитать.
А так, как заказано — думаю сделать очень сложно, если предусматривать все варианты. Я делать не буду.


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

RAN

Дата: Четверг, 11.04.2013, 15:25 |
Сообщение № 3

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

На общий доступ не проверял

[vba]

Код

Private Sub Worksheet_Change(ByVal Target As Range)
Dim flag$
     If Target.Count > 1 Then Exit Sub
     If Target.Column <> 1 Then Exit Sub
     On Error Resume Next
     With Target
         flag = .Comment.Text
         If Err Then
             Err.Clear
             .AddComment
             .Comment.Visible = True
             .Comment.Text Text:=Application.UserName & Chr(10) & Date & » » & .Value
         Else
             .Comment.Text Text:=.Comment.Text & Chr(10) & Application.UserName & Chr(10) & Date & » » & .Value
         End If
     End With
End Sub

[/vba]


Быть или не быть, вот в чем загвоздка!

 

Ответить

ilucho

Дата: Четверг, 11.04.2013, 20:27 |
Сообщение № 4

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


спасибо большое за отклик, только я не могу разобраться как сделать что бы заработал макрос. в basic нажимаю insert module, вставляю, сохраняю, но при изменении ячеек примечания не добавляются. что я делаю не так? помогите разобраться плиз. я не специалист(((

 

Ответить

Полковник МВД

Дата: Четверг, 11.04.2013, 20:38 |
Сообщение № 5

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

 

Ответить

ilucho

Дата: Четверг, 11.04.2013, 20:44 |
Сообщение № 6

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


и в module1 вставлял не работает и в лист1 не работает почему-то((

 

Ответить

Hugo

Дата: Четверг, 11.04.2013, 21:21 |
Сообщение № 7

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

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


2010, теперь уже с PQ

Проверяйте — немного доработал код Андрея. Можно там ещё чуть жирность доработать — но лень. Может быть не нужна жирность?
Посмотрел — с жирностью много гемороя, делать уже и некогда…

К сообщению приложен файл:

9355851.xls
(42.5 Kb)


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

RAN

Дата: Четверг, 11.04.2013, 21:25 |
Сообщение № 8

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

[vba]

Код

    If Target.Column <> 1 Then Exit Sub

[/vba]

определяет номер столбца, при изменениях в ячейках которого работает макрос

PS Игорь, Visible зря убрал. В 2010 без него создается скрытое примечание.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANЧетверг, 11.04.2013, 21:27

 

Ответить

Hugo

Дата: Четверг, 11.04.2013, 21:35 |
Сообщение № 9

Группа: Друзья

Ранг: Участник клуба

Сообщений: 3140


Репутация:

670

±

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


2010, теперь уже с PQ

А иначе в 2003-2007 примечание маячит на экране, и его нужно вручную прятать… sad
Ну тогда ещё проверку версии нужно ставить. Или корректировать по месту.


excel@nxt.ru
webmoney: R418926282008 Z422237915069

 

Ответить

RAN

Дата: Четверг, 11.04.2013, 21:42 |
Сообщение № 10

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

В 2007 у меня и без Visible маячит, пока вручную на спрячешь.


Быть или не быть, вот в чем загвоздка!

 

Ответить

ilucho

Дата: Четверг, 11.04.2013, 21:44 |
Сообщение № 11

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


о, работает! здорово! спасибо огромное. а я наверно сразу не уточнил…мне нужно редактировать по всему листу а не только по столбцу или ячейке…можно как-то дополнить код?

 

Ответить

RAN

Дата: Четверг, 11.04.2013, 21:47 |
Сообщение № 12

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Убрать эту строку. biggrin

Но тогда к любой ячейке будут добавляться примечания. Так что уточните хотелку.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANЧетверг, 11.04.2013, 21:48

 

Ответить

ilucho

Дата: Четверг, 11.04.2013, 21:55 |
Сообщение № 13

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


окей, завтра роверю на практике и отпишусь smile

 

Ответить

ilucho

Дата: Понедельник, 15.04.2013, 17:06 |
Сообщение № 14

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


Черт файлик пока не могу приложить…чуть позже…

Сообщение отредактировал iluchoПонедельник, 15.04.2013, 17:19

 

Ответить

RAN

Дата: Понедельник, 15.04.2013, 17:26 |
Сообщение № 15

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

п.4 решается просто, п.1 — сложнее, но решается, а вот п.5 — сомневаюсь.


Быть или не быть, вот в чем загвоздка!

 

Ответить

ilucho

Дата: Понедельник, 15.04.2013, 17:33 |
Сообщение № 16

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


Вот, разобрался, отредактировал, добавил файл.
Итак, что хотелось бы дополнить.
1. Сохранив файл в excel2010 обнаружил, что при редактировании ячейки когда добавляешь новую сумму, то в комментарии записывается сумма двух слогаемых, а не последние введенные цифры. Нужна именно последняя сумма.
2. Автоматическое добавление примечаний необходимо большему количеству ячеек. Я изменил в коде условие и сделал как мне нужно, что бы примечания добавлялись с четвертого столбца. Здесь вопросов вроде нет.
3. По поводу того, что примечание остается активным и его надо скрывать вручную. Это даже хорошо в моем случае. Т.к. к той информации которая появляется в нем автоматически я дописываю еще различный текст а потом скрываю его кнопкой (в этом случае мне не надо дополнительно нажимать кнопку «изменить примечание»). По этому можно ли сделать так что бы в случае редактирования ячейки (добавления новых значений) примечание так же становилось активным и не надо было дополнительно нажимать кнопку «изменить примечание»?
4. И напоследок, хотелось бы что бы если ячейку случайно зацепил сделал активной, но ничего не вводил, оставил пустой, то примечание не создавалось… А то даже при нажатии кнопки delete на пустой ячейке создается примечание.
Помогите довести файлик до ума…

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

К сообщению приложен файл:

9944283.xlsm
(35.7 Kb)

Сообщение отредактировал iluchoПонедельник, 15.04.2013, 17:36

 

Ответить

RAN

Дата: Понедельник, 15.04.2013, 19:37 |
Сообщение № 17

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Ну как-то так.

Но с общим доступом не работает.

К сообщению приложен файл:

9224091.xlsm
(32.1 Kb)


Быть или не быть, вот в чем загвоздка!

 

Ответить

ilucho

Дата: Понедельник, 15.04.2013, 22:32 |
Сообщение № 18

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


огромное огромное спасибо за ваш труд. вот сейчас файл проверил без общего доступа все работает. а еще один нюанс как-то можно осуществить? сразу не сообразил написать вам. теперь примечание всегда активное, можно ли сделать так, что бы оно скрывалось автоматически после добавления текста? например: ввели данные, примечание создано (или становится активным если было создано ранее), оно активно, добавляю в нем пару слов, щелкаю соседнюю ячейку, примечание скрылось. Или как-то к времени его привязать? например скрыть через пять секунд))) Просто иначе немного теряется смысл его автоматического создания. Раньше я вручную нажимал создать примечание а теперь буду нажимать скрыть примечание….лишнее действие остается.

Сообщение отредактировал iluchoПонедельник, 15.04.2013, 22:32

 

Ответить

RAN

Дата: Понедельник, 15.04.2013, 23:16 |
Сообщение № 19

Группа: Друзья

Ранг: Экселист

Сообщений: 5645

Примечание прячется по активации ячейки с примечанием.


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RANПонедельник, 15.04.2013, 23:18

 

Ответить

ilucho

Дата: Четверг, 18.04.2013, 10:17 |
Сообщение № 20

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

Ранг: Новичок

Сообщений: 10


Репутация:

0

±

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


потестировав еще раз файлик все что я просил выше всё работает, спасибо. Но еще что заметил в общем файле — это после сохранения или закрытия файла при следующем открытии добавляя новую сумму в ячейку с уже имеющейся суммой и примечанием, весь текст примечания дублируется и только после него появляется нужное. вложил пример с примечанием (сохранялся поле каждого добавления данных). посмотрите пожалуйста, может быть можно избавиться от задвоений, а то тект увеличивается в геометрической прогресии.

К сообщению приложен файл:

9250524.xlsm
(33.4 Kb)

Сообщение отредактировал iluchoЧетверг, 18.04.2013, 10:23

 

Ответить


1 августа 2012,
VBA,
Konstantin

Создание примечания для ячейки в Excel с помощью макроса, которое также имело бы сложное внутреннее форматирование, не самая тривиальная задача. Для этого можно воспользоваться например таким кодом:

With Worksheets(1).Cells(4, 12).Comment
   .Visible = False
   .Text "Жирный шрифт:" & Chr(10) & "курсив"
   .Shape.DrawingObject.Characters(1, 13).Font.Bold = True
   .Shape.DrawingObject.Characters(15, 20).Font.Italic = True
End With

В итоге получится примерно такое примечание:

Форматированное примечание ячейки

Order_macros

2 комментария в “Создание форматированного примечания с помощью VBA”

Комментировать

VBA Macro is for developers. Macro is a piece of code written in VBA. VBA is Microsoft’s programming language and it stands for Visual Basic for Applications. Let’s see how to set up our VBA Macro and how to add comments in a VBA in Excel.  

VBA Macro

Excel is a very advanced tool that contains thousands of functionalities, but VBA Macro comes into existence when we have to do a repeated task. The complex repeated tasks can be automated with the help of VBA Macro. 

Initial Set-Up

Go to Developer Tab. We will see that by default developer tab is not present in the menu bar. 

No-developer-tab

Follow the steps: 

Step 1: Right-click on any tab in the menu bar. Click on Customize the Ribbon. A dialogue box appears. 

Customizing-the-ribbon

Step 2: In the Mains Tab, check the box Developer and click on Ok.

Checking-box-developer

Step 3: Now the Developer Tab is visible. 

Visible-developer-tab

Step 4: Go to Developer Tab and click on Visual Basic. 

Clicking-developer-tab

Step 5: Now, the VBA tab is opened. Click on Tools in the menu bar and then click on Macros. A dialogue box is open. 

Dialogue-box-opening

Step 6: Write the macro name and click on create. 

Creating-macro-nameSub-macro-created

A Macro is created. 

VBA Comments

Comments are the lines in the code that are ignored while executing the code. These are represented as green text in the code. The comments help describe the written code. Knowing the correct use of comments is very important because while working with long and complex code, comments help us identify which part of code does what. It is very helpful for development purposes. 

Adding Single Line comment in VBA

Step 1: Click on the line where you want to insert a comment. 

Inserting-comment

Step 2: Type an Apostrophe( ‘ ) at the start of a line. 

Typing-apostrophe

Step 3: Write the comment you want. 

Writing-comment

Step 4: Press Enter and you fill find the comment written to be green. 

Comment-shown-in-green

Adding Multi-Line comment in VBA

We can add comments in multiple lines. We use multi-line comments when we have to add points in our description or the description is long. 

Step 1: Keep your cursor on the Tool Bar. 

Reaching-toolbar

Step 2: Right-click on the Tool Bar and click on edit. An extended Tool Bar appears. Drag and place it in the already existing Tool Bar. 

Editing-in-toolbarExtended-toolbar

Step 3: Select the text you want to comment on and click on Comment Block. 

Selecting-comment

The entire selected text got commented. 

Selected-text-commented

Using Buttons to add a comment

Step 1: Go to Toolbar and right-click on it. A menu appears. 

Clicking-on-toolbar

Step 2: Click on Customize and a dialogue box appears. 

Dialogue-box-appears

Step 3: Go to edit in the left-side scrollable list. 

Editing-in-customize

Step 4: Find Comment Block and Uncomment Block in the right-side scrollable list.

Editing-scrollable-list

Step 5: Click on Comment Block and drag it to the menu bar. It will look like a button in the menu bar. 

Clicking-comment-block

Step 6: Click on Uncomment Block and drag it to the menu bar. It will look like a button in the menu bar. 

Clicking-uncomment-block

Step 7: With the dialogue box opened. Go to the comment block and right-click on it. A menu appears.

menu-appears

Step 8: Click inside the Name and add a character & at the starting of Comment Block. Then click somewhere outside the appeared menu. 

Adding-character

Step 9: Again, right-click on the Comment Block and select Image and Text.

Selecting-image-and-text

Step 10: Repeat steps 7, 8, 9 for Uncomment Block i.e. right-click on the Uncomment Block and add & in the Name. Also, select the Image and Text in the appeared menu. At last, close the dialogue box. 

Adding-character-in-nameEditing-image-and-text

Step 11: A shortcut for comment and uncomment has been created in the VBA code editor. To comment on a line the shortcut is Alt + C and to uncomment a line the shortcut is Alt + U. You can also use the Comment Block and Uncomment Block buttons to comment on a line. Enter the text you want to comment on. 

Editing-text

Step 12: To comment on the written line. You can click Alt + C.

Commenting-on-written-line

Step 13: To uncomment a line, you can press Alt + U. 

Uncommenting-a-line

Use Rem to Comment

At the start of the comment use the keyword Rem to comment on a line. 

Commenting-a-line

Formatting Comments 

Step 1: Go to Tools Tab, and right-click on it. 

clicking-tools-tab

Step 2: A menu appears, and click on Options… A dialogue box appears. 

Clicking-options

Step 3: Go to Editor Format.

Opening-editor-format

Step 4: Select the Comment Text from the left scrollable list. 

Selecting-comment-text

Step 5: You can change the color of the comment by selecting Foreground. For example, red. Click Ok

Changing-color

Step 6: Now, all comments will have a font color of red. 

Red-color-added

Понравилась статья? Поделить с друзьями:
  • Excel макрос для построения диаграммы
  • Excel макрос для построения графиков
  • Excel макрос для построения графика
  • Excel макрос для поиска совпадений
  • Excel макрос для поиска по условию