Страницы: 1
RSS
Работа со сканером бар-кода через UserForm с последующим поиском пустой ячейки в столбце/спуском на ячейку ниже., Кто понимает и кому не лень, прошу помощи, с меня как обычно.
 
Добрый день!

Необходима помощь в представленном во вложении документе.
Я очень плох(вообще никакой) в написании макросов, но возникла необходимость по рабочим обстоятельствам

организовать работу с помощью эксель таблицы.
Суть по порядку:

1)"B2:B600"-организации, предоставившие реестры;
2)"C2:С600"-непосредственно номера реестров, частенько там попадаются дубликаты, кривое форматирование, в этой связи туда добавлена кнопка на удаление дублей и восстановление красивого вида.
3)"D2"- на данный момент только эта ячейка принимает значения из UserForm2, а в надежде было бы замечательно увидеть там диапазон ячеек "D2:D600"
4)При нажатии кнопки "Вызвать строку" открываем UserForm, который содержит TextBox, при изменении которого я проваливаюсь в Modue2 -Start, который запускает отсчет времени +3 сек к текущему времени(этот шарлым -барлым придуман только потому, что штрих-сканер после того, как скопирует данные бар кода не делает Ctr+C Ctr+V, а постепенно вносит эти данные так, словно вписывает с клавиатуры, (это занимает аккурат 3 секунды))
5) Затем отправляем SendKeys ("{Enter}")   (я три дня мучился с невозможностью обратиться к  CommandButton1_Click из модуля в форму)
6) Копируем данные из Текстбокса в ячеку
7) Не представляю как крутить дальше эту кашу.
Вот именно ( в основном) из за седьмого пункта я обращаюсь к гуру экселя, ну или хотя-бы к кому нибудь, кто понимает, что я изначально сделал не так, с надеждой, что у какого-нибудь умника найдется лишний галош отхлестать меня за кривой код...)(заранее благодарю  :)  )
 
Цитата
Антон Зума написал:
7) Не представляю как крутить дальше эту кашу.
Я тоже не понимаю сути вопроса. Открыл файл и вывалился в ошибку, не открывается UserForm1, каково же было мое удивление , когда я этот объект вообще не обнаружил в файле  8-0
"Все гениальное просто, а все простое гениально!!!"
 
суть вопроса в том, что я не понимаю, как из модуля вызвать событие нажатия кнопки в юзер форм+  для текст бокса я не знаю как искать незаполненные ячейки...
 
Цитата
Антон Зума написал:
как из модуля вызвать событие нажатия кнопки в юзер форм+  для текст бокса
Вот это для меня вообще темный лес.
Из какого модуля, какой кнопки? У вас что не нажмешь, все только ошибки вылетают.
"Все гениальное просто, а все простое гениально!!!"
 
Антон Зума, а кнопка CommandButton на форме зачем нужна, если у вас все должно выполняться после изменения в поле TextBox?
 
Вариант, без кнопки CommandButton
 
Александр Макаров,сделал вот так,но эксель назвал меня дураком, и требует объект к

Range("D2").Value = TextBox1.Text

Код
Dim TimeToRun

 Sub MyMacro()
 
    Application.Calculate
    SendKeys ("{Enter}")
    
    Call NextRun2
End Sub


Sub NextRun()

    TimeToRun = Now + TimeValue("00:00:03")
    Application.OnTime TimeToRun, "bezknopki"
    
End Sub
Sub bezknopki()
 
Range("D2").Value = TextBox1.Text
Call MyMacro

End Sub
Изменено: Антон Зума - 05.10.2020 23:09:54
 
Цитата
Антон Зума написал:
Александр Макаров ,сделал вот так,но эксель назвал меня дураком, и требует объект к
Вы вариант мой посмотрели? Может он все-таки подойдет.
 
Александр Макаров,ОГОНЬ, Я ТЕБЯ ОБОЖАЮ!!! :*  
 
Цитата
Антон Зума написал:
Александр Макаров ,сделал вот так,но эксель назвал меня дураком, и требует объект к Range("D2").Value = TextBox1.Text
Ну в данном случае, если вы обращаетесь из модуля к объектам формы нужно указывать к объекту какой формы вы обращаетесь - UserForm2.TextBox1.Text

Для того, чтобы запустить процедуру на форме (то с чем вы бились) нужно было у процедуры CommandButton1_click Private поменять на Public, и тогда её можно было запустить из модуля - Call UserForm2.CommandButton1_click
 
Название темы должно отражать суть проблемы. предлагайте. Заменят модераторы.
Страницы: 1
Наверх