Vba excel таблица умножения

Таблица умножения в 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 минуты
как-то через exel это все нужно сделать



0



Тим70

538 / 412 / 128

Регистрация: 27.01.2019

Сообщений: 1,044

17.09.2022, 14:11

2

Judie dkkd, Вот простая таблица,с Exel не работал.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Option Explicit
 
Private Sub Command1_Click()
Dim A As Integer, B As Integer
Dim C As Integer, C1 As String
  For A = 1 To 9
    For B = 1 To 9
     C = A * B
     C1 = CStr(C)
       If C < 10 Then
         Print "    " & C1;
       Else
         Print "  " & C1;
       End If
    Next B
     Print
  Next A
End Sub



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 и запустить

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Option Explicit
Sub Tablica_umnogenia()
    Dim A As Integer, B As Integer
    Dim i As Integer, j As Integer
    j = 1
    For A = 1 To 9
        i = 1
        For B = 1 To 9
            ActiveWorkbook.ActiveSheet.Cells(i, j) = CStr(A) & "*" & CStr(B) & "=" & A * B
            i = i + 1
        Next B
        j = j + 1
    Next A
End Sub



2



Тим70

538 / 412 / 128

Регистрация: 27.01.2019

Сообщений: 1,044

18.09.2022, 20:23

5

Judie dkkd, Покопался в интернете и получился рабочий код

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Option Explicit
 
Private Sub Command1_Click()
Dim C As Integer, i As Integer, j As Integer
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
 
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Set oSheet = oBook.Worksheets(1)
 
  For i = 1 To 9
      For j = 1 To 9
        C = i * j
        oSheet.Cells(i, j) = C
      Next j
  Next i
oBook.SaveAs "C:2.xlsx"
oExcel.Quit
End Sub

Только сначала создайте файл «C:2.xlsx»

Добавлено через 52 минуты
Или так

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Command1_Click()
Dim C As Integer, i As Integer, j As Integer
Dim oExcel As Object
Dim oBook As Object
Dim oSheet As Object
 
Set oExcel = CreateObject("Excel.Application")
Set oBook = oExcel.Workbooks.Add
Set oSheet = oBook.Worksheets(1)
 
  For i = 1 To 9
      For j = 1 To 9
        C = i * j
        If i > 1 And j > 1 Then
            oSheet.Cells(i, j) = i & "*" & j & "=" & C
        Else
            oSheet.Cells(i, j) = C
        End If
    Next j
  Next i
oBook.SaveAs "C:2.xlsx"
oExcel.Quit
End Sub



0



bite

3699 / 3131 / 694

Регистрация: 13.04.2015

Сообщений: 7,323

18.09.2022, 21:03

6

Цитата
Сообщение от Тим70
Посмотреть сообщение

Set oExcel = CreateObject(«Excel.Application»)

Ну он же в Эксель просил.



0



I can

bite

3699 / 3131 / 694

Регистрация: 13.04.2015

Сообщений: 7,323

18.09.2022, 21:08

7

Лучший ответ Сообщение было отмечено Catstail как решение

Решение

Вот так, и нечего тут мудрить:

Visual Basic
1
2
3
4
5
6
7
Sub hjkl()
    For i = 2 To 9
       For j = 2 To 9
            Cells(i, j) = i & " x " & j & " = " & i * j
       Next j
    Next i
End Sub

Результат:

Таблица умножения



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

Like this post? Please share to your friends:
  • Vba excel таблица символов
  • Vba excel таблица на listbox
  • Vba excel таблица кодов
  • Vba excel таблица данных в массив
  • Vba excel считать текст