Как настроить форму пользователя в Excel, используя VBA

Добавление пользовательской формы на лист Excel может добавить в приложение множество функций. Например, вы можете использовать форму ввода данных, где вы можете программно проверять ошибки и проверять их.

Однако иногда стандартное позиционирование неудобно и скрывает данные на листе, и вы должны переместить форму перед ее использованием.

В этой статье объясняется, как задать форму, используя несколько строк кода VBA.

Настройка формы пользователя Начало позиции

Во-первых, вы должны установить начальную позицию «вручную», что вы можете сделать в окне свойств формы.

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

Наш код определит ширину текущей области данных и разместит форму с правой стороны таблицы и чуть ниже верхней части экрана.

Сначала выберите область данных:

set r = activeCell.currentRegion

Мы можем получить ширину таблицы данных, но нам нужно рассмотреть кадр рабочего листа.

fromLeft = r.Width + Application.Width - ActiveWindow.UsableWidth

myForm.left = fromLeft +20

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

Мы установим форму чуть ниже верхней части экрана, чтобы она не находилась на панелях инструментов, которые могут понадобиться.

fromTop = Application.Height - ActiveWindow.UsableHeight

myForm.top = fromTop

Одна из проблем может заключаться в том, что после добавления данных на лист форма может быть снова прервана. Чтобы решить эту проблему, вы можете добавить кнопку обновления, которая при необходимости изменяет положение формы на основе приведенного выше кода.

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

резюме

Благодаря всего лишь нескольким строкам кода VBA мы смогли изменить положение формы, чтобы упростить ее использование. Расширяя библиотеку фрагментов кода, вы можете обнаружить, что существует множество способов использования VBA для повышения эффективности и производительности использования Excel.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *