powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите разобраться с задачей!
25 сообщений из 49, страница 1 из 2
Помогите разобраться с задачей!
    #37050492
Schlafwandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Задание 1
Имеется информация о наличии N торгового оборудования на складе. Определить общие количество оборудования.

Программа на VBA

Sub Задание1()
Dim O() As String
Dim K() As Integer
Dim I, N, K As Integer
N = InputBox("Введетите количество элементов массива")
ReDim O(N) As String
ReDim K(N) As Integer
Debug.Print "Оборудование", "кол-во, шт."
For I = 1 To N
F(I) = InputBox("Введите наименование оборудования")
V(I) = InputBox("Введите кол-во, шт.")
Debug.Print O(I), K(I)
Next I
For I = 1 To N
K = K + K(I)
Next I
Debug.Print "Общие количество оборудования:";
End Sub

Проблема в том что не производится вывод данных в immediate окно! программа начинает быковать на 4,10,11,15 строчку!
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050494
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Schlafwandler, быковать на 4 строку?? а во второй, то Dim K() As Integer
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050500
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

А что не так во второй строке?

ТС - быковать это как? вставленные флешки форматирует и при этом орёт голосом Паваротти?
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050504
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос, он же ему как быкует орёт дупликате, так и есть
Dim K() As Integer
Dim I, N, K As Integer
ККККККККККККККККККККККККККККККККККККК
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050505
Schlafwandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,

Это значит что там ошибки!
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050507
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Schlafwandler, одна из них там
Dim K () As Integer
Dim I, N, K As Integer
Повторений не должно быть
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050519
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Schlafwandler, на скорую руку, время позднее
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Dim I, N, Е As Integer
N = InputBox("Введетите количество элементов массива")

Dim O() As String
ReDim O( 1  To N) As String
Dim K() As Integer
ReDim K( 1  To N)

Debug.Print "Оборудование", "кол-во, шт."
For I =  1  To N
O(I) = InputBox("Введите наименование оборудования")
K(I) = InputBox("Введите кол-во, шт.")
Debug.Print O(I), K(I)
Next I
F =  0 
For I =  1  To N
F = F + K(I)
Next I
Debug.Print "Общие количество оборудования:";
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050524
Schlafwandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,

Вот сейчас поправил заработала!
Спасибо тебе!
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050553
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович Эндрю,

Если на вопрос о количестве элементов массива, ввести "пять", то ошибка появится не сразу. Как ты думаешь, почему?
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050613
Schlafwandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Модифицированный код программы

Sub Задание1()
Dim O() As String
Dim K() As Integer
Dim I, N, E As Integer
N = InputBox("Введетите количество элементов массива")
ReDim O(N) As String
ReDim K(N) As Integer
Debug.Print "Оборудование", "кол-во, шт."

Sheets("Лист1").Cells.Clear
Sheets("Лист1").Cells(1, 1) = "Название фирмы"
Sheets("Лист1").Cells(1, 1).BorderAround Weight:=xIMedium
Sheets("Лист1").Cells(1, 1).ColuwnWidht = 100
Sheets("Лист1").Cells(1, 1).HorizontalAlignment = xICenter

Sheets("Лист1").Cells(1, 2) = "Оборудование"
Sheets("Лист1").Cells(1, 2).BorderAround Weight:=xIMedium
Sheets("Лист1").Cells(1, 2).ColuwnWidht = 100
Sheets("Лист1").Cells(1, 2).HorizontalAlignment = xICenter

Sheets("Лист1").Cells(1, 3) = "кол-во, шт."
Sheets("Лист1").Cells(1, 3).BorderAround Weight:=xIMedium
Sheets("Лист1").Cells(1, 3).ColuwnWidht = 100
Sheets("Лист1").Cells(1, 3).HorizontalAlignment = xICenter

For I = 1 To N
O(I) = InputBox("Введите наименование оборудования")
K(I) = InputBox("Введите кол-во, шт.")
Debug.Print O(I), K(I)
Sheets("Лист1").Cells(I + 1, 1) = I
Sheets("Лист1").Cells(I + 1, 1).BorderAround Weight:=xIMedium
Sheets("Лист1").Cells(I + 1, 1).HorizontalAlignment = xICenter

Sheets("Лист1").Cells(I + 1, 2) = O(I)
Sheets("Лист1").Cells(I + 1, 2).BorderAround Weight:=xIMedium
Sheets("Лист1").Cells(I + 1, 2).HorizontalAlignment = xICenter

Sheets("Лист1").Cells(I + 1, 3) = K(I)
Sheets("Лист1").Cells(I + 1, 3).BorderAround Weight:=xIMedium
Sheets("Лист1").Cells(I + 1, 3).HorizontalAlignment = xICenter
Next I

For I = 1 To N
F = F + K(I)
Next I
Debug.Print "Общие количество оборудования:";
Sheets("Лист1").Cells(N + 2, 1) = "Общие количество оборудования"
Sheets("Лист1").Cells(N + 2, 1).BorderAround Weight:=xIMedium
Sheets("Лист1").Cells(N + 2, 1).HorizontalAlignment = xICenter
End Sub

Проблема!!! вывод данных в рабочий лист Excel, не производится!
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050633
Schlafwandler,
не просто "не производится", но и ошибка выводится. Что-то вроде Run-time error '13': Object doesn't support this propertie or method
код в тэге SRC красиво смотрится, проще читается, ...
Код: plaintext
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.
Option Explicit

' старайтесь не делать лишних действий в программе,
' например, форматирования каждой ячейки отдельно в цикле
Sub Задание1()
Dim O() As String
Dim K() As Integer
Dim I As Integer, N As Integer, E As Integer

N = InputBox("Введетите количество элементов массива")
ReDim O( 1  To N)
ReDim K( 1  To N)
Debug.Print "Оборудование", "кол-во, шт."

With Worksheets("Лист1")
    .Cells.Clear
    
    .Cells( 1 ,  1 ) = "Название фирмы"
    .Cells( 1 ,  2 ) = "Оборудование"
    .Cells( 1 ,  3 ) = "кол-во, шт."
    .Cells(N +  2 ,  1 ) = "Общее количество оборудования"
    
    With .Range(.Cells( 1 ,  1 ), .Cells(N +  2 ,  3 ))
        .ColumnWidth =  100 
        .Borders.Weight = xlMedium
        .HorizontalAlignment = xlHAlignCenter
    End With '.Range(.Cells(1,1), .Cells(N+1,3))
    
    For I =  1  To N
        O(I) = InputBox("Введите наименование оборудования")
        K(I) = InputBox("Введите кол-во, шт.")

Debug.Print O(I), K(I)

        .Cells(I +  1 ,  1 ) = I
        .Cells(I +  1 ,  2 ) = O(I)
        .Cells(I +  1 ,  3 ) = K(I)
        
        E = E + K(I)
    Next I
    
Debug.Print "Общее количество оборудования:"; E
    .Cells(N +  2 ,  3 ) = E
End With 'Worksheets("Лист1")
End Sub
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050663
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь ГорбоносЦипихович Эндрю,

Если на вопрос о количестве элементов массива, ввести "пять", то ошибка появится не сразу. Как ты думаешь, почему?
говорил же время позднее, спать лёг, сейчас смотрю вроде всё порешали, но привычка есть отвечать на вопрос, тем боле Вам, тем более это мне может пригодится в дальнейшем
Итак этот вопрос к моему скрипту от вчера, 22:25 ??
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050721
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ципихович ЭндрюИтак этот вопрос к моему скрипту от вчера, 22:25 ?? Да
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050815
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос, по Вашему вопросу, сегодня прогнал код вроде нет ошибок, но вчера вроде были, поэтому я и сказал, что на скорую руку, что меня смущает, что N = "5" то есть его определяет в кавычках если навести курсор на N, раз N As Integerч то этого не должно быть, просто N = 5 без кавычек, дайте наводящие вопросы для ЦЭ
чтобы высчитать Общие количество оборудования два цикла не нужно, одного за глаза, я уж не знаю зачем ему этот массив нужен, не вникал, это же Эксель , а кстати если уже в цикл K(I) загнали данные, одной строкой без цикла сумму можно узнать??
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050829
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Ципихович Эндрю


Я говорил о том что-бы ввести словом "пять" и этот ввод пройдет без ошибок. Ошибка появится дальше, при попытке
перераспределения размерности массива.
И кто тебе сказал что Ципихович Эндрюраз N As Integer???

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050838
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос, вопрос от вчера, 22:53 ввести "пять" - это внимательность для меня, ну тогда вопрос детский, я понимаю, но ответить бы не смог, но Вы на него ответили
А кстати почему сразу же ошибка не возникает, ОКЛИПТИК???????, если так то я его зауважаю
По поводу того, на что я сам раскрутился, прогнал код
Dim N As Integer
N = 5
Навёл курсор на N, но ведь без кавычек, просто 5, почему???
Вопрос открыт - если уже в цикл K(I) загнали данные, одной строкой без цикла сумму можно узнать??
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050862
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Ципихович Эндрю
> А кстати почему сразу же ошибка не возникает, ОКЛИПТИК???????, если так то я его зауважаю

Да, оклиптик. Option Explicit заставляет явно объявлять все переменые. Но программист определяет какого
типа
будут объявленные переменные. Объявление:
Код: plaintext
Dim A,B,C As Integer
говорит только о том, что нужно
создать переменную А с типом Variant, переменную B c типом Variant и переменную С с типом Integer

> Навёл курсор на N, но ведь без кавычек, просто 5, почему???

см. выше

> Вопрос открыт - если уже в цикл K(I) загнали данные, одной строкой без цикла сумму можно узнать??

Нет, можно оптимизировать и подсчитывать при заполнении массива, но это не всегда возможно.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050872
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос, ХА ХА, вывод Dim A,B,C As Integer на свалку
я всегда пишу
А = "ЖЖЖ"
В = 99
И не парюсь, а про эти конструкции записи типа Dim A,B,C As Integer я читал, что только не пишут, всё время помнить трудно, потому только в КРАЙНИХ случаях пишу
Dim A As Integer
Dim B As Integer
Dim C As Integer
Плевать что больше места занимает, просто я не так пишу, а так

Dim A As Integer
А=...........
...............
..............
Dim A As Integer
В=...........
...............
..............

Dim A As Integer
С=...........
...............
..............
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050903
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Ципихович Эндрю
> Плевать что больше места занимает, просто я не так пишу, а так
> Dim A As Integer
> А=...........
> Dim A As Integer
> В=...........
> Dim A As Integer
> С=...........


Китайская методика програмирования имени Копи-Паста в сочетании с игнорированием Оклиптика придает отладке и
сопровождению программ неповторимый, изысканный и пьянящий привкус БДСМ, но мне не нравится. Эндрю не тупи. И вообще
заканчивай затыкать все топики!

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050915
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос,я ошибся, но думаю, что Вы поняли, поэтому, что то и говорили про копи паст
Dim A As Integer
А=...........
...............
..............
Dim В As Integer
В=...........
...............
..............

Dim С As Integer
С=...........
...............
..............
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050952
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Schlafwandler, вопрос чисто к Вам, возможно я ошибаюсь, никак не проверить это, эти топики поудаляли, до Нового года Ваши топики были с пустыми вопросами??????
Просто если Ваши, то поздравляю с удачей!!!!
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050981
Schlafwandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ципихович Эндрю,

Эти топики не мои были!
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37050984
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Schlafwandler, понял, ОК!!!!!!!
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37051025
Schlafwandler
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Напечать Таблицу, заменив информацию в последним столбце "на средняя стоймость 1 квартиры"

Sub Задание2()
Dim J() As String
Dim KP() As Single
Dim KM() As Single
Dim S() As Single
Dim S1() As Single
Dim I, N As Integer
N = InputBox("Введетите количество элементов массива")
ReDim J(N) As String
ReDim KP(N) As Single
ReDim KM(N) As Single
ReDim S(N) As Single
Debug.Print "Город", "Кол-во продан-", "Кол-во", "Сумма от про-"
Debug.Print " ", "ных квартир", "кв.м", "дажи тыс.руб."
For I = 1 To N
J(I) = InputBox("Введите название города")
KP(I) = InputBox("Введите кол-во проданных квартир")
KM(I) = InputBox("Введите кол-во кв")
S(I) = InputBox("Введите сумму от продажи")
Debug.Print J(I), KP(I), KM(I), S(I), S1(I)

Next I
S1(I) = S(I) / KP(I)
Debug.Print "Город", "Кол-во продан-", "Кол-во", "Средняя стоимость"
Debug.Print " ", "ных квартир", "кв.м", "1 квартиры."
For I = 1 To N
Debug.Print J(I), KP(I), KM(I), S1(I),
Next I
End Sub

Помоготе! опять не получается программа!
...
Рейтинг: 0 / 0
Помогите разобраться с задачей!
    #37051030
Ципихович Эндрю
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Schlafwandler, скажите зачем Вам два цикла??
...
Рейтинг: 0 / 0
25 сообщений из 49, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите разобраться с задачей!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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