Редактирование комментария рядом с его ячейкой

У Пегги есть несколько ячеек на листе, с которыми связаны комментарии. Когда она щелкает правой кнопкой мыши одну из этих ячеек, она может выбрать «Редактировать комментарий» в появившемся контекстном меню, чтобы отредактировать комментарий. Если это был комментарий, который она создала в предыдущем сеансе работы с Excel, вполне нормально, что комментарий открывается в другом месте на листе, иногда на расстоянии нескольких экранов. Пегги интересуется, есть ли способ заставить комментарий появляться рядом с ячейкой, к которой он идет.

Это состояние может быть вызвано несколькими причинами. Например, возможно, что при предыдущем редактировании комментария вы щелкнули границу поля комментария и перетащили комментарий в другое место на листе. Если вы это сделали, Excel запоминает, куда был перемещен комментарий, и всегда отображает его в запомненном месте.

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

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

Sub MoveComments1 () Dim cmt As Comment For Each cmt In ActiveSheet.Comments With cmt .Shape.Top =. Parent.Top .Shape.Left = .Parent.Offset (0, 1) .Left End With Next cmtEnd Sub

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

Если вы хотите изменить все комментарии во всей книге, а также “автоматически изменить размер” каждого из полей комментариев , то вы можете использовать этот вариант макроса:

Sub MoveComments2 () Dim wbk As Workbook Dim wks As Worksheet Dim cmt As Comment Dim rngC As Range Dim lArea As Long Set wbk = ActiveWorkbook On Error Продолжить далее для каждой недели в wbk.Worksheets Для каждого cmt в wks. Комментарии с cmt .Shape.TextFrame.AutoSize = True Если .Shape.Width> 200 Тогда lArea = .Shape.Width * .Shape.Height .Shape.Width = 200 .Shape.Height = (lArea/200) * 1.1 End If .Shape.Top = .Parent.Top .Shape.Left = .Parent.Offset (0, 1) .Left End With Next cmt Next wksEnd Sub

Источник: frestage.ru

Бытовой вопрос