powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите, программирование Basic
5 сообщений из 5, страница 1 из 1
Помогите, программирование Basic
    #38178164
Klondi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть вот такая табличка
И вот такое задание: По заданному городу дать все сведения для тех фирм, в которых суммарный объем освоенных средств является минимальным
Делала работу по методичке и вот что получилось


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
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 Inteder 'цикловая переменная
Dim J As Inteder 'цикловая переменная
Dim L As Inteder 'номер строки вывода результата
Dim T As Inteder 'порядковый номер маршрута

'определение размера базы данных

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, 8) 'формирование поля 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



По честному не знаю как распределить и найти минимальный объем если у меня 4 квартала
Ошибку выдает User-defined type not defined

Модератор: Тема перенесена из форума "Microsoft Access".
...
Рейтинг: 0 / 0
Помогите, программирование Basic
    #38178197
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Klondi,

авторошибка
Dim I As Inteder 'цикловая переменная
.....
надо
Dim I As Integer 'цикловая переменная
...
Рейтинг: 0 / 0
Помогите, программирование Basic
    #38178263
Klondi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПЕНСИОНЕРКА,

спасибо, не доглядела
теперь выдает ошибку на строке
Mas(I).PROF = Cells(I + 1, 4) '
выделяет .PROF

и пишет:
Complite error:
Method or data member not found
...
Рейтинг: 0 / 0
Помогите, программирование Basic
    #38178284
Казанский
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
F ROF As String 'объем выделенных средств на год

Выложите файл XLS. По идее задачу можно решить с помощью автофильтра/расширенного фильтра, в три строки.
...
Рейтинг: 0 / 0
Помогите, программирование Basic
    #38178289
Klondi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Казанский,

файл прикрепила, посмотрите что не так, если можете
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Помогите, программирование Basic
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]