Програмирование в basic
Option Explicit
Private Type ZAP
PN As Integer 'порядковый номер
NOMC As Integer ' строительная фирма
FAM As String 'название города
FROF As String 'объем выделенных средств на год
RAZ As Integer '1
ST As Integer '2
GR As Integer '3
ZP As Currency '4
End Type
Private Sub CommandButton1_Click()
'Блок описания данных
Dim N As Integer 'количество строк в таблице
Dim Mas() As ZAP 'массив записей -копия таблицы
Dim S As Range 'переменная типа диапазон
Dim ZP As String 'заданный город
Dim I As Integer 'цикловая переменная
Dim J As Integer 'цикловая переменная
Dim L As Integer 'номер строки вывода результата
Dim T As Integer 'порядковый номер маршрута
'определение размера базы данных
Set S = Range("База")
N = S.Rows.Count - 1 'с учетом заголовка таблицы из одной строки
'формирование массива - копии базы данных
ReDim Mas(1 To N) As ZAP 'переобъявление массива разных стран
For I = 1 To N 'цикл доступа к строкам таблицы
Mas(I).PN = I 'формирование поля в массиве (порядковый номер)
Mas(I).NOMC = Cells(I + 1, 2) ' формирование поля строительная фирма
Mas(I).FAM = Cells(I + 1, 3) ' формирование поля название города
Mas(I).PROF = Cells(I + 1, 4) 'формирование поля объем выделенных средств на год
Mas(I).RAZ = Cells(I + 1, 5) 'формирование поля 1
Mas(I).ST = Cells(I + 1, 6) 'формирование поля 2
Mas(I).GR = Cells(I + 1, 7) 'формирование поля 3
Mas(I).ZP = Cells(I + 1, 'формирование поля 4
Next I
'По зданному городу сведения для тех фирм, в которых суммарный объем освоенных средств является минимальным
ZP = InputBox("Москва")
Min = 2000
For I = 1 To N
If ZP = Mas(I).FAM And Mas(I).RAZ < Min Then Min = (I)
End Sub
'Блок вывода результата на экран
L = 2 'заголовок вывода результата из одной строки
T = 0 'номер списка
For I = 1 To N
If ZP = Mas(I).FAM And Mas(I).RAZ = Min Then
L = L + 1
T = T + 1
Cells(L, 10) = T 'вывод номера списка в 10-й столбец
Cells(L, 11) = Mas(I).NOMC 'вывод в таблицу строительная фирма
Cells(L, 12) = Mas(I).FAM 'вывод в таблицу название города
Cells(L, 13) = Mas(I).PROF 'вывод объем выделенных средств на год
Cells(L, 14) = Mas(I).RAZ 'вывод 1
Cells(L, 15) = Mas(I).ST 'вывод 2
Cells(L, 16) = Mas(I).GR 'вывод 3
Cells(L, 17) = Mas(I).ZP 'вывод 4
End If
Next I
выдает ошибку на строке
Mas(I).PROF = Cells(I + 1, 4) '
выделяет .PROF
и пишет:
Complite error:
Method or data member not found