Leanna Пользователь Сообщений: 816 |
Подскажите пожалуйста как в VBA изменить размеры желтого блока примечания в ячейке A13 Работать надо не 12 часов, а головой. |
Leanna Пользователь Сообщений: 816 |
спаисбо слэн, Данный код .Shape.Height = h и .Shape.Width = w не работает надо что-то работающее код на примечание должен будет примерно выглядеть след образом. With Range(«a11»).AddComment Работать надо не 12 часов, а головой. |
ну и дерзайте.. а что там не работает я так и не понял. а если поискать, то и раньше здесь такие вопросы обсуждались |
|
Leanna Пользователь Сообщений: 816 |
действительно заработало… Работать надо не 12 часов, а головой. |
Изменение размера области примечания Sub CommentFitter1() |
|
Leanna Пользователь Сообщений: 816 |
Спасибо, этот вариант ещё интереснее ! Работать надо не 12 часов, а головой. |
olly Пользователь Сообщений: 6 |
Подскажите пожалуйста как в VBA изменить размер примечания с картинкой на «х» процентов. |
Somebody Пользователь Сообщений: 169 |
olly, см. приложенный файл. Нажмите кнопку «Макрос» на листе «Начальный» <BR><STRONG>Файл удален</STRONG> — велик размер. [Модераторы] |
olly Пользователь Сообщений: 6 |
Sombody, модераторы удалили файл!!!!! |
Somebody Пользователь Сообщений: 169 |
|
Somebody Пользователь Сообщений: 169 |
Могу выложить только код. Sub CorrectComments() If MsgBox(«Выравнить фото по столбцу D?», vbQuestion + vbYesNo, «Выравнивание фото») = vbNo Then Exit Sub |
olly Пользователь Сообщений: 6 |
СПАСИБО, Sombody! |
Somebody Пользователь Сообщений: 169 |
Спасибо. Это не настолько сложный макрос, чтобы я брал за него плату) |
Serge Пользователь Сообщений: 11308 |
{quote}{login=Somebody}{date=25.04.2010 11:51}{thema=}{post}Спасибо. Это не настолько сложный макрос, чтобы я брал за него плату){/post}{/quote}А какая разница? Если человек хочет отблагодарить — пусть платит. Это для Вас несложно, а другому — выше крыши. ИМХО. |
Somebody Пользователь Сообщений: 169 |
Сергей, у меня просто нет WebMoney, ЯндексДеньги и других кошельков) Я наличность люблю ) |
Serge Пользователь Сообщений: 11308 |
{quote}{login=Somebody}{date=25.04.2010 12:00}{thema=}{post}Сергей, у меня просто нет WebMoney, ЯндексДеньги и других кошельков) Я наличность люблю ) |
Somebody Пользователь Сообщений: 169 |
по моему опыту, на девушку уходит огромное (для меня) количество денег): P.S. Оля не принимайте это на свой счёт ) мы шутим ) P.P.S. Хорошо, что я пишу всё это под ником Somebody, а не под тем, под которым меня на этом форуме ОЧЕНЬ хорошо знают )))) |
Serge Пользователь Сообщений: 11308 |
{quote}{login=Somebody}{date=25.04.2010 12:11}{thema=}{post} |
Somebody Пользователь Сообщений: 169 |
|
Serge Пользователь Сообщений: 11308 |
{quote}{login=Somebody}{date=25.04.2010 12:24}{thema=}{post}Написал вам на почту )){/post}{/quote}Ок |
olly Пользователь Сообщений: 6 |
Хочу Вас расстроить: |
Somebody Пользователь Сообщений: 169 |
olly )))) 5 баллов ))) Я вчера ещё помнил, что вы парень, вы написали в конце вашей просьбы «Буду Вам очень признателен!», а сегодня с утра я уже забыл про это и смотря на ваш ник, подумал, что девушка )))) Прошу прощения ))) |
olly Пользователь Сообщений: 6 |
Summer! |
Somebody Пользователь Сообщений: 169 |
Олег, Попробуйте этот код Sub CorrectComments() If MsgBox(«Выравнить фото по столбцу D?», vbQuestion + vbYesNo, «Выравнивание фото») = vbNo Then Exit Sub В коде есть комментарии «Ширина столбца» и «Высота строк», меняя эти значения можно подобрать оптимальные размеры. Попробуйте поиграться с этими цифрами |
Hugo Пользователь Сообщений: 23257 |
Может так надо? Option Explicit Sub CorrectComments() If MsgBox(«Выравнить фото по столбцу D?», vbQuestion + vbYesNo, «Выравнивание фото») = vbNo Then Exit Sub Range(«D4») = «Фото» |
Сер Гость |
#27 07.06.2011 18:44:51 {quote}{login=Велосипед}{date=23.05.2008 07:57}{thema=Как изменить размеры примечания програмно?}{post}Изменение размера области примечания |
Установка размера примечания |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
trvi 27 / 2 / 0 Регистрация: 20.02.2013 Сообщений: 126 |
||||||||
1 |
||||||||
Изменение размера примечаний27.02.2013, 10:57. Показов 7156. Ответов 9 Метки нет (Все метки)
Создал код который изменяет размер примечания во всех ячейках в диапозоне:
Не работает… Где может быть ошибка? Как прикрутить позиционирование примечания относительно её ячейки?
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
27.02.2013, 10:57 |
9 |
Заблокирован |
||||
27.02.2013, 11:26 |
2 |
|||
0 |
Catstail Модератор 34709 / 19230 / 4040 Регистрация: 12.02.2012 Сообщений: 32,197 Записей в блоге: 13 |
||||
27.02.2013, 11:31 |
3 |
|||
Я бы добавил еще пару строк:
1 |
5468 / 1148 / 50 Регистрация: 15.09.2012 Сообщений: 3,514 |
|
27.02.2013, 12:14 |
4 |
А вот символ # после числа — это в каком разделе VBA-справки посмотреть?
0 |
Заблокирован |
|
27.02.2013, 12:27 |
5 |
А вот символ # после числа — это в каком разделе VBA-справки посмотреть? Excel 2010 Developer Reference > Visual Basic for Applications Language Reference > Visual Basic Definitions >
0 |
5468 / 1148 / 50 Регистрация: 15.09.2012 Сообщений: 3,514 |
|
27.02.2013, 12:46 |
6 |
Апострофф, одно из назначений символа # — это придание переменной нужного типа данных. Об этом есть информация в VBA-справочниках. Сейчас читаю VBA-справочник. Пока прихожу к выводу, что числа, указываемые в коде, являются константами. Видимо нужно читать раздел VBA-справочника про константы.
0 |
27 / 2 / 0 Регистрация: 20.02.2013 Сообщений: 126 |
|
27.02.2013, 12:53 [ТС] |
7 |
Спасибо!
0 |
trvi 27 / 2 / 0 Регистрация: 20.02.2013 Сообщений: 126 |
||||
06.03.2013, 09:16 [ТС] |
8 |
|||
Не получается сделать так, чтобы положение комментария относительно ячеки было одно:
0 |
Казанский 15136 / 6410 / 1730 Регистрация: 24.09.2011 Сообщений: 9,999 |
||||
06.03.2013, 09:55 |
9 |
|||
Инкременты замените на
1 |
27 / 2 / 0 Регистрация: 20.02.2013 Сообщений: 126 |
|
06.03.2013, 11:38 [ТС] |
10 |
Казанский, Как всегда!
0 |
Когда вы вставляете комментарии в ячейки, размер поля комментариев устанавливается по умолчанию. Если вы введете в него много содержимого, часть содержимого не будет видна напрямую. Можно ли автоматически подогнать размер поля комментария к его содержимому?
Автоматическое изменение размера окна комментария по размеру его содержимого на листе
Автоматическое изменение размера окна комментария для размещения его содержимого в диапазоне ячеек
Простое автоматическое изменение размера окна комментариев, чтобы оно соответствовало его содержанию на активном листе или на всем листе с помощью удивительного инструмента
Автоматическое изменение размера окна комментария по размеру его содержимого на листе
В Excel вы можете вручную перетащить поле комментариев до нужного размера вручную, но если необходимо изменить размер множества полей для комментариев, этот способ будет утомительным и трудоемким. В этом случае вы можете применить следующий код VBA.
1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модули, и вставьте следующий макрос в Окно модуля.
Код VBA: автоматическое изменение размера полей комментариев на листе
Sub FitComments()
'Updateby20140325
Dim xComment As Comment
For Each xComment In Application.ActiveSheet.Comments
xComment.Shape.TextFrame.AutoSize = True
Next
End Sub
3. Затем нажмите F5 ключ для запуска этого кода, и все поля комментариев на активном листе были изменены, чтобы соответствовать их содержимому, как показано на следующем снимке экрана:
Функции: Этот код работает только на текущем листе, и он не может автоматически изменять размер новых полей комментариев, которые вы добавляете.
Автоматическое изменение размера окна комментария для размещения его содержимого в диапазоне ячеек
Если вам просто нужно автоматически изменить размер диапазона полей комментариев к ячейкам, вы можете использовать следующий код VBA.
1. Удерживайте ALT + F11 ключи, и он открывает Окно Microsoft Visual Basic для приложений.
2. Нажмите Вставить > Модули, и вставьте следующий макрос в Окно модуля.
Код VBA: автоматическое изменение размера полей комментариев в диапазоне ячеек
Sub Fitrangecomments()
'Updateby20140325
Dim rng As Range
Dim WorkRng As Range
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
For Each rng In WorkRng
If Not rng.Comment Is Nothing Then
rng.Comment.Shape.TextFrame.AutoSize = True
End If
Next
End Sub
3. Затем нажмите F5 нажмите клавишу для выполнения этого кода, и появится окно подсказки, напоминающее вам о выборе диапазона ячеек, размер которых вы хотите изменить в полях комментариев, см. снимок экрана:
4. Затем щелкните OK, поля комментариев выбранных вами ячеек были автоматически подогнаны под содержание комментария.
Функции: Этот код не может автоматически изменять размер новых полей комментариев, которые вы добавляете.
Автоматическое изменение размера окна комментариев в соответствии с его содержимым на активном листе или на всем листе
Вы можете попробовать Комментарий AutoFit полезности Kutools for Excel для автоматического изменения размераЗаполните поля комментариев на активном листе или на всех листах в Excel. Пожалуйста, сделайте следующее.
1. Для автоматического изменения размера полей комментариев в соответствии с их содержимым на активном листе щелкните Кутулс > Больше > Комментарий AutoFit > Активный лист.
И если вы хотите автоматически изменить размер всех полей комментариев во всей книге, нажмите Кутулс > Больше > Комментарий AutoFit > Все листы. Смотрите скриншот:
Затем размер всех полей комментариев автоматически изменяется в соответствии с их содержимым. Смотрите скриншот:
Заметки:
- 1. После автоматического изменения размеров полей комментариев при повторном редактировании комментария поле комментария автоматически расширяется или сжимается вместе с содержимым.
- 2. Для новых вставленных комментариев вам необходимо снова включить эту утилиту AutoFit comment, чтобы изменить размер всех новых вставленных полей комментариев.
Если вы хотите получить бесплатную пробную версию (30-день) этой утилиты, пожалуйста, нажмите, чтобы загрузить это, а затем перейдите к применению операции в соответствии с указанными выше шагами.
Поле для комментариев автоматически изменяет размер в соответствии с его содержимым
Статьи по теме:
- Как изменить форму поля комментариев в Excel?
- Как изменить все форматы комментариев в ячейках в Excel?
- Как перечислить все комментарии к новому листу или книге в Excel?
- Как вставить картинку или изображение в комментарий в Excel?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
When one adds a cell comment in Excel (2016), the comment box is notoriously suboptimally-sized and needs manual adjustment. I defined this macro (with VBA code that I got from here) to automatically resize the cell comment that appears when the mouse is hovered above a cell:
Sub FitComments()
Dim xComment As Comment
For Each xComment In Application.ActiveSheet.Comments
xComment.Shape.TextFrame.AutoSize = True
Next
End Sub
However, I would like this macro to instead:
- resize the comment box not just on one line but across multiple
lines, optimising the rectangle’s aspect ratio (the way Google
Spreadhseets automatically resizes any cell comment box, the second
it is created) - act not upon all cell comments in the sheet but only
upon the current cell’s comment
I have however no real knowledge of VBA. Can anyone point out what changes I’d have to make to the code? Thanks!
asked Feb 5, 2019 at 17:04
1
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 is not available at my current location to test the above or I would have done so before posting. I am running Office 365 which automatically does the resizing as you describe. Multiple versions were tested until the macro did not error.
The concept behind this code is to apply autosize to the comments within the selection on a per cell basis.
I applied the macro to a Control + (letter of choice) keyboard activation for quick access.
Stepping into the code on a line by line basis, it ran through the expected number of steps for the test selection.
answered Feb 5, 2019 at 20:22
2
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
using this you can resize according to you requirements, note it will resize all the comments in the current sheet.
Hope it helps someone
answered Mar 19, 2019 at 7:56
1