Прошу помочь, не хватает знаний, очень хочется разобраться, но по учебным материалам не могу понять как реализовать, а готового примера нет.
Есть таблица-отчет. Необходимо, чтобы она заполнялась посредством диалоговых окон. В идеале: 1) чтоб была кнопка "Новое обращение". При нажатии на неё появлялось диалоговое окно с возможностью ввода "Укажите время обращения". - и внесенные данные попадали в стоблец "время" 2) После закрытия первого окна, появлялось следующее, уже не со вводом, а с вариантами выбора: "Мужчина/Женщина", и выбранное значение попадало в М и Ж соответственно цифрой 1.
Ну и так далее, по той же логике
Почитал, поизучал, но не могу понять вот какие моменты: - как сделать, чтобы данные попадали в следующую строку после заполненной, и следовали по столбцам этой строки - как сделать диалоговое окно с вариантами? в стандартном варианте можно ведь выбирать только уже готовые значение Да/Нет, Отмена и тд
Таблицу прикладываю. Буду очень благодарен за комментарии!
Добрый день, господа!
Прошу помочь, не хватает знаний, очень хочется разобраться, но по учебным материалам не могу понять как реализовать, а готового примера нет.
Есть таблица-отчет. Необходимо, чтобы она заполнялась посредством диалоговых окон. В идеале: 1) чтоб была кнопка "Новое обращение". При нажатии на неё появлялось диалоговое окно с возможностью ввода "Укажите время обращения". - и внесенные данные попадали в стоблец "время" 2) После закрытия первого окна, появлялось следующее, уже не со вводом, а с вариантами выбора: "Мужчина/Женщина", и выбранное значение попадало в М и Ж соответственно цифрой 1.
Ну и так далее, по той же логике
Почитал, поизучал, но не могу понять вот какие моменты: - как сделать, чтобы данные попадали в следующую строку после заполненной, и следовали по столбцам этой строки - как сделать диалоговое окно с вариантами? в стандартном варианте можно ведь выбирать только уже готовые значение Да/Нет, Отмена и тд
Таблицу прикладываю. Буду очень благодарен за комментарии!red_tea
SLAVICK, спасибо! Это самое простое, что есть в моем варианте, уже разобрался)) А как насчет последовательного появления окон? И ввода именно в строку, следующую за заполненной?) Получается, что мне нужно несколько штук inputbox объединить с userform в определенной последовательности, и чтоб при выполнении одного следовало другое. В этом вся сложность для меня!
SLAVICK, спасибо! Это самое простое, что есть в моем варианте, уже разобрался)) А как насчет последовательного появления окон? И ввода именно в строку, следующую за заполненной?) Получается, что мне нужно несколько штук inputbox объединить с userform в определенной последовательности, и чтоб при выполнении одного следовало другое. В этом вся сложность для меня!red_tea
Получается, что мне нужно несколько штук inputbox объединить с userform в определенной последовательности, и чтоб при выполнении одного следовало другое
Можно так, но я бы сделал БОльшую форму, с всеми нужными полями - посмотрите видео по ссылкам - там вроде доступно показано создание формы и работа с ней.
Получается, что мне нужно несколько штук inputbox объединить с userform в определенной последовательности, и чтоб при выполнении одного следовало другое
Можно так, но я бы сделал БОльшую форму, с всеми нужными полями - посмотрите видео по ссылкам - там вроде доступно показано создание формы и работа с ней. SLAVICK
Тогда какой в ней смысл, таблица и есть форма по сути)
Смысл в том, что при правильном построении в форму можно добавить намного больше информации, которая будет визуально читабельной, и удобной, без лишней информации. или А в таблице Вы сможете сделать несколько вкладок? Если скрывать группировкой - совсем не то. Я не настаиваю, но думаю если сделать кучу всплывающих окон - через несколько часов работник, который заполняет таблицу "улетит", или наделает ошибок (я бы точно ) Посмотрите как можно примерно реализовать формы.
Тогда какой в ней смысл, таблица и есть форма по сути)
Смысл в том, что при правильном построении в форму можно добавить намного больше информации, которая будет визуально читабельной, и удобной, без лишней информации. или А в таблице Вы сможете сделать несколько вкладок? Если скрывать группировкой - совсем не то. Я не настаиваю, но думаю если сделать кучу всплывающих окон - через несколько часов работник, который заполняет таблицу "улетит", или наделает ошибок (я бы точно ) Посмотрите как можно примерно реализовать формы.SLAVICK
Иногда все проще чем кажется с первого взгляда.
Сообщение отредактировал SLAVICK - Вторник, 28.07.2015, 15:02
Это смотря что Вы предпочтете... способов масса. Например у меня в примере заполнение М/Ж : [vba]
Код
Cells(Selection.Row, 5) = 1
[/vba] Это значит, что заполняется ячейка со строкой выделенной ячейки, в 5-м столбце. Тут можно в конце заполнения всех данных строки выделить ячейку строкой ниже: [vba]
Код
Selection.Offset(1).Select
[/vba] Можно завести переменную, например I, и вносить данные в ячейку так: [vba]
Код
Cells(i, 5) = ....
[/vba] а переменную увеличивать в конце заполнения на 1: [vba]
Код
i = i + 1
[/vba]
Это смотря что Вы предпочтете... способов масса. Например у меня в примере заполнение М/Ж : [vba]
Код
Cells(Selection.Row, 5) = 1
[/vba] Это значит, что заполняется ячейка со строкой выделенной ячейки, в 5-м столбце. Тут можно в конце заполнения всех данных строки выделить ячейку строкой ниже: [vba]
Код
Selection.Offset(1).Select
[/vba] Можно завести переменную, например I, и вносить данные в ячейку так: [vba]
Код
Cells(i, 5) = ....
[/vba] а переменную увеличивать в конце заполнения на 1: [vba]
r_ = Range("B" & Rows.Count).End(xlUp).Row + 1' номер строки первой пустой ячейки столбца В Range("C" & r_) = "что-то"'это для примера заполнения в столбце С
[/vba]
Вы про это? [vba]
Код
r_ = Range("B" & Rows.Count).End(xlUp).Row + 1' номер строки первой пустой ячейки столбца В Range("C" & r_) = "что-то"'это для примера заполнения в столбце С
а последнюю непустую ячейку в столбце "B", и добавляет +1. Так например если первая пустая ячейка будет В2, но после нее будут данные в В100, то этот макрос покажет 100+1=101
_Boroda_, на сколько я понял - нужно вносить данные в лист - последовательно строка за строкой. При этом, наверное, не обязательно находить последнюю строку, главное, чтобы переход был на следующую строку после заполнения всех данных.
red_tea, с позволения _Boroda_ - прокомментирую немного подробней: [vba]
а последнюю непустую ячейку в столбце "B", и добавляет +1. Так например если первая пустая ячейка будет В2, но после нее будут данные в В100, то этот макрос покажет 100+1=101
_Boroda_, на сколько я понял - нужно вносить данные в лист - последовательно строка за строкой. При этом, наверное, не обязательно находить последнюю строку, главное, чтобы переход был на следующую строку после заполнения всех данных.SLAVICK
Иногда все проще чем кажется с первого взгляда.
Сообщение отредактировал SLAVICK - Среда, 29.07.2015, 09:35
Сделал все по инструкции, http://www.excel-easy.com/vba/userform.html однако неверно работаю следующие вещи: 1. Комбобокс "Откуда клиент узнал о нас" не показывается изначально, а только когда нажмешь "Очистить", т.е. почему то при открытии формы не происходит initialize 2. Данные не хотят вставать в место, куда им следует - встают в строку 2 и все тут, и не следуют дальше по строкам, а все время в строке 2 зависают.
Все перепроверил, не пойму где я ошибся..
Ребята, помогите добить!
Сделал все по инструкции, http://www.excel-easy.com/vba/userform.html однако неверно работаю следующие вещи: 1. Комбобокс "Откуда клиент узнал о нас" не показывается изначально, а только когда нажмешь "Очистить", т.е. почему то при открытии формы не происходит initialize 2. Данные не хотят вставать в место, куда им следует - встают в строку 2 и все тут, и не следуют дальше по строкам, а все время в строке 2 зависают.
Саш, подобные вещи так глаз замыливают... Я недавно 3 часа ошибку в макросе искал. Подсказали - ты сначала ищешь, а только после дату меняешь! (при переносе из тестовой sub в функцию порядок строк попутал)
Саш, подобные вещи так глаз замыливают... Я недавно 3 часа ошибку в макросе искал. Подсказали - ты сначала ищешь, а только после дату меняешь! (при переносе из тестовой sub в функцию порядок строк попутал)RAN