Страницы: 1
RSS
Заметки (примечания) "убегают" в конец листа
 
Здравствуйте. Возможно ли решить проблему...
Заметка для ячейки создается нормально. Но когда я через какое-то время выделяю заметку для изменения, окошко заметки "убегает" иногда в конец листа. Также часть при просмотре заметки ее окошко сворачивается до линии. приходится каждый раз менять границы окошка.
 
Примечания?

См. файл
Макрос работает с примечаниями НА АКТИВНОМ ЛИСТЕ
Примечания выставляются возле ячеек-родителей.
Задается одинаковый размер примечаний.

Перед запуском макроса активным должен быть лист с "поехавшими" примечаниями

.Shape.Top, Shape.Left - расположение примечаний относительно ячейки-родителя Parent.Cells
.Shape.Height ,  .Shape.Width  - размеры примечаний
 
Цитата
vikttur написал:
Примечания?
Заметки!
В Формате ячейки есть отдельно "создать примечание" и "создать заметку"
для заметок макрос тоже подойдет?
 
Не знаю такого... В 2010 для ячейки можно создать примечание или сообщение в Проверке данных... Заметки - в новых Excel? Какая версия?

Макрос работает с объектами Comment. Будет и с другим работать, если в коде заменить тип объекта и этот объект имеет такие же свойства
 
Цитата
Ирина Воробьева написал:
В Формате ячейки есть отдельно
А можно это в "Формате ячейки " увидеть на скрине?
 
Цитата
Ирина Воробьева написал:
Заметки!
в новых версиях так именно примечания называются :) Так что используйте макрос без проблем.
А комментарии это теперь уже другое. И они не могут убежать никуда.
Изменено: Дмитрий(The_Prist) Щербаков - 20.11.2020 15:08:36
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Цитата
Дмитрий(The_Prist) Щербаков написал:
в новых версиях так именно примечания называются
Дим, привет! Но автор утверждает, что
Цитата
Ирина Воробьева написал:
есть отдельно "создать примечание" и "создать заметку"
И не пойму, причём тут пункт меню "Формат ячейки" :)
 
извините за качество
 
Цитата
vikttur написал: См. файл
открыла файл, но на странице только инструкция.
 
Цитата
Ирина Воробьева написал: на странице только инструкция.
Ну да, макрос же надо запустить, когда будет активным нужный лист,
Нажать Alt+F8, выделить в появившемся окне в списке макрос SizeAndFixComments, нажать Выполнить
 
Вроде бы получилось!
Я правильно понимаю: макрос нужно запустить на всех нужных листах отдельно?
А при последующем открытии книги он будет продолжать работать?
 
Нет, это разовое исправление.
Разместите макрос в личной книге макросов, тогда можно запускать без открытия отдельной книги.
 
Спасибо большое за помощь!
 
Хотелось бы причину узнать! Почему примечания убегают от ячейки и самопроизвольно меняют размер? Мы используем общий доступ. Может ли влиять сортировка?
 
Если примечание к ячейке открыто, то его можно легко перетащить в другое место листа. Так же меняется и размер.
Изменено: sokol92 - 26.05.2022 21:20:35
Владимир
 
Цитата
Ольга Соколова написал:
Почему примечания убегают от ячейки и самопроизвольно меняют размер?
часто это наблюдается там, где есть закрепление строк, используется сортировка/фильтрация таблицы с примечаниями. Так же добавление и удаление строк/столбцов может на это влиять.
А в общем доступе все это можно смело умножить на 10, т.к. там не самый совершенный алгоритм запоминания фильтров каждого отдельного пользователя.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Как отредактировать макрос, чтобы применялся не ко всему листу, а только к выделенным ячейкам (с примечаниями) ?
 
Цитата
rybacot написал: ... только к выделенным ячейкам ...
Например так:
Код
Sub FixComments()
  Dim Rng As Range, Cell As Range
  On Error Resume Next
  Set Rng = Selection.SpecialCells(xlCellTypeComments)
  If Rng Is Nothing Then
    If ActiveSheet.ProtectContents Then
      MsgBox "Сначала снимите защиту листа", vbExclamation, "FixComments"
    Else
      MsgBox "Нет примечаний в выделенном диапазоне", vbExclamation, "FixComments"
    End If
    Exit Sub
  End If
  On Error GoTo exit_
  For Each Cell In Rng
    With Cell.Comment.Shape
      .Top = Cell.Top - 10
      .Left = Cell.Left + Cell.Width + 10
      .Height = 50
      .Width = 110
    End With
  Next
  MsgBox "Исправлено примечаний: " & Rng.Cells.Count, vbInformation, "FixComments"
exit_:
  If Err Then MsgBox Err.Description, vbCritical, "FixComments"
End Sub

Здесь, как и в коде Виктора, для упрощения ширина и высота примечаний задаются фиксированными.
Правильнее эти параметры вычислять и задавать индивидуально, учитывая ещё и масштаб (zoom) листа, но это посложнее.
Изменено: ZVI - 06.03.2024 21:16:03 (Учтена защита листа)
 
ZVI, благодарю, все работает
 
Цитата
rybacot написал: ZVI, благодарю, все работает
Рад, что помогло
Страницы: 1
Наверх