For i = 1 To n
Кадр(i).Фамилия = InputBox("Введите фамилию", "Ввод данных о сотруднике")
Кадр(i).Имя = InputBox("Введите имя", "Ввод данных о сотруднике")
Кадр(i).Табельный_номер = InputBox("Введите табельный номер", "Ввод данных о сотруднике")
Кадр(i).Должность = InputBox("Введите должность", "Ввод данных о сотруднике")
Кадр(i).Оклад = InputBox("Введите оклад", "Ввод данных о сотруднике")
'выводим эти значения в i-тый столбец таблицы Excel
Cells(1, i) = Кадр(i).Фамилия
Cells(2, i) = Кадр(i).Имя
Cells(3, i) = Кадр(i).Табельный_номер
Cells(4, i) = Кадр(i).Должность
Cells(5, i) = Кадр(i).Оклад
Next i
End Sub
II Практическое применение
Решим следующую задачу:
Создать список лазерных дисков.
1. Описать и вывести массив, содержащий 5 записей следующей структуры:
название, год выпуска, количество, цена.
4. Найти самый новый диск по году выпуска.
Type структура_диска
Название As String * 20
Год_выпуска As Integer
Количество As Integer
Цена As Integer
End Type
Sub База_Данных_о_сотрудниках()
Dim Диск() As структура_диска
'для очищения ячеек от предыдущих заполнений используем конструкцию:
Range("A1:H100").Select 'выделим диапазон ячеек с А1 по Н100
Selection.Clear 'очистимэтотдиапазон
Range("A1").Select
'введем названия столбцов таблицы
Range("A1").Value = "Название"
Range("B1").Value = "Год выпуска"
Range("C1").Value = "Количество"
Range("D1").Value = "Цена"
Range("A2").Select 'перейдем в ячейку А1,чтобы с неё начать заполнение
'введем количество записей
n = InputBox("Введите количество записей")
'переназначим безразмерному массиву размер, равный тому, что ввели с клавиатуры
ReDim Диск(n)
'присваиваем значения полям i-той записи
For i = 1 To n
Диск(i).Название = InputBox("Введите название", "Ввод данных о диске")
Диск(i).Год_выпуска = InputBox("Введите год выпуска", "Ввод данных о диске")
Диск(i).Количество = InputBox("Введите количество", "Ввод данных о диске")
Диск(i).Цена = InputBox("Введите цену", "Ввод данных о диске")
Next i
'вывод в ячейки осуществляется по следующему правилу:
'так как первая строка занята названиями столбцов, то
'ввод начнется со второй строки, т.е. первая координата i ячейки будет
'изменяться начиная с 2, при этом последняя адресация будет на 1 больше
'чем общее количество записей, т.е. n+1 (количество итераций цикла все-таки должно
'быть равным количеству записей)
'чтобы использовать ту же переменную j и в номерах записей
'но начать записывать в ячейки с первой записи, то в шаблоне номера записи
'запишем j-1
For j = 2 To n + 1
Cells(j, 1) = Диск(j - 1).Название
Cells(j, 2) = Диск(j - 1).Год_выпуска
Cells(j, 3) = Диск(j - 1).Количество
Cells(j, 4) = Диск(j - 1).Цена
Next j
'сформируем строку из названий дисков, цена партии которых превышает 1000р.
For i = 1 To n
'в переменной у находим произведение количества и цены каждого диска
y = Диск(i).Количество * Диск(i).Цена
'если оно >1000, то добавить поле Название записи Диск к строке str_nazv
If y > 1000 Then
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.