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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2014, 20:21   #1
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
Смущение Вставка примечания в ячейку(циклирование RANGE) + условие

Добрый вечер!

Нужна консультация специалиста.

Во вложении файл. Нужно вставлять примечания в ячейки согласно значению из другой, пользовался этим:

PHP код:
Range("A1").NoteText Text:=Range("B1"
Но ячеек в Range("A:A") - всегда разное количество и писать код для каждой ячейки и ссылать ее на ячейку из Range("B:B") - откровенно несерьезно.

В итоге нужно чтобы макрос циклом шел с начала Range("A1") и брал значения Range("B1") соответственно, наглядно видно в примере, в конце данных(пустой ячейки) - останавливался.
И еще если не сложно прописать в коде IF для того чтобы он нули не вставлял в примечание, а только целые числа.

Спасибо всем!

Последний раз редактировалось Евгений Таб; 08.04.2014 в 20:23.
Евгений Таб вне форума Ответить с цитированием
Старый 08.04.2014, 20:22   #2
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Вот сам примерчик.
Вложения
Тип файла: rar ПРИМЕР643.rar (8.6 Кб, 10 просмотров)
Евгений Таб вне форума Ответить с цитированием
Старый 08.04.2014, 21:12   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Код:
Sub Eugene()
Dim c As Range
Columns(1).ClearComments
For Each c In Range("A2", Cells(Rows.Count, "A").End(xlUp))
  If c.Offset(, 1) <> 0 Then c.NoteText c.Offset(, 1)
Next
End Sub
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 08.04.2014, 21:24   #4
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Казанский, все верно! Гениально, спасибо!
Евгений Таб вне форума Ответить с цитированием
Старый 09.04.2014, 08:02   #5
Евгений Таб
Форумчанин
 
Аватар для Евгений Таб
 
Регистрация: 09.08.2013
Сообщений: 202
По умолчанию

Еще бы прикрутить константу, которая бы устанавливала размер примечаний(единый для всех).....
Евгений Таб вне форума Ответить с цитированием
Старый 09.04.2014, 10:21   #6
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Можно так:
Код:
Sub Eugene()
    Dim c As Range
    Columns(1).ClearComments
    For Each c In Range("A2", Cells(Rows.Count, "A").End(xlUp))
        If c.Offset(, 1) <> 0 Then
            c.NoteText c.Offset(, 1)
            c.Comment.Shape.Width = 30
            c.Comment.Shape.Height = 15
        End If
    Next
End Sub
Вместо констант 30 и 15 подставьте требуемые.
Если требуется подгонять размер области примечаний по тексту, то вместо
Код:
c.Comment.Shape.Width = 30
c.Comment.Shape.Height = 15
используйте
Код:
c.Comment.Shape.TextFrame.AutoSize = True
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка данных в ячейку Lvenok1987 Microsoft Office Excel 3 08.02.2011 12:25
Добавлений примечания в выделенную ячейку bud-dy Microsoft Office Excel 2 11.02.2010 16:16
Как Переход в ячейку через двойное условие? Talisman Microsoft Office Excel 11 21.11.2009 15:32
вставка формулы в ячейку (vba) pride Microsoft Office Excel 5 13.07.2009 09:26
Вставка в одну ячейку ivkoa Microsoft Office Excel 9 22.08.2008 14:16