Код VBA для автоматического изменения размера комментария к ячейке - PullRequest
0 голосов
/ 05 февраля 2019

При добавлении комментария к ячейке в Excel (2016 г.) поле для комментариев имеет общеизвестные размеры и требует ручной настройки.Я определил этот макрос (с кодом VBA, который я получил от здесь ), чтобы автоматически изменять размер комментария к ячейке, который появляется, когда мышь находится над ячейкой:

Sub FitComments()
Dim xComment As Comment
For Each xComment In Application.ActiveSheet.Comments
    xComment.Shape.TextFrame.AutoSize = True
Next
End Sub

Однако я хотел быкак этот макрос, вместо этого:

  1. измените размер поля комментария не только на одну строку, но и на несколько строк, оптимизируя соотношение сторон прямоугольника (способ, которым Google Spreadhseets автоматически изменяет размер любого поля комментария к ячейке, во второмсозданный)
  2. действует не на все комментарии к ячейкам на листе, а только на комментарий к текущей ячейке

Однако я не знаю реальных знаний о VBA.Кто-нибудь может указать, какие изменения я должен внести в код?Спасибо!

Ответы [ 2 ]

0 голосов
/ 19 марта 2019
Sub Resize_All_Comments()

Dim xComment As Comment
Dim KHeight As Long
Dim KWidth As Long

On Error Resume Next

KHeight = Application.InputBox("Add text", "Height", "500", Type:=2)
KWidth = Application.InputBox("Add text", "Width", "500", Type:=2)

For Each xComment In Application.Select.Comment
    xComment.Shape.Width = KWidth
    xComment.Shape.Height = KHeight

Next
MsgBox "Done"
End Sub

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

Надеюсь, это кому-нибудь поможет

0 голосов
/ 05 февраля 2019
Sub FitComments()
Dim Rng As Range
Dim Cell As Range
Set Rng = Selection
For Each Cell In Rng
    If Not Cell.Comment Is Nothing Then
    Cell.Comment.Shape.TextFrame.AutoSize = True
    End If
Next
End Sub

Excel 2016 недоступен в моем текущем местоположении, чтобы проверить выше, или я бы сделал это до публикации.Я использую Office 365, который автоматически выполняет изменение размера, как вы описали.Несколько версий были проверены, пока макрос не выдал ошибку.

Концепция этого кода заключается в применении автоматического изменения размера к комментариям в пределах выделения для каждой ячейки.

Я применил макрос к клавиатуре Control + (буква выбора) для быстрой активациидоступ.

Ступая в код построчно, он прошел ожидаемое количество шагов для выбора теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...