Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33

Провести оценку прелприятия по 18 критериям

10.11.2013, 15:15. Показов 4322. Ответов 64
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно провести оценку прелприятия по 18 критериям. Для этого я создал 18 форм. Как подсчитать сумму балов по всем формам ???
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
Private Sub CommandButton1_Click()
Dim Валюта_балансу_Пр As Currency
Dim Зобов 'язання_Пр As Currency
Dim Нематеріальні_активи_Пр As Currency
Dim Валюта_балансу_Зр As Currency
Dim Зобовязання_Зр As Currency
Dim Нематеріальні_активи_Зр As Currency
Валюта_балансу_Пр = Val(TextBox1.Text)
Зобовязання_Пр = Val(TextBox2.Text)
Нематеріальні_активи_Пр = Val(TextBox3.Text)
TextBox7.Text = Валюта_балансу_Пр - Зобовязання_Пр - Нематеріальні_активи_Пр
Валюта_балансу_Зр = Val(TextBox4.Text)
Зобовязання_Зр = Val(TextBox5.Text)
Нематеріальні_активи_Зр = Val(TextBox6.Text)
TextBox8.Text = Валюта_балансу_Зр - Зобовязання_Зр - Нематеріальні_активи_Зр
If TextBox7.Text = TextBox8.Text Then
MsgBox ("Не змінився" & " 5 балів")
Else
If TextBox7.Text > TextBox8.Text Then
MsgBox ("Зменшився" & " 3 бали")
Else
If TextBox7.Text < TextBox8.Text Then
MsgBox ("Збільшився" & " 7 балів")
End If
End If
End If
UserForm1.Hide
End Sub
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.11.2013, 15:15
Ответы с готовыми решениями:

Найти среднюю оценку ученика и вывести его оценку в буквенном виде
Помогите сделать Даётся массив чисел, найти среднюю оценку ученика и вывести его оценку в буквенном виде. 100 - 90 -&gt; A, 89 – 80...

Распечатать анкетные данные студентов, имеющих оценку 4 по физике и оценку 5 по высшей математике.
15. Распечатать анкетные данные студентов, имеющих оценку 4 по физике и оценку 5 по высшей математике.

Считать из бинарного файла в массив структур фамилию, имя, оценку по математике, оценку по информатике
необходимо считать из бинарного файла в массив структур фамилию, имя, оценку по математике, оценку по информатике, оценку по физике

64
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
10.11.2013, 18:20  [ТС]
Студворк — интернет-сервис помощи студентам
Как mSUM всетаки просумировать бістро и что прописать для вівода єтой сумі. К этой суме ещё 5 условий применить надо.....
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
10.11.2013, 18:20
Я понял, что Вы абсолютно не знаете работу с UserForm.
У Вас есть вкладки, на которых какие-то елементы. На каждой вкладке - от одного до нескольких. Вам нужно научить машину, что б она понимала, какие элементы ей нужно просматривать, а не все! И от результата просмотра выполнять какие-то действия. Как у Вас и написано
Visual Basic
1
2
3
4
If TextBox7.Text = TextBox8.Text Then
MsgBox ("Не змінився" & " 5 балів")
 mSUM=mSUM + 5
Else
0
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
10.11.2013, 18:34  [ТС]
Sub asdfsdf()
Dim mSUM&, i&
For i = 1 To 18 Step 2
MsgBox "Cума дорівнює: " & mSUM & Chr(13) & Chr(13) & _
"Додаємо значення ""i"" = " & i: mSUM = mSUM + i
Next 'i
End Sub
Вроди понял. Только куда это прописать надо ?
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
10.11.2013, 18:40
"Это" никуда не нужно прописывать Это демо! Как код собирает сумму.
И это тоже демо. Как через массив:
Visual Basic
1
2
3
4
5
6
7
8
9
10
Sub asdfsdf()
   Dim mSUM&, i&, j&, sumARR()
      For i = 1 To 20 Step 2
         j = j + 1:  ReDim Preserve sumARR(1 To j):   sumARR(j) = mSUM + i
     Next 'i
     mSUM = Application.Sum(sumARR)
     MsgBox "Array  sumARR:" & Chr(13) & String(30, "-") & Chr(13) & _
               Join(sumARR, ";" & Space(1))
     MsgBox "mSUM = " & mSUM
End Sub
0
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
10.11.2013, 18:41  [ТС]
можете написать для примера для трьох показателей если я вам код напишу ?
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
10.11.2013, 18:45
"...если я вам код напишу..."
Давно надо было это сделать. Еще лучше - сформируйте какой-то лист с даными. Я должен сейчас уехать и не знаю на как долго. Но здесь еще кто-то может подключится.
0
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
10.11.2013, 18:57  [ТС]
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
Private Sub CommandButton1_Click()
Dim Валюта_балансу_Пр As Currency
Dim Зобов 'язання_Пр As Currency
Dim Нематеріальні_активи_Пр As Currency
Dim Валюта_балансу_Зр As Currency
Dim Зобовязання_Зр As Currency
Dim Нематеріальні_активи_Зр As Currency
Валюта_балансу_Пр = Val(TextBox1.Text)
Зобовязання_Пр = Val(TextBox2.Text)
Нематеріальні_активи_Пр = Val(TextBox3.Text)
TextBox7.Text = Валюта_балансу_Пр - Зобовязання_Пр - Нематеріальні_активи_Пр
Валюта_балансу_Зр = Val(TextBox4.Text)
Зобовязання_Зр = Val(TextBox5.Text)
Нематеріальні_активи_Зр = Val(TextBox6.Text)
TextBox8.Text = Валюта_балансу_Зр - Зобовязання_Зр - Нематеріальні_активи_Зр
If TextBox7.Text = TextBox8.Text Then
MsgBox ("Не змінився" & " 5 балів")
mSUM = mSUM + 5
Else
If TextBox7.Text > TextBox8.Text Then
MsgBox ("Зменшився" & " 3 бали")
mSUM = mSUM + 3
Else
If TextBox7.Text < TextBox8.Text Then
MsgBox ("Збільшився" & " 7 балів")
mSUM = mSUM + 7
End If
End If
End If
 
Dim Валюта_балансу_Пр1 As Currency
Dim Валюта_балансу_Зр1 As Currency
Валюта_балансу_Пр1 = Val(TextBox9.Text)
Валюта_балансу_Зр1 = Val(TextBox10.Text)
 
If TextBox9.Text = TextBox10.Text Then
MsgBox ("Не змінився" & " 5 балів")
mSUM = mSUM + 5
Else
If TextBox9.Text > TextBox10.Text Then
MsgBox ("Зменшився" & " 3 бали")
mSUM = mSUM + 3
Else
If TextBox9.Text < TextBox10.Text Then
MsgBox ("Збільшився" & " 7 балів")
mSUM = mSUM + 7
End If
End If
End If
 
Dim Капітал_та_резерви_Пр As Currency
Dim Капітал_та_резерви_Зр As Currency
 
Капітал_та_резерви_Пр = Val(TextBox1.Text)
Капітал_та_резерви_Зр = Val(TextBox4.Text)
 
If TextBox11.Text = TextBox12.Text Then
MsgBox ("Не змінився" & " 5 балів")
mSUM = mSUM + 5
Else
If TextBox11.Text > TextBox12.Text Then
MsgBox ("Зменшився" & " 3 бали")
mSUM = mSUM + 3
Else
If TextBox11.Text < TextBox12.Text Then
MsgBox ("Збільшився" & " 7 балів")
mSUM = mSUM + 7
End If
End If
End If
 
End Sub
И как потом к результату условие применить можно будет ? Например, mSUM больше или равно 15 Добре, mSUM от 10 до 14 Плохо, mSUM до 9 Очень плохо

Добавлено через 7 минут
Напишите, пожалуйста, когда вернетесь.
0
 Аватар для Апострофф
9912 / 3933 / 743
Регистрация: 11.10.2011
Сообщений: 5,914
10.11.2013, 19:04
Visual Basic
1
2
3
4
5
6
'...................
select case mSum
case is >= 15: msgbox"Добре"
case is >= 10: msgbox"Плохо"
case else: msgbox"Очень плохо"
end sub
1
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
10.11.2013, 19:06  [ТС]
Помогите, как по моему коду найти mSum
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
10.11.2013, 19:40
Но я все-равно ниииичегоооо не понимаю в Вашем коде.
Кликните здесь для просмотра всего текста
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
55
56
57
58
59
60
Private Sub CommandButton1_Click()
 
Dim Валюта_балансу_Пр As Currency
Dim Валюта_балансу_Пр1 As Currency
Dim Валюта_балансу_Зр1 As Currency
Dim Валюта_балансу_Зр As Currency
 
Dim Зобовязання_Пр As Currency
Dim Зобовязання_Зр As Currency
 
Dim Нематеріальні_активи_Пр As Currency
Dim Нематеріальні_активи_Зр As Currency
 
Dim Капітал_та_резерви_Пр As Currency
Dim Капітал_та_резерви_Зр As Currency
 
Валюта_балансу_Пр = Val(TextBox1.Text)
Валюта_балансу_Зр = Val(TextBox4.Text)
Валюта_балансу_Пр1 = Val(TextBox9.Text)
Валюта_балансу_Зр1 = Val(TextBox10.Text)
 
Зобовязання_Пр = Val(TextBox2.Text)
Зобовязання_Зр = Val(TextBox5.Text)
 
Нематеріальні_активи_Пр = Val(TextBox3.Text)
Нематеріальні_активи_Зр = Val(TextBox6.Text)
 
TextBox7.Text = Валюта_балансу_Пр - Зобовязання_Пр - Нематеріальні_активи_Пр
TextBox8.Text = Валюта_балансу_Зр - Зобовязання_Зр - Нематеріальні_активи_Зр
   
      Select Case TextBox9.Text
         Case Is = TextBox10.Text
            MsgBox ("Не змінився" & " 5 балів")
            mSUM = mSUM + 5
         Case Is > TextBox10.Text
            MsgBox ("Зменшився" & " 3 бали")
            mSUM = mSUM + 3
         Case Is < TextBox10.Text
            MsgBox ("Збільшився" & " 7 балів")
            mSUM = mSUM + 7
      End Select
      
      Select Case TextBox11.Text
         Case Is = TextBox12.Text
            MsgBox ("Не змінився" & " 5 балів")
            mSUM = mSUM + 5
         Case Is > TextBox12.Text
            MsgBox ("Зменшився" & " 3 бали")
            mSUM = mSUM + 3
         Case Is < TextBox12.Text
            MsgBox ("Збільшився" & " 7 балів")
            mSUM = mSUM + 7
      End Select
 
      Select Case mSUM
         Case Is < 10:  MsgBox "VARY  BAD!!!"
         Case 10 To 14: MsgBox "BAD, but not very!"
         Case Is > 14: MsgBox "GOOD!!!"
      End Select
End Sub


Добавлено через 21 минуту
Нет, там я невнимательно сделал. Исправил и упорядочил Ваши даные. И вопросов стало еще больше.
1
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
10.11.2013, 19:42  [ТС]
Спасибо. только как сделать что бы кроме VARY BAD ещё и полученое число показывало ?
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
10.11.2013, 19:50
Нет, Вам нужно начинать с VBA, и потом только браться за userform. Иначе будет большое разочарование!!! В возможностях компа....
Visual Basic
1
2
3
4
5
      Select Case mSUM
         Case Is < 10:  MsgBox "VARY  BAD!!!" & chr(13) & "mSUM =" & space(1) & mSUM
         Case 10 To 14: MsgBox "BAD, but not very!" & chr(13) & "mSUM =" & space(1) & mSUM
         Case Is > 14: MsgBox "GOOD!!!" & chr(13) & "mSUM =" & space(1) & mSUM
      End Select
1
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
10.11.2013, 19:56  [ТС]
То там у меня в коде просто первій показатель расчитівается по формуле, второй и третий просто сравниваются. Спасибо. Теперь думаю все війдет. Если что я вам напишу.
ї
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
10.11.2013, 20:02
Нет, не спасибо. Я там пропустил блок для textbox7.
Кликните здесь для просмотра всего текста
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
   Select Case TextBox7.Text
         Case Is = TextBox8.Text
            MsgBox ("Не змінився" & " 5 балів")
            mSUM = mSUM + 5
         Case Is > TextBox8.Text
            MsgBox ("Зменшився" & " 3 бали")
            mSUM = mSUM + 3
         Case Is < TextBox8.Text
            MsgBox ("Збільшився" & " 7 балів")
            mSUM = mSUM + 7
      End Select

Вставьте, где нравится, но только после этого:
TextBox7.Text = Валюта_балансу_Пр - Зобовязання_Пр - Нематеріальні_активи_Пр
TextBox8.Text = Валюта_балансу_Зр - Зобовязання_Зр - Нематеріальні_активи_Зр
0
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
11.11.2013, 01:10  [ТС]
Это я давно заметил. Как раз собирался сам вводить. Теперь буду остальные 15 показателей аналогично добавлять. Спасибо огромное

Добавлено через 4 часа 43 минуты
А как сделать что бы появлялось MsgBox ("Не змінився" & " 5 балів") не в MsgBox а в лейбл ?

Добавлено через 17 минут
Или в тексбокс? Лишбы на екране появлялось в каком либо елементе а не в MsgBox.
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
11.11.2013, 01:22
Lable1.caption="VARY BAD!!!" & chr(13) & "mSUM =" & space(1) & mSUM
1
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
11.11.2013, 01:46  [ТС]
А остальные MsgBox тоже так заменить ? Мне нужно все их убрать.
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
11.11.2013, 01:59
А какие проблемы? Только куда Вы все это умудряетесь распихать? Можете делать некоторые невидимые:
[some control on userform].visible=false
и на их места (в тех же координатах top, left, [height], [width]) делать видимыми другие [other control].visible=true
И если не секрет - на этот момент у Вас уже сколько форм? Я не могу найти даные по Гинесу.
0
0 / 0 / 0
Регистрация: 10.11.2013
Сообщений: 33
11.11.2013, 02:03  [ТС]
Мне надо что бі всё біло видно. Это ж сдавать. Форма у меня уже одна, а на ней 16 страниц.
0
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
11.11.2013, 02:23
Это что - учебное задание? У препода истерики не будет?
Но в общем, если жизнь заставляет, я стараюсь делать одну, но динамическую userform. Может начинаться такой мааааленькой, на две кнопки, потом что-то нажал - она на весь экран и куча кнопок, опять что-то случайно нажал, она уже другая, и елементы на ней совсем другие, etc.
А если для себя - динамическая таблица-шаблон на листе, куда мои вопросы. Получаю где-то ниже, или сбоку, таблицу результатов. И места море, и видно все и сразу.
Еще только могу посоветовать. Старайтесь не писать код в модулях элементов, просто вызывать из этих модулей процедуры, которые пишете в простом обычном модуле. Легче будет контролировать весь этот ужас.

Добавлено через 6 минут
А 16 страниц - это в vba уже почти "Дело Локвудов" Лиона Фейхтвангера.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.11.2013, 02:23

Необходимо провести интерполяцию, а после получения полинома провести оптимизацию
Всем добрый день. Суть задачи Существует таблица значений координат точек. Необходимо провести интерполяцию, а после получения...

Найти максимальную оценку студента и вывести его ID потом фамилию и максимальную оценку
Здравствуйте! Мне нужно найти максимальную оценку студента и вывести его ID потом фамилию и макс оценку Вот образец INPUT: 3 1...


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru