Здравствуйте! Помогите решить проблему. У меня есть таблица с типоразмерами зданий. К ячейке с типоразмером прикрепляется примечание с планом в виде рисунка. Примечание в свою очередь всегда плотно прикрепляется к ячейке. Так как картинки с планами всегда довольно большие по размеру, то примечания занимают значительную часть экрана. Проблема возникает когда нужная ячейка находится в нижней половине экрана. В таком случае примечание с картинкой будет обрезано экраном.
Мне же нужно чтобы картинка всегда показывалась в определенном месте, например в правой части экрана.
Здравствуйте! Помогите решить проблему. У меня есть таблица с типоразмерами зданий. К ячейке с типоразмером прикрепляется примечание с планом в виде рисунка. Примечание в свою очередь всегда плотно прикрепляется к ячейке. Так как картинки с планами всегда довольно большие по размеру, то примечания занимают значительную часть экрана. Проблема возникает когда нужная ячейка находится в нижней половине экрана. В таком случае примечание с картинкой будет обрезано экраном.
Мне же нужно чтобы картинка всегда показывалась в определенном месте, например в правой части экрана. masslay
вот такой обходной вариант. нужно настроить эксель,чтобы не появлялись комментарии при наведении курсора на ячейку: Файл--> Параметры -->Дополенительно-->Экран-->*Для ячеек с примечаниями показывать: ничего*. в прикрепленном файле кликайте два раза по ячейке,в которой есть примечание, -будет появляться примечание. Если кликнуть снова два раза - примечание исчезнет.
вот такой обходной вариант. нужно настроить эксель,чтобы не появлялись комментарии при наведении курсора на ячейку: Файл--> Параметры -->Дополенительно-->Экран-->*Для ячеек с примечаниями показывать: ничего*. в прикрепленном файле кликайте два раза по ячейке,в которой есть примечание, -будет появляться примечание. Если кликнуть снова два раза - примечание исчезнет.Karataev
Karataev, решение интересное, но все-таки хотелось бы знать в какой ячейке есть примечание. Отсутствующие индикаторы в данном примере немного убивают всю идею. Дело в том, что с файлом будут работать много людей и у каждого нужно будет в настройках отключить примечания и еще объяснять где скрыты картинки и как их открыть. Нужно другое решение.
Karataev, решение интересное, но все-таки хотелось бы знать в какой ячейке есть примечание. Отсутствующие индикаторы в данном примере немного убивают всю идею. Дело в том, что с файлом будут работать много людей и у каждого нужно будет в настройках отключить примечания и еще объяснять где скрыты картинки и как их открыть. Нужно другое решение.masslay
Отсутствующие индикаторы в данном примере немного убивают всю идею.
заместо индикаторов можно использовать: 1)заливку ячеек 2) границы ячеек. то есть вы встваляете в ячейку примечание,а затем вручную изменяете или заливку или границу ячейки(что вам больше понравится)
и у каждого нужно будет в настройках отключить примечания
макрос может отключать эти настройки. Но нужно помнить, что индикаторы отключатся для всех книг. Поэтому наверное нужно дополнить макрос, чтобы он включал индикаторы после закрытия этой книги.
Отсутствующие индикаторы в данном примере немного убивают всю идею.
заместо индикаторов можно использовать: 1)заливку ячеек 2) границы ячеек. то есть вы встваляете в ячейку примечание,а затем вручную изменяете или заливку или границу ячейки(что вам больше понравится)
и у каждого нужно будет в настройках отключить примечания
макрос может отключать эти настройки. Но нужно помнить, что индикаторы отключатся для всех книг. Поэтому наверное нужно дополнить макрос, чтобы он включал индикаторы после закрытия этой книги.Karataev
Может так подойдёт, ставите маркер в ячейку с примечанием и запускаете макрос [vba]
Код
Private RowC As Long Private ClnC As Long
Sub test()
If RowC > 0 Then Call hideComm(RowC, ClnC) If ActiveCell.Comment Is Nothing Then Exit Sub ActiveCell.Comment.Shape.Top = 2 ActiveCell.Comment.Visible = True
RowC = ActiveCell.row ClnC = ActiveCell.Column
End Sub
Private Sub hideComm(row As Long, colon As Long)
Cells(row, colon).Comment.Visible = 0 End Sub
[/vba]
[p.s.]не требует изменения настроек
Может так подойдёт, ставите маркер в ячейку с примечанием и запускаете макрос [vba]
Код
Private RowC As Long Private ClnC As Long
Sub test()
If RowC > 0 Then Call hideComm(RowC, ClnC) If ActiveCell.Comment Is Nothing Then Exit Sub ActiveCell.Comment.Shape.Top = 2 ActiveCell.Comment.Visible = True
masslay, Я плохо разбираюсь, но койчто подходящее для Вас нашёл на данном рессурсе: http://www.mrexcel.com/forum....on.html Прикрепил файлик, где в Модуль Книги уже закинул код и чутка отредактировал под Вин64. Если у Вас Вин 32, берите код из статьи. Сам пока ничерта в коде почти не пойму, тоже буду разбираться, довольно интересная фикня)
masslay, Я плохо разбираюсь, но койчто подходящее для Вас нашёл на данном рессурсе: http://www.mrexcel.com/forum....on.html Прикрепил файлик, где в Модуль Книги уже закинул код и чутка отредактировал под Вин64. Если у Вас Вин 32, берите код из статьи. Сам пока ничерта в коде почти не пойму, тоже буду разбираться, довольно интересная фикня)Roman777
Сам сделал ток такой код, но он работает только с видимыми примечаниями...( И надо переместить (например, первое примечание в нужную позици). Макрос остальные примечания воткнёт в ту же позицию. Но на экране не зафиксирует. [vba]
Код
Sub Причечание_() Dim Shape1 As Shape Dim ActWS As Worksheet Dim L As String, L1 As String Dim H As String, H1 As String Set ActWS = ActiveSheet For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row If Cells(i, 2).Comment Is Nothing = False Then ActWS.Cells(i, 2).Comment.Visible = True End If Next i For Each Shape1 In ActWS.Shapes Shape1.Select If H = "" And L = "" Then L = Selection.ShapeRange.Left H = Selection.ShapeRange.Top End If L1 = Selection.ShapeRange.Left H1 = Selection.ShapeRange.Top
[/vba] Но я сам понимаю ,что Вам совсем не это нужно).
Сам сделал ток такой код, но он работает только с видимыми примечаниями...( И надо переместить (например, первое примечание в нужную позици). Макрос остальные примечания воткнёт в ту же позицию. Но на экране не зафиксирует. [vba]
Код
Sub Причечание_() Dim Shape1 As Shape Dim ActWS As Worksheet Dim L As String, L1 As String Dim H As String, H1 As String Set ActWS = ActiveSheet For i = 1 To Cells(Rows.Count, 2).End(xlUp).Row If Cells(i, 2).Comment Is Nothing = False Then ActWS.Cells(i, 2).Comment.Visible = True End If Next i For Each Shape1 In ActWS.Shapes Shape1.Select If H = "" And L = "" Then L = Selection.ShapeRange.Left H = Selection.ShapeRange.Top End If L1 = Selection.ShapeRange.Left H1 = Selection.ShapeRange.Top
Да, это не совсем то. Хм. Где-то на том же mrexcel.com я вычитал, что не получается сделать так, чтобы при наведении на ячейку с примечанием, окошко отображалось где-то в другом месте, кроме стандартного. Поэтому, всем спасибо, попробую использовать другие методы.
Да, это не совсем то. Хм. Где-то на том же mrexcel.com я вычитал, что не получается сделать так, чтобы при наведении на ячейку с примечанием, окошко отображалось где-то в другом месте, кроме стандартного. Поэтому, всем спасибо, попробую использовать другие методы.masslay
чтобы при наведении на ячейку с примечанием, окошко отображалось где-то в другом месте, кроме стандартного
. По крайней мере у меня именно так отображается...) В коде задаёшь расстояние... картинка будет появляться вверху экрана на заданное расстояние сдвинуто вправо...) Так что, благодаря коду Jaafar Tribak, вполне можно выполнить то, что Вы хотели. Единственное, не знаю почему, но макрос перестаёт работать после смены масштаба в экселе. Пока не перезайдёте.
masslay, в Сообщение № 7. Я какраз-таки скинул ссылку на
чтобы при наведении на ячейку с примечанием, окошко отображалось где-то в другом месте, кроме стандартного
. По крайней мере у меня именно так отображается...) В коде задаёшь расстояние... картинка будет появляться вверху экрана на заданное расстояние сдвинуто вправо...) Так что, благодаря коду Jaafar Tribak, вполне можно выполнить то, что Вы хотели. Единственное, не знаю почему, но макрос перестаёт работать после смены масштаба в экселе. Пока не перезайдёте.Roman777
Много чего не знаю!!!!
Сообщение отредактировал Roman777 - Понедельник, 03.08.2015, 15:00