Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VBA в приложении к Excel1.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
715.26 Кб
Скачать

3.1. Вводим код цвета для раскраски выд. Зоны

3.2. Видим ответ

Задача №4

Ввести номер начальной и конечной строки, номер столбца, с которым вы хотите провести операцию. Решите: хотите Вы пронумеровать выделенный столбец, либо разукрасить ( цвета идут соответственно своему номеру).

Решение.

Для начала нужно определиться сколько у нас будет переменных и за что каждая будет отвечать. Нам нужны переменные X (за начальную строку), У (за конечную строку), S (за букву столбца), kind (определяющая «тип» рас краски), k (за цвет раскраски), i (как диапазон между Х и У) и наконец N (объединяющая в себе и диапазон и «тип» раскраски). Также используем функцию InputBox, чтобы Вы могли ввести свои собственные данные:

Private Sub CommandButton4_Click()

Dim x As Integer

Dim y As String

Dim n As String

Dim i As Integer

Dim k As Integer

Dim s As String

Dim kind As String

x = InputBox(" Введите начальную строку диапазона")

y = InputBox("Введите конечную строку диапазона ")

s = InputBox(" Введите букву столбца")

kind = InputBox(" Введите d-символы или c-цвет")

k = 1

Далее нам нужно задать выбор ( символы или цвета) через оператор If:

If kind = "c" Then

For i = x To y

n = s & i

Range(n).Select

With Selection.Interior

.ColorIndex = k

End With

k = k + 1

Next i

End If

If kind = "d" Then

For i = x To y

n = s & i

Range(n).Value = k

k = k + 1

Next i

End If

End Sub

Задача решена. Смотрим

4.1. Выбираем конечную строку столбца

4.2. Выбираем действие для выделенного участка столбца.

4.2. Ответ

Задача №5 Ввести 2-х мерный массив, в котором главная диагональ менялась на 0.

Решение.

Как в начале каждой задачи надо решить, сколько будет переменных и какая за что будет отвечать. Во-первых надо ввести массив ( mass(100,100)), далее m – номер столбцов массива, потом n – номер строк массива, I – количество столбцов, j – количество строк , и str – через что мы делаем изменение массива.

Private Sub CommandButton_Click()

Dim mass(100, 100) As Integer

Dim m As Integer

Dim j As Integer

Dim n As Integer

Dim i As Integer

Dim str As String

str = " "

Введя необходимые нам данные, мы задаём нули для главной диагонали матрицы. Все оставшиеся числа матрицы мы оставляем нетронутым полем (vbCrLf – полем).

И в конце выводим ответ через MsgBox, которым и является str.

Задача в целом выглядит вот так:

Private Sub CommandButton11_Click()

Dim mass(100, 100) As Integer

Dim m As Integer

Dim j As Integer

Dim n As Integer

Dim i As Integer

Dim str As String

str = " "

n = CInt(InputBox("Введите количество столбцов n"))

m = CInt(InputBox("Введите количество строк m"))

For i = 1 To m

For j = 1 To n

mass(i, j) = CInt(InputBox("Введите элемент mass(" & i & " ," & j & ")"))

If i = j Then mass(i, j) = 0

str = str & mass(i, j) & " "

Next j

str = str & vbCrLf

Next i

MsgBox (str)

End Sub

Задача решена. Смотрим 

5.1. Вводим определённый элемент массива

5.2. Ответ Задача №6 Есть определённое количество товара и машина, которая должна его перевезти за один раз. (Количество, вес груза и грузоподъёмность машины задаём сами!)

Решение.

Для этой задачи нам понадобиться массив (mass (100)), а также такие переменные как n (количество товара в кг.), gruz (грузоподъёмность машины), sum (сумма всего груза) и I (вспомогательная переменная, которая поможет обозначить номера грузов). Чтобы не было осложнений mass, gruz u summ лучше описать, как тип Double (грузоподъёмность может быть и 90 кг, так же как и сумма груза).

Private Sub CommandButton5_Click()

Dim mass(100) As Double

Dim gruz As Double

Dim n As Integer

Dim summ As Double

Dim i As Integer

Далее вводим данные:

n = CInt(InputBox(" Введите число N"))

gruz = CInt(InputBox(" Введите грузоподъёмность машины"))

summ = 0

For i = 1 To n

mass(i) = CDbl(InputBox(" Введите вес " & i & "-го элемента"))

summ = summ + mass(i)

Next i

Далее задаём условие, которое выведет ответ нам на экран:

If summ < gruz Then MsgBox ("Эта машина сможет перенести предметы") Else MsgBox ("Эта машина не сможет перенести предметы")

End Sub

Задача решена. Смотрим

6.1. Вводим грузоподъёмность 6.2. Смотрим ответ

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]