Форум программистов, компьютерный форум, киберфорум
Наши страницы
VBA
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
6pimka
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 8
1

Организовать ввод чисел до тех пор, пока их сумма не превысит введенного числа m

20.11.2012, 22:23. Просмотров 1203. Ответов 7
Метки нет (Все метки)

В VBA немного разбираюсь, но после пары дней раздумий ничего не вышло....
Прошу помощи!
Организовать ввод чисел до тех пор, пока их сумма не превысит введенного числа m.
Ввод данных и вывод результата осуществить на пользовательскую форму.

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2012, 22:23
Ответы с готовыми решениями:

Выписывать числа Фибоначчи до тех пор, пока их сумма не превысит 100
Составить процедуру, которая записывала числа фибоначчи( f0=f1=1,...

ввод чисел до тех пор, пока не будет введено четное число
Составить процедуру, запрашивающую ввод чисел до тех пор, пока не будет введено...

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

Запрос у пользователя чисел до тех пор, пока пользователь не введет 0
Напишите программу, которая бы запрашивала у пользователя числа до тех пор,...

Вводить последовательность до тех пор, пока не встретятся три подряд идущих положительных числа
Всем добрый вечер, помогите пж Visual Basic Прошлые задачки решал почти без...

7
Alex77755
10775 / 3340 / 561
Регистрация: 13.02.2009
Сообщений: 9,820
20.11.2012, 22:31 2
Do - Loop While тебе в помощь
0
6pimka
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 8
21.11.2012, 18:52  [ТС] 3
Сам код в принципе не сильно сложен, а вот как это всё реализовать на пользовательской форме я не понимаю
0
Скрипт
5446 / 1127 / 49
Регистрация: 15.09.2012
Сообщений: 3,420
21.11.2012, 19:09 4
6pimka, выложите пользовательскую форму.
0
Alex77755
10775 / 3340 / 561
Регистрация: 13.02.2009
Сообщений: 9,820
22.11.2012, 12:35 5
Сам код в принципе не сильно сложен
Ну так выложи свои попытки сюда, а мы поможем, поправим

Добавлено через 3 минуты
Ввод данных и вывод результата осуществить на пользовательскую форму.
Вот с тим будут проблемы: ввод данных на форму!!
Другое дело в контрол на форме. Например в текстбокс
0
6pimka
0 / 0 / 0
Регистрация: 06.11.2012
Сообщений: 8
22.11.2012, 22:40  [ТС] 6
Вот моя форма, которую я подобрал.
И вот код который не работает =(
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Private Sub CommandButton1_Click()
Dim sum As Double
ListBox1.ColumnCount = 2
ListBox1.ColumnWidths = "60;60"
m = CDbl(TextBox1.Text) 'Считывание числа из поля ввода при по-мощи функции CDbl строковый тип преобразуется в число-вой
sum = 0
Do While sum < m
x = CDbl(TextBox2.Text) 'Считывание числа из поля ввода при по-мощи функции CDbl строковый тип преобразуется в число-вой
sum = sum + x
ListBox1.AddItem
ListBox1.List(i - 1, 0) = x
ListBox1.List(i - 1, 1) = Round(sum, 5)
Loop
  TextBox2.Enabled = False 'придание свойства тестовому полю
  Label2.Caption = "Ввод чисел не возможен" 'заполнение надписи
TextBox2.Text = "Превышенно число m"
End Sub
0
Миниатюры
Организовать ввод чисел до тех пор, пока их сумма не превысит введенного числа m  
Скрипт
5446 / 1127 / 49
Регистрация: 15.09.2012
Сообщений: 3,420
23.11.2012, 08:51 7
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
Private Sub UserForm_Initialize()
    
    'Задаём свойства ListBoxу.
    ListBox1.ColumnCount = 2
    ListBox1.ColumnWidths = "60;60"
    
End Sub
 
Private Sub CommandButton1_Click()
    
    'Переменная, созданная с помощью слова Static,
    'сохраняет своё значение и после завершения процедуры.
    'Пока не закроется форма.
    Static sum As Double
    Dim m As Double
    Dim x As Double
    
    'Считывание числа из поля ввода. При помощи функции CDbl
    'строковый тип преобразуется в числовой.
    m = CDbl(TextBox1.Text)
    
    'Считывание числа из поля ввода. При помощи
    'функции CDbl строковый тип преобразуется в числовой.
    x = CDbl(TextBox2.Text)
 
    sum = sum + x
    
    ListBox1.AddItem
 
    'С помощью этого:
    'Me.ListBox1.ListCount - 1
    'определяется количество строк в ListBox.
    'Т.к. строки нумеруются с нуля, то нужно отнять единицу.
    
    'Me - используется, чтобы проще было код писать:
    'когда ставите точку, то появлюятся всплывающие подсказки.
    ListBox1.List(Me.ListBox1.ListCount - 1, 0) = x
    'Функция Round округляет по бухгалтерскому принципу.
    ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Round(sum, 5)
    
    If sum > m Then
        TextBox2.Enabled = False 'придание свойства тестовому полю
        Label2.Caption = "Ввод чисел не возможен" 'заполнение надписи
        TextBox2.Text = "Превышенно число m"
    End If
    
End Sub
1
Alex77755
10775 / 3340 / 561
Регистрация: 13.02.2009
Сообщений: 9,820
23.11.2012, 10:39 8
с Do Loop и проверкой ввода числа
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
Private Sub CommandButton1_Click()
Dim sum As Double
ListBox1.ColumnCount = 2
ListBox1.ColumnWidths = "60;60"
m = CDbl(TextBox1.Text) 'Считывание числа из поля ввода при по-мощи функции CDbl строковый тип преобразуется в число-вой
sum = 0
Randomize
        Do While sum < m
                Do ' проверка ввода числа
                x = InputBox("Введите очередное число", "Ввод чисел", Int(90 * Rnd + 1)) ' Запрос числа
                If x = "" Then Exit Sub ' если нажали отмена
                Loop While IsNumeric(x) = False
        sum = sum + CDbl(x)
        ListBox1.AddItem
        i = i + 1
        ListBox1.List(i - 1, 0) = x
        ListBox1.List(i - 1, 1) = Round(sum, 5)
        Loop
Caption = "Ввод чисел не возможен" 'заполнение надписи
End Sub
1
23.11.2012, 10:39
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.11.2012, 10:39

Копировать ячейки столбца В, начиная с ячейки В7, с Листа2 на Лист1 до тех пор, пока сумма копируемых значений
Помогите пожалуйста! Копировать ячейки столбца В, начиная с ячейки В7, с...

Написать процедуру заполнения таблицы записями до тех пор, пока не будет введено число 999
помогите решит задачу плиз)))

Программа VBA запрашивает пароль(например, четырехзначное число) до тех пор, пока он не будет правильно введен
Программа VBA запрашивает пароль(например, четырехзначное число) до тех пор,...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru