Макрос умножения столбца или строки на коэффициент в одно действие.

Создание простого макроса для перемножения столбца на заданный коэффициент.

Ранее уже публиковалась статья о том, как перемножить столбец на число:

Умножение столбцов таблицы Excel на выбранное число.

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

Ниже описано, как при помощи макроса можно перемножить выделенные ячейки на фиксированное число  в один клик.

Рассмотрим создание макроса.

Макрос будет состоять из 3 частей:


  • Создание формы для ввода данных (коэффициента);
  • Вызов окна для ввода числа;
  • Макрос перемножения при нажатии кнопки в окне.

Первая часть: Вызов окна ввода коэффициента.

Для начала следует создать окно, которое будет появляется при запуске макроса.

Создается окно в панели разработчик:

  • Следует нажать кнопку «Просмотр кода»;Разработчик
  • Кликнуть по названию книги правой кнопкой мыши;
  • Выбрать Insert => UserFormВставить UserForm
  • Когда появится форма, ее можно переименовать в поле (Name). Например: назвать «Okno»имя userform окно
  • На UserForm нужно добавить два элемента поле для ввода числа (коэффициента) и кнопку с надписью «Рассчитать»;
  • Поле для ввода добавляется при помощи элемента «TextBox». Надпись с пояснением можно добавить в окно Textbox при помощи поля Text в настройках.UserForm1 отображение
  • Кнопка добавляется при помощи элемента CommandButtom . Надпись «Рассчитать» добавляется в поле настроек «Caption».
  • Двойным кликом по кнопке в режиме конструктора можно перейти в поле модуля для написания макроса расчета значений.

Второй этап:  вызов формы для ввода коэффициента.

Sub Перемножение() ‘название макроса

Okno.Show  ‘ вызов формы

End Sub

Третий этап: макрос для кнопки «Рассчитать».

На кнопку «Рассчитать» записывается макрос:

Private Sub CommandButton1_Click()

If IsNumeric(TextBox1.Value) = False Then

MsgBox «Неверный коэффициент. Введите число»

Else

 

For Each cell In Selection

cell.Value = cell.Value * TextBox1.Value

Next

End If

Okno.Hide

End Sub

,где  If IsNumeric(TextBox1.Value) = False – проверяет чтобы введенный коэффициент был числом;

MsgBox «Неверный коэффициент. Введите число» – выводит сообщение об ошибке ввода,

For Each cell In Selection – цикл перебирает все ячейки из выделенного диапазона;

cell.Value = cell.Value * TextBox1.Value – перемножает каждую ячейку на коэффициент (введенное число);

Okno.Hide – закрывает форму для заполнения.

Принцип работы макроса: После запуска макроса, появляется форма для внесения нужного коэффициента, на который перемножается диапазон.  В форму вносится число для перемножения и нажимается кнопка «Рассчитать». Макрос «привязанный» к кнопке, меняет значения в ячейка на перемноженные данные.

Приведенный макрос перемножает значения как в вертикальном направлении (столбцы), так и в горизонтальном (строки).

Если у Вас нет времени на написание макроса или  что-то не получается Вы можете скачать его вместе с нашей надстройкой по ссылке: http://ruexcel.ru/product/pack1/

Видео с принципом работы макроса:

 

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

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