Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.04.2014, 11:15   #1
oleg4224
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 12
По умолчанию Вопрос по примечаниям в Excel

Добрый день !
Вопрос несколько нестандартный
можно ли макросом по фигуре-кнопке показать ВСЕ примечания созданные в ячейках таблицы и потом другим макросом скрыть их ? Возможно ли это ?
oleg4224 вне форума Ответить с цитированием
Старый 14.04.2014, 11:24   #2
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Легко. Можно одним макросом обойтись.
Код:
Sub tt()
    Dim c As Range
    On Error Resume Next
    For Each c In ActiveSheet.UsedRange.Cells
        c.Comment.Visible = Not c.Comment.Visible
    Next
End Sub
Не совсем правда по задаче - если часть комментов изначально видима, то будет чехарда. Но конечно можно доработать.
P.S.
Код:
Sub tt()
    Dim c As Range
    Static flag As Boolean
    flag = Not flag
    On Error Resume Next
    For Each c In ActiveSheet.UsedRange.Cells
        c.Comment.Visible = flag
    Next
End Sub
webmoney: E265281470651 Z422237915069 R418926282008

Последний раз редактировалось Hugo121; 14.04.2014 в 11:30.
Hugo121 вне форума Ответить с цитированием
Старый 14.04.2014, 11:28   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Application.DisplayCommentIndicator = xlCommentAndIndicator
и
Application.DisplayCommentIndicator = xlCommentIndicatorOnly
что какой режим включает выясните сами экспериментальным путем.
удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете

Последний раз редактировалось IgorGO; 14.04.2014 в 11:47.
IgorGO вне форума Ответить с цитированием
Старый 14.04.2014, 11:39   #4
Hugo121
Старожил
 
Регистрация: 11.05.2010
Сообщений: 5,166
По умолчанию

Век живи, век учись

Тогда вариант:
Код:
Sub ttt()
    With Application: .DisplayCommentIndicator = .DisplayCommentIndicator * -1: End With
End Sub
webmoney: E265281470651 Z422237915069 R418926282008
Hugo121 вне форума Ответить с цитированием
Старый 14.04.2014, 21:42   #5
oleg4224
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 12
По умолчанию

Перепробовал все варианты -конечно вариант Hugo121 последний самый предпочтительный но при этом конечно всплывающие подсказки перемешиваются трудно сориентироваться потом

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

во всплывающую подсказку делаю длинный текст тк если его вписывать в ячейку с переносом слов - безумная высота строки будет - трудно ориентироваться

поэтому такой вопрос - можно ли заставить програмно excel делать примечание ячейки чтобы поле примечания было в пределах высоты строки (в которой находится эта ячейка с примечанием) и поле примечания автоматом расширялось под вставляемый текст ? Возможно ли это ?

Просто в формате примечания регулирутся только шрифт а положения и автом. расширения от обьема текста нет

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


либо 2 вариант - при появлении всех примечаний каждая строка автоматически расширятся по высоте под высоту своего примечания - при скрытии примечания строка сжимается
Вложения
Тип файла: zip Примечания пример.zip (11.6 Кб, 7 просмотров)

Последний раз редактировалось oleg4224; 14.04.2014 в 21:56.
oleg4224 вне форума Ответить с цитированием
Старый 15.04.2014, 00:06   #6
gling
Форумчанин
 
Регистрация: 23.01.2010
Сообщений: 261
По умолчанию

Если придумаете как считать количество знаков вставляемых в примечание может этот файл и пригодится.
Вложения
Тип файла: zip Примечания пример.zip (13.3 Кб, 5 просмотров)
gling вне форума Ответить с цитированием
Старый 15.04.2014, 02:10   #7
oleg4224
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 12
По умолчанию

Похоже с этими примечаниями замучаешься - придумал другой путь решения вопроса

Вношу данные с большим количеством текста в ячейку столбца D таблицы -
делаю кнопку сокрытия этого столбца + раскрытие этого столбца D

ввожу в макрос таблицы автоподбор высоты строки в диапазоне Rows("3:5009")

Rows("3:5009").EntireRow.AutoFit 'выравнивание высоты строки

при этом нужно когда столбец D с большим количесттвом текста скрыт
автоподбор высоты в строках велся по наибольшему количеству символов в любом столбце строки (кроме столбца D - те при этом один столбец D не учитывался при этом автоподборе)


кнопка
Private Sub CommandButton1_Click()
On Error Resume Next
If Columns(4).Hidden = False Then
Columns(4).Hidden = True
CommandButton1.Caption = "Показать вопрос"
Rows("3:5009").EntireRow.AutoFit 'выравнивание высоты строки
Else
Columns(4).Hidden = False
CommandButton1.Caption = "Скрыть вопрос"
Rows("3:5009").EntireRow.AutoFit 'выравнивание высоты строки
End If
ActiveSheet.Select
On Error GoTo 0
End Sub

как изменить строку
Rows("3:5009").EntireRow.AutoFit 'выравнивание высоты строки

чтоб не учитывался только столбец D по автоподбору высоты строки??
Вложения
Тип файла: zip Скрытие столбца пример.zip (12.1 Кб, 8 просмотров)

Последний раз редактировалось oleg4224; 15.04.2014 в 02:32.
oleg4224 вне форума Ответить с цитированием
Старый 15.04.2014, 03:49   #8
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Если я правильно понял, то так:
Код:
Columns("A:C").AutoFit: Columns("E:O").AutoFit
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 15.04.2014, 09:41   #9
oleg4224
Пользователь
 
Регистрация: 07.04.2014
Сообщений: 12
По умолчанию

Код:
Columns("A:C").AutoFit: Columns("E:O").AutoFit

к сожалению не подходит - форматирование по ширине столбцов идет здесь


а надо по ширине строк в дипазонах A3:C5000 и E3:O5000 - при этом диапазон D3:D5000 надо исключить

смысл то такой что при скрытии столбца D с большим количеством текста - высота строк в таблице уменьшалась - в новом примере показал как должно быть до и после скрытия столбца D по высоте строк(примеры на разных листах книги)

ТК ВОПРОС перешел в другую тему - создам новую тему
Вложения
Тип файла: zip Скрытие столбца пример 2.zip (23.3 Кб, 7 просмотров)

Последний раз редактировалось oleg4224; 15.04.2014 в 11:34.
oleg4224 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
вопрос по excel Антон Ос Microsoft Office Excel 4 01.03.2013 22:09
Вопрос по Excel Mik-vladislav Microsoft Office Excel 22 14.03.2012 17:10
Вопрос к мастерам Excel. (Повторы в Excel ) Mr.Jass Microsoft Office Excel 2 03.06.2010 17:44
Вопрос по VBA в Excel dimon305 Microsoft Office Excel 11 13.05.2010 10:51
Вопрос по excel/vba sergey_wckd Microsoft Office Excel 15 05.11.2009 16:07