Иван
Иван

Помогите еще с basic

Option Explicit
Private Type ZAP
PN As Integer 'порядковый номер
NOMC As Integer ' строительная фирма
FAM As String 'название города
PROF 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

теперь пишет:
variable not defined
на строке:
Min = 2000
честно не знаю чему должно ровняться min в моем случае, но в методичке (по ее образцу я делала) число 2000 не присутствует нигде

АЦ
Аня Царькова

С такими программными кодами не на ответы, а сюда [ссылка заблокирована по решению администрации проекта]

БП
Банифаций Полоска

Компилятор принимает "Min" за переменную и считает что Вы ошиблись и не обьявили ее. По Вашему коду ее действительно нет нигде.

ЮИ
Юлия Ильичева

ИМХО, тут, как минимум, две ошибки.
1) Не объявлена переменная Min.
2) В строке
If ZP = Mas(I).FAM And Mas(I).RAZ < Min Then Min = (I)
явно чего-то не хватает.

Похожие вопросы
visual Basic помогите решить
visual basic помогите
помогите с калькулятором в visual basic
Visual Basic. Помогите
Помогите с Visual Basic
Помогите с Visual Basic 6
помогите с visual basic)
помогите с задачей в Visual Basic
помогите .кто хорошо понимает visual basic?
Помогите с программой в Basic