AddComment в двумерный диапазон (желательно без цикла)
AlexM
Дата: Пятница, 05.04.2013, 11:52 |
Сообщение № 21
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4491
Репутация:
1115
±
Замечаний:
0% ±
Excel 2003
Цитата (_Boroda_ )
пропуская ячейки с уже вставленными примечаниями
Не будет ошибки при добавлении примечания, так как строка [vba][/vba]будет пропущена, но закраска все равно будет. Так лучше будет [vba]Код
Sub qqq() On Error Resume Next For Each cl In Range("A1:C5") cl.AddComment If Err = 0 Then cl.Comment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Err.Clear Next End Sub
[/vba]
Цитата (_Boroda_ )
пропуская ячейки с уже вставленными примечаниями
Не будет ошибки при добавлении примечания, так как строка [vba][/vba]будет пропущена, но закраска все равно будет. Так лучше будет [vba]Код
Sub qqq() On Error Resume Next For Each cl In Range("A1:C5") cl.AddComment If Err = 0 Then cl.Comment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Err.Clear Next End Sub
[/vba]AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Пятница, 05.04.2013, 12:00
Ответить
Сообщение Цитата (_Boroda_ )
пропуская ячейки с уже вставленными примечаниями
Не будет ошибки при добавлении примечания, так как строка [vba][/vba]будет пропущена, но закраска все равно будет. Так лучше будет [vba]Код
Sub qqq() On Error Resume Next For Each cl In Range("A1:C5") cl.AddComment If Err = 0 Then cl.Comment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Err.Clear Next End Sub
[/vba]Автор - AlexM Дата добавления - 05.04.2013 в 11:52
_Boroda_
Дата: Пятница, 05.04.2013, 12:13 |
Сообщение № 22
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Цитата (AlexM )
Не будет ошибки при добавлении примечания, так как строка
Правильно. Это я просто не тот макрос вставил. Вот так надо было [vba]Код
Sub qqq() On Error Resume Next For Each cl In Range("A1:C5") cl.AddComment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Next On Error GoTo 0 End Sub
[/vba]
Цитата (AlexM )
Не будет ошибки при добавлении примечания, так как строка
Правильно. Это я просто не тот макрос вставил. Вот так надо было [vba]Код
Sub qqq() On Error Resume Next For Each cl In Range("A1:C5") cl.AddComment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Next On Error GoTo 0 End Sub
[/vba]_Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Цитата (AlexM )
Не будет ошибки при добавлении примечания, так как строка
Правильно. Это я просто не тот макрос вставил. Вот так надо было [vba]Код
Sub qqq() On Error Resume Next For Each cl In Range("A1:C5") cl.AddComment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Next On Error GoTo 0 End Sub
[/vba]Автор - _Boroda_ Дата добавления - 05.04.2013 в 12:13
AlexM
Дата: Пятница, 05.04.2013, 12:26 |
Сообщение № 23
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4491
Репутация:
1115
±
Замечаний:
0% ±
Excel 2003
Осталось отличать примечания, созданные вручную или макросом. Вариант с ":" & chr(10) наверно не очень подходящий. Для чего строка нужна?[vba][/vba]
Осталось отличать примечания, созданные вручную или макросом. Вариант с ":" & chr(10) наверно не очень подходящий. Для чего строка нужна?[vba][/vba] AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Сообщение отредактировал AlexM - Пятница, 05.04.2013, 12:29
Ответить
Сообщение Осталось отличать примечания, созданные вручную или макросом. Вариант с ":" & chr(10) наверно не очень подходящий. Для чего строка нужна?[vba][/vba] Автор - AlexM Дата добавления - 05.04.2013 в 12:26
Serge_007
Дата: Пятница, 05.04.2013, 12:32 |
Сообщение № 24
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Всё, всем, спасибо, разобрался и понял почему вчера у меня не получалось Вот что требовалось: [vba]Код
Sub Comm() Range("A1:C5").ClearComments For Each x In Range("A1:C5") x.AddComment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Next End Sub
[/vba] Но всё же, хотелось бы получить однозначный ответ, можно всё-таки это сделать без цикла? ЗЫ Андрей, если тебе интересно откуда у этой темы "ноги растут", то разочарую тебя, ноги отсюда (см. пост #14): http://forum.msexcel.ru/index.php/topic,9221.0.html ЗЫЗЫ Цитата (AlexM )
Осталось отличать примечания, созданные вручную или макросом
Это уже реализовано
Всё, всем, спасибо, разобрался и понял почему вчера у меня не получалось Вот что требовалось: [vba]Код
Sub Comm() Range("A1:C5").ClearComments For Each x In Range("A1:C5") x.AddComment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Next End Sub
[/vba] Но всё же, хотелось бы получить однозначный ответ, можно всё-таки это сделать без цикла? ЗЫ Андрей, если тебе интересно откуда у этой темы "ноги растут", то разочарую тебя, ноги отсюда (см. пост #14): http://forum.msexcel.ru/index.php/topic,9221.0.html ЗЫЗЫ Цитата (AlexM )
Осталось отличать примечания, созданные вручную или макросом
Это уже реализовано Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Всё, всем, спасибо, разобрался и понял почему вчера у меня не получалось Вот что требовалось: [vba]Код
Sub Comm() Range("A1:C5").ClearComments For Each x In Range("A1:C5") x.AddComment.Shape.Fill.ForeColor.RGB = RGB(255, 0, 0) Next End Sub
[/vba] Но всё же, хотелось бы получить однозначный ответ, можно всё-таки это сделать без цикла? ЗЫ Андрей, если тебе интересно откуда у этой темы "ноги растут", то разочарую тебя, ноги отсюда (см. пост #14): http://forum.msexcel.ru/index.php/topic,9221.0.html ЗЫЗЫ Цитата (AlexM )
Осталось отличать примечания, созданные вручную или макросом
Это уже реализовано Автор - Serge_007 Дата добавления - 05.04.2013 в 12:32
_Boroda_
Дата: Пятница, 05.04.2013, 12:44 |
Сообщение № 25
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация:
6481
±
Замечаний:
0% ±
2003; 2007; 2010; 2013 RUS
Цитата (AlexM )
Для чего строка нужна? On Error GoTo 0
В данном конкретном макросе ни для чего. Но я ВСЕГДА пишу пару On Error Resume Next и On Error GoTo 0 Это уже автоматизм. Обработчик ошибок должен работать только там, где он нужен. И ни на строчку больше. Иначе могут быть неожиданности. В этом файле кто-то может дописать снизу еще свой кусок кода, для которого не нужен обработчик ошибок. Типа если написал For i ..., то через строку вниз я СРАЗУ пишу Next i, а потом уже заполняю тело цикла между ними.
Цитата (AlexM )
Для чего строка нужна? On Error GoTo 0
В данном конкретном макросе ни для чего. Но я ВСЕГДА пишу пару On Error Resume Next и On Error GoTo 0 Это уже автоматизм. Обработчик ошибок должен работать только там, где он нужен. И ни на строчку больше. Иначе могут быть неожиданности. В этом файле кто-то может дописать снизу еще свой кусок кода, для которого не нужен обработчик ошибок. Типа если написал For i ..., то через строку вниз я СРАЗУ пишу Next i, а потом уже заполняю тело цикла между ними._Boroda_
Скажи мне, кудесник, любимец ба’гов... Платная помощь: Boroda_Excel@mail.ru Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
Ответить
Сообщение Цитата (AlexM )
Для чего строка нужна? On Error GoTo 0
В данном конкретном макросе ни для чего. Но я ВСЕГДА пишу пару On Error Resume Next и On Error GoTo 0 Это уже автоматизм. Обработчик ошибок должен работать только там, где он нужен. И ни на строчку больше. Иначе могут быть неожиданности. В этом файле кто-то может дописать снизу еще свой кусок кода, для которого не нужен обработчик ошибок. Типа если написал For i ..., то через строку вниз я СРАЗУ пишу Next i, а потом уже заполняю тело цикла между ними.Автор - _Boroda_ Дата добавления - 05.04.2013 в 12:44
RAN
Дата: Пятница, 05.04.2013, 13:26 |
Сообщение № 26
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Цитата (Serge_007 )
откуда у этой темы "ноги растут", то разочарую тебя
"А нам... мы волшебную косим трын-траву" Используя тему по ссылке я решение нашел.
Цитата (Serge_007 )
откуда у этой темы "ноги растут", то разочарую тебя
"А нам... мы волшебную косим трын-траву" Используя тему по ссылке я решение нашел. RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Цитата (Serge_007 )
откуда у этой темы "ноги растут", то разочарую тебя
"А нам... мы волшебную косим трын-траву" Используя тему по ссылке я решение нашел. Автор - RAN Дата добавления - 05.04.2013 в 13:26
Serge_007
Дата: Пятница, 05.04.2013, 13:51 |
Сообщение № 27
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (RAN )
Используя тему по ссылке я решение нашел
Макрорекордер не пишет заливку примечаний, а копипаст я и сам написал, поэтому и просил без него
Цитата (RAN )
Используя тему по ссылке я решение нашел
Макрорекордер не пишет заливку примечаний, а копипаст я и сам написал, поэтому и просил без него Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (RAN )
Используя тему по ссылке я решение нашел
Макрорекордер не пишет заливку примечаний, а копипаст я и сам написал, поэтому и просил без него Автор - Serge_007 Дата добавления - 05.04.2013 в 13:51
RAN
Дата: Пятница, 05.04.2013, 13:53 |
Сообщение № 28
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Цитата (Serge_007 )
Макрорекордер не пишет заливку примечаний
А мне написал. Это он тебя не любит. Другое дело, что я не дожал до конца.
Цитата (Serge_007 )
Макрорекордер не пишет заливку примечаний
А мне написал. Это он тебя не любит. Другое дело, что я не дожал до конца.RAN
Быть или не быть, вот в чем загвоздка!
Сообщение отредактировал RAN - Пятница, 05.04.2013, 13:55
Ответить
Сообщение Цитата (Serge_007 )
Макрорекордер не пишет заливку примечаний
А мне написал. Это он тебя не любит. Другое дело, что я не дожал до конца.Автор - RAN Дата добавления - 05.04.2013 в 13:53
Serge_007
Дата: Пятница, 05.04.2013, 14:01 |
Сообщение № 29
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (RAN )
А мне написал
В 2010?! Я несколько раз пробовал...
Цитата (RAN )
А мне написал
В 2010?! Я несколько раз пробовал...Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (RAN )
А мне написал
В 2010?! Я несколько раз пробовал...Автор - Serge_007 Дата добавления - 05.04.2013 в 14:01
RAN
Дата: Пятница, 05.04.2013, 14:52 |
Сообщение № 30
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Цитата (Serge_007 )
В 2010?!
Неааа. Даже в 2007, где рекордер совсем кривой. Вот из-под топора в 2010 [vba]Код
Sub Макрос6() ' Макрос6 Макрос Range("C3").AddComment Range("C3").Comment.Visible = True Range("C3").Comment.Text Text:="OFIS:" & Chr(10) & "" Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.Solid Selection.ShapeRange.Fill.ForeColor.SchemeColor = 15 Selection.ShapeRange.Fill.Transparency = 0# Selection.ShapeRange.Line.Weight = 0.75 Selection.ShapeRange.Line.DashStyle = msoLineSolid Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0) Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255) Range("C3").Select End Sub
[/vba]
Цитата (Serge_007 )
В 2010?!
Неааа. Даже в 2007, где рекордер совсем кривой. Вот из-под топора в 2010 [vba]Код
Sub Макрос6() ' Макрос6 Макрос Range("C3").AddComment Range("C3").Comment.Visible = True Range("C3").Comment.Text Text:="OFIS:" & Chr(10) & "" Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.Solid Selection.ShapeRange.Fill.ForeColor.SchemeColor = 15 Selection.ShapeRange.Fill.Transparency = 0# Selection.ShapeRange.Line.Weight = 0.75 Selection.ShapeRange.Line.DashStyle = msoLineSolid Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0) Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255) Range("C3").Select End Sub
[/vba]RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение Цитата (Serge_007 )
В 2010?!
Неааа. Даже в 2007, где рекордер совсем кривой. Вот из-под топора в 2010 [vba]Код
Sub Макрос6() ' Макрос6 Макрос Range("C3").AddComment Range("C3").Comment.Visible = True Range("C3").Comment.Text Text:="OFIS:" & Chr(10) & "" Selection.ShapeRange.Fill.Visible = msoTrue Selection.ShapeRange.Fill.Solid Selection.ShapeRange.Fill.ForeColor.SchemeColor = 15 Selection.ShapeRange.Fill.Transparency = 0# Selection.ShapeRange.Line.Weight = 0.75 Selection.ShapeRange.Line.DashStyle = msoLineSolid Selection.ShapeRange.Line.Style = msoLineSingle Selection.ShapeRange.Line.Transparency = 0# Selection.ShapeRange.Line.Visible = msoTrue Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0) Selection.ShapeRange.Line.BackColor.RGB = RGB(255, 255, 255) Range("C3").Select End Sub
[/vba]Автор - RAN Дата добавления - 05.04.2013 в 14:52
AlexM
Дата: Пятница, 05.04.2013, 17:37 |
Сообщение № 31
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4491
Репутация:
1115
±
Замечаний:
0% ±
Excel 2003
2003 Макрорекордер то же самое пишет
2003 Макрорекордер то же самое пишет AlexM
Номер мобильного модема (без голосовой связи) 9269171249 МегаФон, Московский регион.
Ответить
Сообщение 2003 Макрорекордер то же самое пишет Автор - AlexM Дата добавления - 05.04.2013 в 17:37
Serge_007
Дата: Пятница, 05.04.2013, 20:37 |
Сообщение № 32
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Цитата (Serge_007 )
есть ли решение без цикла?
Судя по всему на этот вопрос ответ отрицательный, иначе хоть кто-нибудь да написал бы... Всем спасибо, ловите плюсы
Цитата (Serge_007 )
есть ли решение без цикла?
Судя по всему на этот вопрос ответ отрицательный, иначе хоть кто-нибудь да написал бы... Всем спасибо, ловите плюсы Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Цитата (Serge_007 )
есть ли решение без цикла?
Судя по всему на этот вопрос ответ отрицательный, иначе хоть кто-нибудь да написал бы... Всем спасибо, ловите плюсы Автор - Serge_007 Дата добавления - 05.04.2013 в 20:37
The_Prist
Дата: Пятница, 26.09.2014, 13:05 |
Сообщение № 33
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация:
22
±
Замечаний:
0% ±
2010
Ну уж ответим однозначно :-) без цикла нельзя вставить примечание в несколько ячеек. По сути-то и сам Excel это сделать не может. Даже если выделить несколько ячеек и нажать "Создать примечание" - оно будет создано только в активной ячейке(не путать с выделенной - даже в выделенных ячейках всегда есть только одна активная). И PasteSpecial внутренней реализацией делает все в цикле.
Ну уж ответим однозначно :-) без цикла нельзя вставить примечание в несколько ячеек. По сути-то и сам Excel это сделать не может. Даже если выделить несколько ячеек и нажать "Создать примечание" - оно будет создано только в активной ячейке(не путать с выделенной - даже в выделенных ячейках всегда есть только одна активная). И PasteSpecial внутренней реализацией делает все в цикле. The_Prist
Errare humanum est, stultum est in errore perseverare
Ответить
Сообщение Ну уж ответим однозначно :-) без цикла нельзя вставить примечание в несколько ячеек. По сути-то и сам Excel это сделать не может. Даже если выделить несколько ячеек и нажать "Создать примечание" - оно будет создано только в активной ячейке(не путать с выделенной - даже в выделенных ячейках всегда есть только одна активная). И PasteSpecial внутренней реализацией делает все в цикле. Автор - The_Prist Дата добавления - 26.09.2014 в 13:05
Serge_007
Дата: Суббота, 27.09.2014, 02:18 |
Сообщение № 34
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
и сам Excel это сделать не может
Но если копировать примечание из ячейки и вставлять в диапазон, то может PasteSpecial внутренней реализацией делает все в цикле
Ты точно знаешь? Есть где почитать источник этой информации? Я не нашел...
и сам Excel это сделать не может
Но если копировать примечание из ячейки и вставлять в диапазон, то может PasteSpecial внутренней реализацией делает все в цикле
Ты точно знаешь? Есть где почитать источник этой информации? Я не нашел...Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение и сам Excel это сделать не может
Но если копировать примечание из ячейки и вставлять в диапазон, то может PasteSpecial внутренней реализацией делает все в цикле
Ты точно знаешь? Есть где почитать источник этой информации? Я не нашел...Автор - Serge_007 Дата добавления - 27.09.2014 в 02:18
The_Prist
Дата: Суббота, 27.09.2014, 16:39 |
Сообщение № 35
Группа: Друзья
Ранг: Участник
Сообщений: 85
Репутация:
22
±
Замечаний:
0% ±
2010
Сергей, в С++ разбираешься? :-) В MSDN есть описание реализации различных методов и свойств, только все они реализованы кодами на С++, а не прописаны словами.
Сергей, в С++ разбираешься? :-) В MSDN есть описание реализации различных методов и свойств, только все они реализованы кодами на С++, а не прописаны словами. The_Prist
Errare humanum est, stultum est in errore perseverare
Ответить
Сообщение Сергей, в С++ разбираешься? :-) В MSDN есть описание реализации различных методов и свойств, только все они реализованы кодами на С++, а не прописаны словами. Автор - The_Prist Дата добавления - 27.09.2014 в 16:39
Serge_007
Дата: Понедельник, 29.09.2014, 00:19 |
Сообщение № 36
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация:
2749
±
Замечаний:
±
Excel 2016
Сергей, в С++ разбираешься?
Немного Ок, спасибо!
Сергей, в С++ разбираешься?
Немного Ок, спасибо!Serge_007
ЮMoney :41001419691823 | WMR :126292472390
Ответить
Сообщение Сергей, в С++ разбираешься?
Немного Ок, спасибо!Автор - Serge_007 Дата добавления - 29.09.2014 в 00:19