Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2013 - [решено] Exel 2013 - вставить примечание макросом

Ответить
Настройки темы
2013 - [решено] Exel 2013 - вставить примечание макросом

Аватара для Maestro

Старожил


Сообщения: 177
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Всем привет
Можно ли вставить Конкретное примечание макросом в ТЕКУЩУЮ ячейку?
Пробовал запись макроса, но так оно вставляется в КОНКРЕТНУЮ ячейку, а не в ТЕКУЩУЮ
Было бы неплохо еще и форматировать сразу это примечание - шрифт, к примеру, увеличить и жирность добавить

Range("I311").AddComment
Range("I311").Comment.Visible = False

Спасибо

-------
Скайп - NewMaestro, моб.скайп - NewMaestro.m
+375298880074 - Viber, Telegram, WhatsApp


Отправлено: 11:37, 05-01-2017

 

Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Maestro, достаточно заменить указание на конкретный диапазон ссылкой на активную ячейку и воспользоваться тем фактом, что метод .AddComment возвращает созданный объект Comment:
Код: Выделить весь код
ActiveCell.AddComment("Какой-то комментарий").Visible = False
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:00, 05-01-2017 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для Maestro

Старожил


Сообщения: 177
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


Отлично, а можно форматировать само примечание и изменить размер рамки?

-------
Скайп - NewMaestro, моб.скайп - NewMaestro.m
+375298880074 - Viber, Telegram, WhatsApp


Отправлено: 12:09, 05-01-2017 | #3


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Maestro:
Было бы неплохо еще и форматировать сразу это примечание - шрифт, к примеру, увеличить и жирность добавить »
Код: Выделить весь код
    With ActiveCell.AddComment("Какой-то комментарий")
        .Visible = False
        
        With .Shape.TextFrame.Characters.Font
            .Bold = True
            .Size = 14
            .ColorIndex = 8
        End With
    End With
Цитата Maestro:
и изменить размер рамки? »
Код: Выделить весь код
    With ActiveCell.AddComment("Какой-то комментарий")
        .Visible = False
        
        With .Shape.TextFrame
            .AutoSize = True
            
            With .Characters.Font
                .Bold = True
                .Size = 14
                .ColorIndex = 8
            End With
        End With
    End With
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:14, 05-01-2017 | #4


Аватара для Maestro

Старожил


Сообщения: 177
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


СУПЕР! Как хорошо много знать
Ну и для ПОЛНОГО счастья размер рамки можно подкорректировать?
Этим по идее как-то....
Selection.ShapeRange.ScaleWidth 0.73, msoFalse, msoScaleFromTopLeft

-------
Скайп - NewMaestro, моб.скайп - NewMaestro.m
+375298880074 - Viber, Telegram, WhatsApp


Отправлено: 12:21, 05-01-2017 | #5


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Maestro, вот Вам более полный демонстрационный образец:
Скрытый текст

Код: Выделить весь код
Option Explicit

Sub Sample()
    Dim objComment As Comment
    
    
    With ActiveCell
        If .Comment Is Nothing Then
            Set objComment = .AddComment
        Else
            Set objComment = .Comment
        End If
    End With
    
    With objComment
        '.Visible = False
        .Visible = True
        
        With .Shape
            .Height = 100
            .Width = 200
            
            With .TextFrame
                With .Characters
                    .Text = "Мама мыла раму." & vbLf & vbLf
                        
                    With .Font
                        .Bold = True
                        .Size = 14
                        .ColorIndex = 3
                    End With
                End With
                    
                With .Characters(Len(.Characters.Text) + 1)
                    .Text = "Рабы не мы, "
                    
                    With .Font
                        .Bold = False
                        .Size = 12
                        .ColorIndex = 4
                    End With
                End With
                
                With .Characters(Len(.Characters.Text) + 1)
                    .Text = "Мы не рабы."
                    
                    With .Font
                        .Bold = False
                        .Italic = True
                        .Size = 10
                        .ColorIndex = 5
                    End With
                End With
            End With
        End With
    End With
    
    Set objComment = Nothing
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:30, 05-01-2017 | #6


Аватара для Maestro

Старожил


Сообщения: 177
Благодарности: 3

Профиль | Сайт | Отправить PM | Цитировать


в дополнение: как макросом к текстовому содержимому ячейки добавить в уонец определенные символы и всю ячейку потом отформатировать шрифтом и цветом?

Спасибо

-------
Скайп - NewMaestro, моб.скайп - NewMaestro.m
+375298880074 - Viber, Telegram, WhatsApp


Последний раз редактировалось Maestro, 12-01-2017 в 12:51.


Отправлено: 11:25, 12-01-2017 | #7


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата Maestro:
как макросом к текстовому содержимому ячейки добавить в уонец определенные символы и всю ячейку потом отформатировать шрифтом и цветом? »
например - кодом наподобие такого (необходимо выделить все нужные вам ячейки, не обязательно смежные, и запустить код):
код
Код: Выделить весь код
Public Sub Add_text_sel()
    Dim rngCell As Range, strTxt As String, intCol As Integer
    Dim colobj
    strTxt = " Пример текста":  'Текст, который необходимо вставить в ячейку
    intCol = 5:  'цвет рамки ячейки
    colobj = RGB(255, 0, 0):  'цвет заливки ячейки
    For Each rngCell In Selection.Cells
        With rngCell
            .Value = .Value & strTxt
            .Font.Color = RGB(0, 255, 0):   'цвет текста в ячейке
            .Font.Bold = True:   'Полужирное начертание, если не нужен - значение false
            .Font.Underline = xlUnderlineStyleSingle:  'Подчеркнутый, если не нужен = xlUnderlineStyleNone
            .Font.Italic = True:  'курсив , если не нужен - значение false
        End With
        With rngCell.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = colobj
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        With rngCell.Borders(xlEdgeLeft)
            .LineStyle = xlContinuous
            .ColorIndex = intCol
            .TintAndShade = 0
            .Weight = xlMedium
        End With
        With rngCell.Borders(xlEdgeTop)
            .LineStyle = xlContinuous
            .ColorIndex = intCol
            .TintAndShade = 0
            .Weight = xlMedium
        End With
        With rngCell.Borders(xlEdgeBottom)
            .LineStyle = xlContinuous
            .ColorIndex = intCol
            .TintAndShade = 0
            .Weight = xlMedium
        End With
        With rngCell.Borders(xlEdgeRight)
            .LineStyle = xlContinuous
            .ColorIndex = intCol
            .TintAndShade = 0
            .Weight = xlMedium
        End With
    Next
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:39, 12-01-2017 | #8


Ветеран


Сообщения: 27449
Благодарности: 8086

Профиль | Отправить PM | Цитировать


Цитата Maestro:
в дополнение: как макросом к текстовому содержимому ячейки добавить в уонец определенные символы и всю ячейку потом отформатировать шрифтом и цветом? »
Не надо «в дополнение». Надо — в отдельную тему.

Цитата a_axe:
например - кодом наподобие такого »
Ленитесь ?

Отправлено: 05:54, 13-01-2017 | #9


Динохромный


Contributor


Сообщения: 690
Благодарности: 317

Профиль | Отправить PM | Цитировать


Цитата Iska:
Ленитесь ? »
Если бы . Лень - двигатель прогресса, а глядя на {большое} количество строчек в коде, кажется, что я в ударники записался. Исправляюсь (впрочем, если существует более оптимальный подход, подскажите ):


Maestro, в экселе есть инструмент "стиль ячейки", в вашем случае более удобно будет использовать его (вкладка "Главная"->сектор "стили"-> кнопка "Стили ячеек").
В выпадающем меню можно создать свой стиль ячейки, либо воспользоваться стандартными (в коде ниже использован стандартный стиль Excel 2010 "Хороший", если создадите свой стиль - измените название стиля в коде).

Код ниже добавит ваш текст и присвоит вашим ячейкам указанный стиль "Хороший", соответственно преимущество будет в том, что оформление ячеек можно быстро изменить, поменяв один раз настройки в стиле, да и настраивать стиль будет гораздо удобнее в смысле визуального отображения, нежели вписывать параметры в код. В принципе - для разного вставляемого текста можно сделать несколько копий кода, и "повесить" их на разные кнопки (стилей нужно также несколько).
Код
Код: Выделить весь код
Public Sub Add_text_style()
    Dim rngCell As Range, strTxt As String
    
    strTxt = " Пример текста":  'Текст, который необходимо вставить в ячейку
    Selection.Style = "Хороший"
    For Each rngCell In Selection.Cells
        rngCell.Value = rngCell.Value & strTxt
    Next
End Sub
Это сообщение посчитали полезным следующие участники:

Отправлено: 15:36, 13-01-2017 | #10



Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2013 - [решено] Exel 2013 - вставить примечание макросом

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2013 - Заполнение спецификации макросом irkarimov Microsoft Office (Word, Excel, Outlook и т.д.) 5 30-11-2016 07:18
2010 - [решено] помогите, пожалуйста, с макросом vanoman Microsoft Office (Word, Excel, Outlook и т.д.) 2 23-12-2014 12:09
2007 - Формула в примечание Excel Michael Mikhail Microsoft Office (Word, Excel, Outlook и т.д.) 14 26-11-2012 10:13
вставка формул в экселе макросом? Naug Программирование и базы данных 2 22-09-2004 15:47




 
Переход