Макросы в Excel это просто  
Всё об Excel

+В закладки

Обучение Excel

Макросы в Excel

Программирование в Excel

Как в Excel ...?

Об Авторе

Карта сайта

Простой способ создать таблицу в Excel

Горячие клавиши, которые я использую в Excel

Как посчитать сумму в Excel

Показываю, как создать раскрывающийся список в Excel

Создадим раскрывающийся список Excel

Строим графики и диаграммы в Excel

Как быстро добавить строку или столбец в таблицу

Как изменить размер ячейки в Excel (4 способа)

Создаём полезный макрос в Excel

Макросы в Excel это просто

Строим график в Excel

Что такое Excel

Краткая сводка по любимому Excel

Ставим нумерацию листов (страниц) в Excel

Чем открыть dbf

Как построить график в Excel

Прибиваем шапку таблицы в Excel

Ссылки в Excel

Ставим пароли для защиты данных

Будем учиться программировать в Excel

Отвечаем на вопрос читателя

Ускоряем наши макросы в Excel

Объединяем ячейки в Excel

Xls файлы, чем открывать

Как можно создавать таблицы

Что такое dbf

Как в Excel создать книгу доходов и расходов



Эффективные приёмы написания макросов

Недавно я выполнял задание по контрольной работе, в котором от меня требовалось следующее: «В Excel  автоматизировать расчет, построить таблицы значений функции и графика. Построение начинается по нажатию на кнопку». Была задана функция y = 4 * (i + 2) ^ (2 / 3), начальная и конечная координаты, а также шаг расчёта. Как это должно выглядеть, я представил довольно быстро.

Также быстро у меня созрел алгоритм реализации поставленной задачи.

Но как с помощью VBA инициализировать и добавить диаграмму, я на том момент не знал.

Поэтому, чтобы понять, как вставить диаграмму в рабочий лист с помощью макроса, я взял и записал такой макрос. То есть во вкладке «Вид» нашёл «Макросы» и выбрал «Запись макроса». После чего добавил на рабочий лист диаграмму, также выбрал диапазон данных для диаграммы, в общем, получил следующий код:

Sub Макрос1()

ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlXYScatterSmoothNoMarkers

ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).Name = "=""y"""

ActiveChart.SeriesCollection(1).XValues = "=Лист1!$A$1:$A$8"

ActiveChart.SeriesCollection(1).Values = "=Лист1!$B$1:$B$8"

End Sub

Здесь, видно, что строчко «ActiveSheet.Shapes.AddChart.Select» непосредственно добавляет график, следующая строка «ActiveChart.ChartType = xlXYScatterSmoothNoMarkers» определяет его тип. «ActiveChart.SeriesCollection.NewSeries» - добавление нового диапазона данных («Ряда»).

Строка «ActiveChart.SeriesCollection(1).Name = "=""y"""» определяет название графика на диаграмме, а строки «ActiveChart.SeriesCollection(1).XValues = "=Лист1!$A$1:$A$8", ActiveChart.SeriesCollection(1).Values = "=Лист1!$B$1:$B$8"» - это диапазоны значений «x» и «y».

На листе же мы получили ничем неприметную диаграмму.

 

Теперь зная, какая строчка для чего предназначена, легко изменить их и настроить под свои нужды.

Но прежде создадим заготовку для нашего макроса, а именно добавим кнопку (вкладка «Разработчик») и запишем исходные данные для расчётов.

Хорошо. Далее набираем код макроса.

Sub Кнопка1_Щелчок()

Columns("C:D").ClearContents

x1 = Cells(1, 2).Value

x2 = Cells(2, 2).Value

shag = Cells(3, 2).Value

j = 1

For i = x1 To x2 Step shag

y = 4 * (i + 2) ^ (2 / 3)

Cells(j, 3).Value = i

Cells(j, 4).Value = y

j = j + 1

Next

Cells(1, 10).Select

ActiveSheet.Shapes.AddChart.Select

ActiveChart.ChartType = xlXYScatterSmoothNoMarkers

ActiveChart.SeriesCollection.NewSeries

ActiveChart.SeriesCollection(1).Name = "=""График функции"""

ActiveChart.SeriesCollection(1).XValues = Range("C" & 1, "C" & j)

ActiveChart.SeriesCollection(1).Values = Range("D" & 1, "D" & j)

End Sub

Поясним некоторые моменты кода.

«Columns("C:D").ClearContents» - очистим диапазон, перед тем как туда что-то записывать.

«Cells(1, 10).Select» - заплатка, без неё может некорректно отображаться график.

Цикл «For» выполняется пока «i» не станет равная конечному значению «x2».

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

Осталось только нажать на кнопку и посмотреть результаты.

У нас всё работает, значит, мы всё сделали верно. Таким образом, мы изучили успешный приём написания макроса, вспомнили как добавлять диаграмму, разобрались как назначать макрос кнопке.

© 2012 - 2017 Всё об Excel
Яндекс.Метрика