Сделал учетную таблицу с несколькими листами На каждом листе есть закрепленная область Кнопки и рисунки под макросы соответственно вверху в закрепленной области чтоб не уходили при прокрутке
Вопрос такой - можно ли средствами Office сделать область для кнопок и рис под макросы чтоб она была по центру - не сдвигалась при прокрутке и редактировалась соответственно Пробовал создать Вставка - Надпись и в свойствах Не перемещать и не изменять размеры - все равно перемещается со скроллом на месте не стоит (думал в нее накидать кнопок макросов) Либо надстройки какие есть которые дополнительную панель могут создать куда можно рис и кнопки вставлять под макросы ? Полазил по интернету но внятного решения не нашел кроме ToolbarToggle но это сторонняя программа а хотелось средствами Office это сделать
форма в немодальном режиме - которая на открытие книги и не закрывается принудительно но как запустить в немодальном режиме и повесить на нее кнопки и рис макросов
вот что получилось с помощью функций - но далее надо доделывать панель которую таскать можно по экрану но это полдела пока надо чтоб при старте прилипала к левому углу открытого Excel-файла и перемещение было в рамках окна Excel а не по всему экрану картинки кнопки с макросами щас введу
вот так получилось вроде все устраивает + всплывающие подсказки есть+макросы к рис на клик привязаны
осталось только сделать так чтобы эта панель при старте позиционировалась в рамках открытого листа excel в левом верхнем углу независимо от разрешения экрана как задать привязку положения формы при старте к ячейке A:1 или другой способ какой есть
вот здесь описан макрос который привязывает форму к координатам ячейки по правому клику мыши
Код
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True
Dim b As CommandBar
dx = 0: dy = 0
For Each b In Application.CommandBars
If b.Visible Then
Select Case b.Position
Case msoBarLeft: dx = dx + b.Width
Case msoBarMenuBar, msoBarTop: dy = dy + b.Height
End Select
End If
Next
With Target.Application.ActiveWindow
UserForm1.Left = (Target.Left - .VisibleRange.Left) * .Zoom / 100 + .Application.Left + dx
UserForm1.Top = (Target.Top - .VisibleRange.Top) * .Zoom / 100 + .Application.Top + dy
UserForm1.Show
End With
End Sub
как его привязать к координатам A:1 на открытие листа макрос рабочий - в файле кликайте правой клавишей мыши по полю и форма будет туда смещаться