Здравствуйте!В Excel сделал таблицу, к нему программный код в VBA, делал все по методическим указаниям,но нажимая на полученную кнопку(CommandButton) ничего не происходит(
Таблица, указания и программный код прилагаются
Код:
Option Explicit
Private Type ZAP
PN As Integer ' номер п/п
NOMC As Integer ' название предприятия
FAM As String ' наименование продукции
PROF As String ' годовой объем выпуска
RAZ As Integer ' себестоимость единицы продукции
ST As Integer ' цена единицы продукции
GR As Integer ' план продажи
ZP As Currency ' фактический объем продаж
End Type
____________________________________________________________________
Private Sub Command1_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) 'формирование поля себестоимости единицы продукции
Mas(I).ST = Cells(I + 1, 6) 'формирование поля цены единицы продукции
Mas(I).GR = Cells(I + 1, 7) 'формирование поля плана продажи
Mas(I).ZP = Cells(I + 1, 8) 'формирование поля фактического объема продаж
Next I

'Определение
ZP = InputBox("введите предприятие")
Min = 2000
For I = 1 To N
If ZP = Mas(I).PROF And Mas(I).GR < Min Then Min = Mas(I).GR

'Блок вывода результата на экран
L = 2 ' заголовок вывда результата из одной строки
T = 0 'номер списка
If ZP = Mas(I).PROF And Mas(I).GR = Min Then
L = L + 1
T = T + 1
For I = 1 To N
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
Cells(L, 15) = Mas(I).ST
Cells(L, 16) = Mas(I).GR
Cells(L, 17) = Mas(I).ZP
End If
Next I
End SubНажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла Нажмите для просмотра прикрепленного файла