С Новым годом! Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 13.03.2011
Сообщений: 96

После вызова процедур не все команды выполняются

20.12.2011, 00:10. Показов 1271. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Основной код
Visual Basic
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
Private Sub CommandButton2_Click()
Dim zakaz As Integer
Dim time, com, nomz As String
zakaz = Application.CountA(Sheets("Çàêàçû").Range("A:A")) + 3
 
If TextBox8 < 24 And TextBox9 < 60 Then
time = TextBox8.Text + ":" + TextBox9.Text
Else
MsgBox "Âðåìÿ ââåäåíî íåêîððåêòíî", vbCritical, "Îøèáêà"
TextBox8 = " "
TextBox9 = " "
End If
 
If ComboBox4 <> "" And ComboBox1 <> "" And TextBox5 <> "" And TextBox8 <> "" And TextBox9 <> "" And TextBox10 <> "" Then
Sheets("çàêàçû").Cells(zakaz, 1) = ComboBox4.Text
Call pr1
Sheets("çàêàçû").Cells(zakaz, 2) = ComboBox1.Value
Sheets("çàêàçû").Cells(zakaz, 3) = ComboBox2.Text
Sheets("çàêàçû").Cells(zakaz, 4) = ComboBox3.Text
Sheets("çàêàçû").Cells(zakaz, 5) = TextBox5.Value
Sheets("çàêàçû").Cells(zakaz, 6) = TextBox6.Value
Sheets("çàêàçû").Cells(zakaz, 7) = TextBox7.Value
Call pr3
Sheets("çàêàçû").Cells(zakaz, 8) = Calendar1.Value
Sheets("çàêàçû").Cells(zakaz, 9) = time
Call pr2
Sheets("çàêàçû").Cells(zakaz, 10) = CheckBox1
Sheets("çàêàçû").Cells(zakaz, 11) = TextBox10.Value
 
Else
MsgBox ("Íå âñå äàííûå ââåäåíû!"), vbExclamation, "Îøèáêà"
End If
 
ComboBox1 = " "
ComboBox2 = " "
ComboBox3 = " "
ComboBox4 = " "
TextBox5 = " "
TextBox6 = " "
TextBox7 = " "
TextBox8 = " "
TextBox9 = " "
TextBox10 = " "
 
 
 
If CheckBox1 = True Then
    Sheets("çàêàçû").Cells(zakaz, 10) = "Çâîíèòü"
    Else
    Sheets("çàêàçû").Cells(zakaz, 10) = "Íå çâîíèòü"
End If
MsgBox "Ñîîáùåíèå êëèåíòó: Îáùàÿ ñóììà çàêàçà - " & Sheets("çàêàçû").Cells(zakaz, 11) & " ðóáëåé. Äàòà -  " & Sheets("çàêàçû").Cells(zakaz, 8) & ", íà " & time & ".", 64, "Èíôîðìàöèÿ äëÿ êëèåíòà"
End
End Sub

Процедуры
Visual Basic
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
Sub pr2()
Sheets("Îôîðìëåíèå").Cells(6, 2).Value = time 'äàòà âðåìÿ
Sheets("Îôîðìëåíèå").Cells(7, 2).Value = Calendar1.Value
End Sub
Sub pr3()
of = Application.CountA(Sheets("Îôîðìëåíèå").Range("A:A")) + 2 'øèôð
zak = Application.CountA(Sheets("Ïðàéñ-ëèñò").Range("A:A")) + 1
For i = 2 To zak - 1
If ComboBox1.Value Like Sheets("Ïðàéñ-ëèñò").Cells(i, 1).Value Then
Sheets("Îôîðìëåíèå").Cells(of, 1) = Sheets("Ïðàéñ-ëèñò").Cells(i, 1).Text
Sheets("Îôîðìëåíèå").Cells(of, 2).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 2).Value
Sheets("Îôîðìëåíèå").Cells(of, 3).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 3).Value
Sheets("Îôîðìëåíèå").Cells(of, 4).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 4).Value
Sheets("Îôîðìëåíèå").Cells(of, 5).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 5).Value
Sheets("Îôîðìëåíèå").Cells(of, 6).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 6).Value
Sheets("Îôîðìëåíèå").Cells(of, 7).Value = TextBox5.Value
Sheets("Îôîðìëåíèå").Cells(of, 8).Value = p
End If
Next i
zak2 = Application.CountA(Sheets("Ïðàéñ-ëèñò").Range("A:A")) + 2
For i = 2 To zak2 - 1
of1 = Application.CountA(Sheets("Îôîðìëåíèå").Range("A:A")) + 1
If ComboBox2.Value Like Sheets("Ïðàéñ-ëèñò").Cells(i, 1).Value Then
Sheets("Îôîðìëåíèå").Cells(of1, 1).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 1).Value
Sheets("Îôîðìëåíèå").Cells(of1, 2).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 2).Value
Sheets("Îôîðìëåíèå").Cells(of1, 3).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 3).Value
Sheets("Îôîðìëåíèå").Cells(of1, 4).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 4).Value
Sheets("Îôîðìëåíèå").Cells(of1, 5).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 5).Value
Sheets("Îôîðìëåíèå").Cells(of1, 6).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 6).Value
Sheets("Îôîðìëåíèå").Cells(of1, 7).Value = TextBox5
Sheets("Îôîðìëåíèå").Cells(of1, 8).Value = d
End If
Next i
zak3 = Application.CountA(Sheets("Ïðàéñ-ëèñò").Range("A:A")) + 2
For i = 2 To zak3 - 1
of2 = Application.CountA(Sheets("Îôîðìëåíèå").Range("A:A")) + 1
If ComboBox3.Value Like Sheets("Ïðàéñ-ëèñò").Cells(i, 1).Value Then
Sheets("Îôîðìëåíèå").Cells(of2, 1).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 1).Value
Sheets("Îôîðìëåíèå").Cells(of2, 2).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 2).Value
Sheets("Îôîðìëåíèå").Cells(of2, 3).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 3).Value
Sheets("Îôîðìëåíèå").Cells(of2, 4).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 4).Value
Sheets("Îôîðìëåíèå").Cells(of2, 5).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 5).Value
Sheets("Îôîðìëåíèå").Cells(of2, 6).Value = Sheets("Ïðàéñ-ëèñò").Cells(i, 6).Value
Sheets("Îôîðìëåíèå").Cells(of2, 7).Value = TextBox5
Sheets("Îôîðìëåíèå").Cells(of2, 8).Value = t
End If
Next i
End Sub
Понимаю что слишком громоздко, но попробуйте разобраться.
Вопрос такой, после вызова процедур не все команды выполняются.
А точнее не заполняется время time, ставиться время с компа.
И не правильно заполняется все что прописано в процедуре pr3. Почему то не определяет первую пустую, частенько в шапку все заносит, либо вообще пропускает строк 7 пустых.
Вложения
Тип файла: rar Магазин одеждыИтогфор.rar (71.5 Кб, 11 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.12.2011, 00:10
Ответы с готовыми решениями:

После выполнения определённой команды не выполняются последующие команды
Объясните, пожалуйста, почему может останавливаться выполнение второй и далее комманд? cd C:\Users\alex_iv\Desktop\test_node\ node...

Не все SQL команды выполняются
Здравствуйте, я новичок, поэтому вопрос наверное глупый, сильно не ругайтесь(хотя бы не матом :) ) очень долго лазил по форумам, смотрел...

Не все cmd команды выполняются
Привет! Нужно выполнить cmd команду. Сделал простой контроллер, с действием, которое принимает строку и возвращает строку. ...

4
15155 / 6428 / 1731
Регистрация: 24.09.2011
Сообщений: 9,999
20.12.2011, 00:40
Цитата Сообщение от TI_ProJecT Посмотреть сообщение
не заполняется время time, ставиться время с компа
Вы определили переменную time в процедуре CommandButton2_Click. В пределах этой процедуры имя time означает переменную. Во всех остальных процедурах (pr2) имя time означает VBA функцию Time, которая возвращает текущее время.

Старайтесь не использовать имена встроенных функций как имена переменных. Поставьте в начале модуля Option Explicit и объявляйте переменные, тогда компилятор будет указывать Вам на подобные ошибки. При таком размере проекта это уже необходимо!

Добавлено через 3 минуты
В качестве мелкой оптимизации: можно заменить
Visual Basic
1
2
3
4
5
6
Sheets("Оформление").Cells(of2, 1).Value = Sheets("Прайс-лист").Cells(i, 1).Value
Sheets("Оформление").Cells(of2, 2).Value = Sheets("Прайс-лист").Cells(i, 2).Value
Sheets("Оформление").Cells(of2, 3).Value = Sheets("Прайс-лист").Cells(i, 3).Value
Sheets("Оформление").Cells(of2, 4).Value = Sheets("Прайс-лист").Cells(i, 4).Value
Sheets("Оформление").Cells(of2, 5).Value = Sheets("Прайс-лист").Cells(i, 5).Value
Sheets("Оформление").Cells(of2, 6).Value = Sheets("Прайс-лист").Cells(i, 6).Value
на
Visual Basic
1
Sheets("Оформление").Cells(of2, 1).resize(,6).Value = Sheets("Прайс-лист").Cells(i, 1).resize(,6).Value
2
0 / 0 / 0
Регистрация: 13.03.2011
Сообщений: 96
20.12.2011, 06:54  [ТС]
Цитата Сообщение от Казанский Посмотреть сообщение
Старайтесь не использовать имена встроенных функций как имена переменных. Поставьте в начале модуля Option Explicit и объявляйте переменные, тогда компилятор будет указывать Вам на подобные ошибки. При таком размере проекта это уже необходимо!

на
Visual Basic
1
Sheets("Оформление").Cells(of2, 1).resize(,6).Value = Sheets("Прайс-лист").Cells(i, 1).resize(,6).Value
Я вроде делал это в модуле, не помогало, сейчас снова попробую.

При выполнении этой строки выдает ошибку 1004
0
 Аватар для Апострофф
9908 / 3923 / 742
Регистрация: 11.10.2011
Сообщений: 5,904
20.12.2011, 07:44
TI_ProJecT, почитай, что сказал Казанский
и в качестве мелкой придирки не стоит расчитывать на то, что time и com изначально имеют тип As String. В VBA их лучше объявить так -
Visual Basic
1
Dim Mtime As STRING, com As STRING, nomz As String
0
1301 / 403 / 22
Регистрация: 21.10.2011
Сообщений: 1,285
20.12.2011, 11:23
Цитата Сообщение от Апострофф Посмотреть сообщение
В VBA их лучше объявить так -
не лучше, а так и надо объявлять - это особенность языка программирования VBA.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.12.2011, 11:23
Помогаю со студенческими работами здесь

И снова о php exec() - выполняются не все команды
Проблема такая - работают обычные команды вроде ls или groups но например exec(&quot;/usr/bin/aplay /var/www/html/test.wav&quot;, $ret, $err) не...

Приложение падает после вызова команды fstp
Внедряю свой ассемблерный код в приложение (да, легально, исключительно ради научного интереса), выполняю некоторые операции над...

Щелкаем по одной кнопке - выполняются несколько процедур.
Можно ли, и как правильно, если одним событием, нажптием на одну кнопку, (Private Sub Кнопка0_Click()), надо выполнить одновременно...

Не выполняются последовательно команды
День добрый. Хочу выполнить последовательно такую команду в консоли: WMIC &amp;&amp; product get name,version Выполняется только WMIC. Что...

Команды выполняются непоследовательно
Привет, специалисты) Не могу разобраться, может кто поопытнее подскажет.. Есть кусок кода: (формируется массив из блоков,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост.
Programma_Boinc 28.12.2025
Советы по крайней бережливости. Внимание, это ОЧЕНЬ длинный пост. Налог на собак: https:/ / **********/ gallery/ V06K53e Финансовый отчет в Excel: https:/ / **********/ gallery/ bKBkQFf Пост отсюда. . .
Кто-нибудь знает, где можно бесплатно получить настольный компьютер или ноутбук? США.
Programma_Boinc 26.12.2025
Нашел на реддите интересную статью под названием Anyone know where to get a free Desktop or Laptop? Ниже её машинный перевод. После долгих разбирательств я наконец-то вернула себе. . .
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Рецензия / Мнение/ Перевод Нашел на реддите интересную статью под названием The Thinkpad X220 Tablet is the best budget school laptop period . Ниже её машинный перевод. Thinkpad X220 Tablet —. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru