Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 34
1

VBA в MS Excel надо чтобы все введённые значения появлялись на листе только после закрытия последней

01.04.2016, 08:38. Показов 861. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Делал психологический тест в Excel, каждый вопрос появляется в своей UserForm, в которой есть только одно окошко для ответа, куда надо вбить цифру, всего UserForm'ов 12. При нажатии кнопки ДАЛЕЕ закрывается одна форма и открывается следующая с новым вопросом.
Так вот, как сделать так, чтобы после закрытия именно последней формы, считывались значения, введённые в каждой форме и вставлялись в соответствующие ячейки на листе в Excel?
Например, мне надо чтобы после закрытия последней формы цифра, введённая в UserForm1, записывалась в ячейку A1, цифра из UserForm2 - в ячейку A2 и т. д.
Как сделать чтобы значение вставлялось сразу после закрытия каждой формы я знаю:
Visual Basic
1
2
3
4
5
Private Sub CommandButton1_Click()
Range("A1") = Val(TextBox1)
UserForm1.Hide
UserForm2.Show
End Sub
А вот как сделать, чтобы все введённые значения появлялись на листе только после закрытия последней формы, ума не приложу... помогите...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.04.2016, 08:38
Ответы с готовыми решениями:

Как сделать чтобы колонтитул был только на последней странице в листе в ворде?
Подскажите пожалуйста как сделать чтобы колонтитул был только на последней странице в листе в ворде...

Как в отчёте Access сделать так, чтобы итоги появлялись только в конце, а не после каждой записи?
Как в отчёте Access сделать так, чтобы итоги появлялись только в конце, а не после каждой записи?

Удалить все символы строки до последней точки, и взять символы, идущие только после последней точки
Имеется текст примерно такого вида : attachment; filename="Subway_Surfers_1.26.0_money.apk" нужно...

Определение последней строки страницы на листе excel
Как определить последнию строку в первой страницы листа

9
Заблокирован
01.04.2016, 08:44 2
В первой форме -
Visual Basic
1
2
3
4
5
6
Private Sub CommandButton1_Click()
ROWS(1).ROWHEIGHT=0
Range("A1") = Val(TextBox1)
UserForm1.Hide
UserForm2.Show
End Sub
В последней форме -
Visual Basic
1
2
3
4
5
Private Sub CommandButton1_Click()
ROWS(1).ROWHEIGHT=20
Range("A12") = Val(TextBox1)
UserForm12.Hide
End Sub
1
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 34
01.04.2016, 08:52  [ТС] 3
Shersh, спасибо за быстрый ответ, а как сделать, чтобы вводились не в A1-A12, а в C2-N2?
и что значит ROWS(1).ROWHEIGHT=20
0
Заблокирован
01.04.2016, 09:01 4
Вместо ROWS(1).ROWHEIGHT напишите COLUMNS(2).COLUMNWIDTH

Добавлено через 1 минуту
И про циклы бы вам почитать, чтоб не городить кучи форм без всякой нужды...
0
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 34
01.04.2016, 09:21  [ТС] 5
Shersh, сделал вот так:
в первой форме:
Visual Basic
1
2
3
4
5
6
Private Sub CommandButton1_Click()
Columns(2).ColumnWidth = 0
Range("C2") = Val(TextBox1)
UserForm1.Hide
UserForm2.Show
End Sub
в последней форме:
Visual Basic
1
2
3
4
5
Private Sub CommandButton1_Click()
Columns(2).ColumnWidth = 20
Range("N2") = Val(TextBox1)
UserForm12.Hide
End Sub
в итоге записываются значения только в 1 и 12 ячейки...
В 1 вбивается сразу после закрытия 1 формы, в остальных ничего не происходит, ну и в 12 - после закрытия последней
0
Заблокирован
01.04.2016, 09:24 6
Цитата Сообщение от MoTeYs Посмотреть сообщение
Private Sub CommandButton1_Click()
из UserForm2 покажите.
0
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 34
01.04.2016, 09:29  [ТС] 7
Shersh,
Visual Basic
1
2
3
4
5
Private Sub CommandButton1_Click()
'Range("D2") = Val(TextBox1) // специально выкл, иначе сразу после закрытия формы заполняется D2
UserForm2.Hide
UserForm3.Show
End Sub
0
Заблокирован
01.04.2016, 09:38 8
Цитата Сообщение от MoTeYs Посмотреть сообщение
специально выкл
Зачем? Специально мы скрыли второй столбец, чтоб никто не видел, как он заполняется.
Или я не правильно понял вашу хотелку?
0
0 / 0 / 0
Регистрация: 14.12.2015
Сообщений: 34
01.04.2016, 09:50  [ТС] 9
Shersh,
Цитата Сообщение от Shersh Посмотреть сообщение
Специально мы скрыли второй столбец
зачем же скрывать второй столбец? мне надо 2-ю строку

и строку не надо скрывать, таблица рушится... надо чтобы ячейки С2-N2 оставались пустыми до тех пор, пока не закроется 12 форма, и только после этого они все заполняются цифрами из соответсвующих форм, вот...
Это, конечно, не критично, что каждая ячейка у меня заполняется сразу после закрытия каждой формы, просто хочется сделать немного по-аккуратнее...
0
Заблокирован
01.04.2016, 10:02 10
ROWS(2).ROWHEIGHT=0 - прошу пардону, вот вторая строка
Цитата Сообщение от MoTeYs Посмотреть сообщение
хочется сделать немного по-аккуратнее...
Циклы, массивы и ОДНА форма - самое разумное решение.
0
01.04.2016, 10:02
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.04.2016, 10:02
Помогаю со студенческими работами здесь

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

Помочь доделать программу (Надо, чтобы все значения вводились с клавиатуры)
Здравствуйте, дорогие форумчане. Опять нуждаюсь в вас. Мне помочь доделать программу. Задание...

VBA Excel закрытие формы на листе
Не получается закрыть форму при нажатии ESC!! Помогите!!

Код VBA для кнопки на листе Excel
Всем добрый день вечер ночь утро! Подскажите пожалуйста, может кто-нибудь знает чего прописать в...

Как исправить макрос копирования данных Excel так, чтобы он вставлял только значения?
Макрос, приведённый ниже, вставляет и значения ячеек и форматы. А как сделать, чтобы этот же макрос...

Нарисовать средствами VBA на рабочем листе Excel флаг Турции
Добрый вечер! Помогите, пожалуйста. Необходимо нарисовать средствами VBA на рабочем листе Excel...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru