Был на всех форумах и не сильно удачился с моей проблемой. Я хочу создать пользовательскую панель кнопок, используя формы, а затем закрепить ее в нижней части Excel. Это сложно, потому что у каждого пользователя свой монитор и разрешение экрана. После некоторого исследования кажется, что я могу использовать application.height и object.top, чтобы найти панель кнопок. Проблема в том, что когда я прокручиваю страницу вверх и вниз, мне нужно запустить макрос при прокрутке. Это вообще возможно?

1 ответ1

1

Я не могу придумать способ сделать это с помощью фигур, но вы можете добавить пользовательскую форму в свой проект, а затем добавить нужные кнопки / метки / изображения в форму. По умолчанию форма запускается отдельно от листов Excel, поэтому на нее не влияет прокрутка, но она остается в верхней части окна Excel.

Чтобы добавить форму, откройте окно кода, щелкните правой кнопкой мыши свой проект VBAP и выберите Вставить ... => Пользовательская форма. Вы можете использовать Application.Width , Application.Height , Application.Top и Application.Left определить, где на экране у пользователя есть окно Excel, а затем использовать UserForm1.Width и т.д., Чтобы переместить форму по мере необходимости, чтобы сохранить ее там, где вы хотите (замените UserForm1 на то, что вы называете объектом формы).

Вы можете открыть форму в определенном месте на экране, но пользователи могут перемещать ее (раньше я не пытался заблокировать позицию формы). Вам нужно будет определить, какие события отслеживать, чтобы изменить положение формы, если вы того пожелаете. Просто помните, что мониторинг слишком много или слишком часто приведет к снижению общей производительности ваших пользователей.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .