Таблица умножения в Excel на VBA
Как это часто бывает, одно и тоже действие в Microsoft Excel можно выполнить разными способами. Взять, хотя бы, таблицу умножения. Построить ее мы можем, во-первых, путем ввода соответствующих формул на пересечении заголовков строк и столбцов. Причем, чтобы не вводить формулу умножения в каждую ячейку таблицы, можно это сделать один раз, с использованием абсолютных и относительных ссылок. Например, формула в ячейке В2 будет выглядеть так: =$А2*В$1. После этого можно растянуть указанную формулу за правый нижний угол на всю таблицу. Рассмотренный пример предполагал, что в колонке А у нас содержатся числа (множители) — заголовки таблицы умножения. Аналогичные множители содержатся в первой строке нашей таблицы, как показано на рисунке ниже.
А вот какой результат мы получаем, если растянем нашу формулу на весь диапазон данных.
Знак «$» в формуле =$А2*В$1 означает, что данную координату ячейки мы фиксируем, то есть она не будет изменяться при растягивании формулы на весь диапазон. Такая координата ячейки называется абсолютной.
Сейчас же мы рассмотрим учебный пример построения таблицы умножения на рабочем листе Microsoft Excel с применением элементов программирования на Visual Basic for Applications.
Пользователь изначально задает на рабочем листе заголовки строк и столбцов будущей таблицы умножения (числа, которые будут перемножаться между собой), как показано на первом рисунке выше. Причем, их количество может быть произвольным. Затем запускается макрос VBA, который рассчитывает результат умножения для всех возможных пар множителей, заполняя при этом таблицу.
Итак, для построения таблицы умножения в Excel с помощью языка программирования Visual Basic for Applications (VBA) смотрите наш видеоурок.
Поскольку число строк и столбцов таблицы умножения может быть произвольным и не известно заранее в программе, для заполнения ее расчетных значений используется цикл DO…LOOP. Эта конструкция позволяет обрабатывать произвольное число строк и столбцов, пока мы не дойдем до края таблицы, то есть, пока не выполнится определенное условие.
Как сообщалось на нашем сайте ранее, с помощью VBA вы можете реализовать любой алгоритм, например, поиск минимального элемента массива.
Популярные сообщения из этого блога
Куда пропал редактор формул Microsoft Equation?
Работая в Microsoft Word , мне часто приходится набирать формулы. На протяжении многих лет, для этих целей я использовал встроенный в Word редактор формул Microsoft Equation . И даже, когда Microsoft добавил в свой Office новый инструмент » Формулы «, я все равно, по привычке, продолжал использовать Microsoft Equation . Для работы я использую два разных ноутбука с абсолютно одинаковым софтом. Microsoft Office 2010 у меня устанавливался на обоих компьютерах с одного дистрибутива. Каково же было мое удивление, когда однажды, открыв созданный ранее документ Word на втором ноутбуке, я не смог войти в режим редактирования формулы! То есть, документ открылся без проблем и все набранные ранее формулы отобразились корректно. Но когда мне понадобилось одну из них отредактировать, то оказалось, что Word этого сделать не может по причине отсутствия Microsoft Equation .
Что делать, если копируемый из Интернета текст не выравнивается по ширине
Каждый когда-либо сталкивался с ситуацией, когда скопированный из Интернета и вставленный в Word текст не удается выровнять по ширине: по левому краю выравнивает, по правому — тоже, а вот по ширине — ни в какую. Еще хуже обстоят дела, если вы захотите увеличить размер шрифта: выравнивание текста окончательно откажется работать. Разбираемся в причинах и ищем способ, как это исправить.
Как отсортировать сотрудников по дням рождения в Excel
Актуальная задача для любого коллектива — не пропустить день рождения каждого сотрудника. Стандартная сортировка списка сотрудников в Excel по дате их рождения не решает поставленной задачи, поскольку такая сортировка выстраивает их в хронологическом порядке, с учетом не только дня и месяца, но и года рождения. В результате такой сортировки мы будем видеть, кто из сотрудников старше или моложе. А вот, чтобы сказать, у кого скоро будет день рождения — для этого придется вручную просматривать от начала до конца весь список, что неудобно.
0 / 0 / 0 Регистрация: 17.09.2022 Сообщений: 26 |
|
1 |
|
Таблица умножения17.09.2022, 11:46. Показов 833. Ответов 6
Задание: Напишите программу, которая будет выводить таблицу умножения. Добавлено через 2 минуты
0 |
Тим70 538 / 412 / 128 Регистрация: 27.01.2019 Сообщений: 1,044 |
||||
17.09.2022, 14:11 |
2 |
|||
Judie dkkd, Вот простая таблица,с Exel не работал.
0 |
538 / 412 / 128 Регистрация: 27.01.2019 Сообщений: 1,044 |
|
17.09.2022, 14:15 |
3 |
вот такая Миниатюры
0 |
aSeSja 2 / 2 / 0 Регистрация: 05.09.2021 Сообщений: 5 |
||||
17.09.2022, 21:05 |
4 |
|||
Нужно вставить код в модуль Excel и запустить
2 |
Тим70 538 / 412 / 128 Регистрация: 27.01.2019 Сообщений: 1,044 |
||||||||
18.09.2022, 20:23 |
5 |
|||||||
Judie dkkd, Покопался в интернете и получился рабочий код
Только сначала создайте файл «C:2.xlsx» Добавлено через 52 минуты
0 |
bite 3699 / 3131 / 694 Регистрация: 13.04.2015 Сообщений: 7,323 |
|
18.09.2022, 21:03 |
6 |
Set oExcel = CreateObject(«Excel.Application») Ну он же в Эксель просил.
0 |
I can bite 3699 / 3131 / 694 Регистрация: 13.04.2015 Сообщений: 7,323 |
||||
18.09.2022, 21:08 |
7 |
|||
Сообщение было отмечено Catstail как решение РешениеВот так, и нечего тут мудрить:
Результат:
3 |
IT_Exp Эксперт 87844 / 49110 / 22898 Регистрация: 17.06.2006 Сообщений: 92,604 |
18.09.2022, 21:08 |
7 |
'Option Explicit Sub Multiplication_Table() 'Буквы разные писать тонким перышком в тетрадь 'Учат в школе, учат в школе, учат в школе. 'Вычитать и умножать, малышей не обижать 'Учат в школе, учат в школе, учат в школе. Const m = 9 For i = 1 To m Cells(2, i) = i Cells(i + 1, 1) = i Next For i = 1 To m: For j = 1 To m Cells(i + 1, j) = i * j Next j, i With Range(Cells(2, 1), Cells(1 + m, m)) .Interior.ColorIndex = 37 For xl = 7 To 12: .Borders(xl).LineStyle = xlContinuous: Next .HorizontalAlignment = xlCenter End With With Range(Cells(3, 2), Cells(1 + m, m)) .Interior.ColorIndex = 35 End With With Range(Cells(1, 1), Cells(1, m)) .Merge .Value = "Таблица умножения" .Interior.ColorIndex = 6 For xl = 7 To 10: .Borders(xl).LineStyle = xlContinuous: Next .HorizontalAlignment = xlCenter End With End Sub
Таблица умножения
Пример 1. Написать на Visual Basic программу расчета таблицы умножения
На рабочем листе Excel пользователь задает структуру желаемой таблицы умножения (формирует заголовки строк и столбцов, выделенных желтым цветом), как показано на рисунке ниже. По нажатию на кнопку «Рассчитать» происходит автозаполнение таблицы умножения.
Количество строк и столбцов таблицы умножения заранее не известно и может быть произвольным. Последовательность чисел в заголовках строк и столбцов (которые подлежат перемножению) также может быть произвольной.
Программа, заполняя таблицу умножения расчетными значениями, использует синтаксис:
Do while <условие>
…
Loop
Скачивание файла EXCEL с решением данной задачи возможно после оплаты в размере 49 руб. или 9 грн. путем перечисления указанной суммы с платежной карты. После совершения операции, вы увидите уведомление: «Оплата прошла успешно». Нажав кнопку «Вернуться на сайт», вы перейдете к окну со ссылкой на файл EXCEL. Нажимайте кнопку
в верхней части окна и скачивайте файл.
Пример 2. Написать на Visual Basic программу расчета таблицы умножения в любом случайно выбранном диапазоне ячеек
На рабочем листе Excel пользователь выделяет мышкой произвольный диапазон ячеек (на рисунке выбран диапазон B3:E16) и нажимает кнопку «Рассчитать«.
После этого выделенная область заполняется таблицей умножения. Первая колонка и первая строка выделенной области содержат числа, которые необходимо перемножить.
Скачивание файла EXCEL с решением данной задачи возможно после оплаты в размере 49 руб. или 9 грн. путем перечисления указанной суммы с платежной карты. После совершения операции, вы увидите уведомление: «Оплата прошла успешно». Нажав кнопку «Вернуться на сайт», вы перейдете к окну со ссылкой на файл EXCEL. Нажимайте кнопку
в верхней части окна и скачивайте файл.
Макрос. На листе составить таблицу умножения
-
s_kazak
- Сообщения:2
- Зарегистрирован:24 май 2009, 17:23
вот еще задание на ВБ:
Создать таблицу умножения; параметры:
размер таблицы, основание системы счисления.
помогите, кто может…очень надо! ;(((
-
EducatedFool
- Сообщения:196
- Зарегистрирован:06 апр 2008, 14:03
- Откуда:Россия, Урал
- Контактная информация:
26 май 2009, 20:16
Эта программа выведет Вам на листе Excel всю таблицу умножения натуральных чисел:
Код: Выделить всё
Sub [B]ТаблицаУмножения[/B]()
i = 2: Application.EnableCancelKey = xlDisabled: On Error Resume Next
Do
Cells(i, 1) = i: Cells(1, i) = i: For j = 2 To i: Cells(i, j) = i * j: Cells(j, i) = i * j: Next j
MsgBox i: i = i + 1
Loop
End Sub
Не забудьте распечатать таблицу, когда программа завершит свою работу.
Макросы для Excel, Word, CorelDRAW. Быстро, профессионально, недорого. http://ExcelVBA.ru/
Благодарности принимаются на кошелёк WebMoney: R318574877619 и Яндекс.Деньги: 41001335672216