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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 03.10.2014, 12:17   #1
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию перемещение примечаний при удалении строк

Добрый день. У меня такой вопрос: можно ли сделать так, чтобы при удалении строк примечания к ячейкам оставались на том уровне, как они были до удаления?
Прилагаю файл. После удаления строк 8-28 примечания переместились вниз (Лист1_после_удаления_строк). Нужно, чтобы они остались на прежнем уровне, то есть возле ячеек, к которым они относятся (Лист1)
Вложения
Тип файла: zip примечания.zip (11.1 Кб, 6 просмотров)
Jaroslav вне форума Ответить с цитированием
Старый 03.10.2014, 13:36   #2
Сepreй
 
Регистрация: 29.09.2014
Сообщений: 8
По умолчанию

Выделяешь строки, которые нужно удалить, выполняешь макрос
Вложения
Тип файла: rar примечания.rar (13.4 Кб, 8 просмотров)
Сepreй вне форума Ответить с цитированием
Старый 03.10.2014, 14:01   #3
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Спасибо, Сергей. Но я не это имел в виду. Примечания должны перемещаться вместе с ячейкой, к которой они относятся. При этом вид примечаний должен быть таким, как был. Добавил еще один лист с примером того, как должно быть
Вложения
Тип файла: zip примечания_2.zip (11.9 Кб, 9 просмотров)
Jaroslav вне форума Ответить с цитированием
Старый 03.10.2014, 16:33   #4
Сepreй
 
Регистрация: 29.09.2014
Сообщений: 8
По умолчанию

Ну, теперь ясно. Поправил, удаляешь строки, выполняешь макрос
Вложения
Тип файла: rar примечания_2.rar (11.8 Кб, 25 просмотров)
Сepreй вне форума Ответить с цитированием
Старый 03.10.2014, 22:15   #5
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Спасибо, Сергей. Объясните, пожалуйста, как работают строки
Код:
Range(adr).Comment.Shape.Left = Range(adr).Left + Range(adr).Width + 20
Range(adr).Comment.Shape.Top = Range(adr).Top - 20
И почему Вы взяли 100 строк (параметр j) и 20 столбцов (параметр i) или это пример и я могу поставить любое количество строк и столбцов?

Последний раз редактировалось Jaroslav; 03.10.2014 в 22:56.
Jaroslav вне форума Ответить с цитированием
Старый 03.10.2014, 23:32   #6
Сepreй
 
Регистрация: 29.09.2014
Сообщений: 8
По умолчанию

Пользуйтесь, а строки - это привязка положения коментария к положению ячейки.
Расположение коментария от левого поля = расп. этой ячейки + ширина ячейки + 20 пикс. То же по высоте.

А строк и столбцов произвольно - под текущие потребности.
Сepreй вне форума Ответить с цитированием
Старый 04.10.2014, 11:57   #7
Jaroslav
Форумчанин
 
Регистрация: 08.06.2009
Сообщений: 179
По умолчанию

Спасибо за помощь
Jaroslav вне форума Ответить с цитированием
Старый 04.10.2014, 14:33   #8
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Чтоб не перебирать все ячейки и соответственно не корректировать количество строк:
Код:
Sub Коменты()
  Dim Com As Comment, R As Range, S As Shape
    Application.ScreenUpdating = False
    For Each Com In ActiveSheet.Comments    ' проход по всем комментам
        Set R = Com.Parent  ' ячейка
        Set S = Com.Shape
        S.Top = R.Top - 20
        S.Left = R.Left + R.Width + 20
    Next
    Application.ScreenUpdating = True
End Sub
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема при удалении директории. 4ygynOK Общие вопросы C/C++ 2 06.10.2013 23:37
Ошибка при удалении строк в Экселе reihtmonbern Общие вопросы Delphi 0 28.05.2012 04:12
Ошибка при удалении компонента Putin-mode Общие вопросы Delphi 18 24.01.2012 23:28
ошибка при удалении символа Virus191288 Общие вопросы Delphi 13 15.08.2009 14:50
Ошибка при удалении... JRcoker Общие вопросы Delphi 8 29.07.2008 22:53