#excel #vba
#excel #vba
Вопрос:
Я пытаюсь превратить текстовое содержимое одной ячейки в комментарий к этой ячейке, а затем настроить автоматический размер комментария, чтобы он соответствовал истинному размеру содержимого. Я нашел два отдельных макроса, которые работают, но у меня возникли проблемы с объединением их в один макрос.
Приведенный ниже код работает путем преобразования выбранной ячейки в комментарий. https://sumtips.com/tips-n-tricks/convert-excel-cell-contents-comments-vba /
Sub ConvertToComment()
Dim C As Range
For Each C In Selection
C.ClearComments
If Len(C.Value) > 0 Then
C.AddComment
C.COMMENT.Text C.Value amp; ""
End If
'Optional: Delete cell content after converting
C = "See Comment"
Next C
End Sub
Приведенный ниже код позволяет автоматически изменять размер всех комментариев на листе.
https://quadexcel.com/how-to-auto-size-comment-box-to-fit-its-content-in-excel /
Sub FitComments()
Dim xComment As Comment
For Each xComment In Application.ActiveSheet.Comments
xComment.Shape.TextFrame.AutoSize = True
Next
End Sub
Как я могу включить приведенную ниже строку в макрос ConvertToComment () вверху?
xComment.Shape.TextFrame.AutoSize = True
Приведенный ниже код — это моя печальная попытка добавить строку, которую я считаю важной, чтобы заставить ее работать так, как я хочу. Создайте комментарий и автоматически измените размер созданного комментария в соответствии с содержимым. Я все еще новичок в VBA.
Sub ConvertToComment()
Dim C As Range
Dim xComment As COMMENT
For Each C In Selection
C.ClearComments
If Len(C.Value) > 0 Then
C.AddComment
C.COMMENT.Text C.Value amp; ""
--> COMMENT.Text C.Shape.TextFrame.AutoSize = True
End If
'Optional: Delete cell content after converting
C = "See Comment"
Next C
End Sub
Сообщение об ошибке «Объект не поддерживает этот проект или метод»
Комментарии:
1. В одной строке находятся два оператора. Попробуйте просто
C.Shape.TextFrame.AutoSize = True
2. Спасибо за ответ. Я только что попробовал эту строку вместо моей предыдущей неправильной строки. Это выдало ошибку 438. «Объект не поддерживает это свойство или метод». Итак, я добавил
C.COMMENT.Shape.TextFrame.AutoSize = True
, и это сработало. Большое вам спасибо.