Страницы: 1
RSS
Применение примечаний к ячейке с параметром "список"
 
Как применить различные примечания к одной ячейке с параметром "список". Допустим ячейка содержит выбор из категорий А, Б, В, нужно с помощью примечаний описать характеристика каждой группы.  
 
Покажите на примере (в файле) чего именно хотите и при каких действиях пользователя. При выборе ячейки? При заполнении ячейки? Что именно надо отражать в комментариях? Где именно могут располагаться заполняемые ячейки - в одном столбце? В разных? На одном листе? На разных?
Ну и прочие "мелкие" вопросы... :)
Кому решение нужно - тот пример и рисует.
 
Ну если список небольшой, то можно применить через проверку данных и описать все варианты. Если же список очень большой то тут можно применить предположим ВПР, рядом ячейку с описанием функции сделать. Ну или макрос который будет вставлять примечание.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Пример, список не большой, может 10 макс
 
В модуль листа
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("B4")) Is Nothing And Target.Count = 1 Then
    On Error Resume Next
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Select Case Target.Value
        Case "А"
            iCom = Range("G3").Text
        Case "Б"
            iCom = Range("G4").Text
        Case "В"
            iCom = Range("G5").Text
    End Select
    Target.ClearComments
    Target.AddComment
    With Target.Comment
        .Visible = False
        .Text Text:=iCom
        .Shape.TextFrame.AutoSize = True
    End With
End If
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Согласие есть продукт при полном непротивлении сторон
 
Sanja, то что надо! Отлично. Благодарю
 
А если текст примечания предварительно обработать (расставить переносы строк Alt+Enter), будет еще красивее  :)  
Согласие есть продукт при полном непротивлении сторон
 
Sanja, да, только хотел спросить как редактировать, так как если редактировать само примечание формат слетает после смены. Т.е. единственный вариант форматировать только "источник"!?
 
Конечно не единственный, но, как мне кажется, самый удобный. Можно текст 'зашить' в код и редактировать его там. Если честно, я не понял что Вы имеете ввиду
Согласие есть продукт при полном непротивлении сторон
 
Что если на этом же листе необходимо сделать тоже самое для другой ячейке (допустим С5), текст примечания для которой находиться на (допустим CF5, CF6), какие изменения/дополнения нужно внести в этот макрос?
 
Цитата
Greedy написал: ...допустим CF5, CF6...
Что-бы больше никаких 'допустим' - читайте комментарии в коде  :)
Скрытый текст
Изменено: Sanja - 13.02.2018 16:23:07
Согласие есть продукт при полном непротивлении сторон
 
Добавил правку в файл
 
Во второй строке кода 'B4' замените на 'C5'
Согласие есть продукт при полном непротивлении сторон
 
Если заменю старый исчезнет, а его нужно оставить. Нужно чтоб в одном файле макрос работал для двух а может и более "случаев"
Изменено: Greedy - 13.02.2018 16:57:44
 
Варианты 2-й строки
Для нескольких отдельных ячеек
Код
If Not Intersect(Target, Range("B4,C5,D6")) Is Nothing And Target.Count = 1 Then
Для диапазона/ов ячеек
Код
If Not Intersect(Target, Range("B4,C5:D6,E7,F8,G9:J9")) Is Nothing And Target.Count = 1 Then
Для всех ячеек столбца 'B'
Код
If Not Intersect(Target, Columns("B")) Is Nothing And Target.Count = 1 Then
Для всех ячеек 4-й строки
Код
If Not Intersect(Target, Rows(4)) Is Nothing And Target.Count = 1 Then
Согласие есть продукт при полном непротивлении сторон
 
Sanja, большое спасибо!
Страницы: 1
Наверх