Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Задержка выполнения макроса при вводе данных в TextBox, Чтоб срабатывал макрос только после ввода всех символов, а не после каждого
 
Не совсем понятно задание.
Как вариант следить за числом введенных символов, если оно известно или сделать обработку TextBox после контрольного символа, например Ввод.
Код
Private Sub TextBox_Change()    
 Dim LenText As Byte    
 LenText = Len(TextBox.Text)
    If LenText = 7 Then
    ' действие
    End If
End Sub

Private Sub TextBox_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 13 Then
    ' действие
    End If
End Sub
Установа SetFocus на объект
 
Юрий М,
Спасибо. Заработало!!!!
Установа SetFocus на объект
 
Если нажать ввод в TextBox1, выполниться Sub sobytie, но фокус не вернется в TextBox1.
Установа SetFocus на объект
 
Добрый вечер. Есть форма на которой Textbox1 в котором надо постоянно держать фокус.
Происходят  действия и фокус надо вернуть в Textbox1.
Если обрабатываю изменения TextBox1 по нажатию "Ввод"  с помощью TextBox1_KeyDown ( именно так мне и надо), фокус останавливается на другом объекте, но далее форма работает и его можно вернуть в TextBox1. В примере останавливается фокус на CommandButton1, а в рабочем файле на кнопке на которой меняется свойство Visible, но в примере так не получается.
Если выполнять TextBox1_Change, все работает корректно.
Может кто подскажет в чем тут загвоздка?
переключение между формами
 
Цитата

The_Prist
Спасибо. Работает. Буду вписывать в свои формы.
переключение между формами
 
Добрый день.

Надо при работе алгоритм, когда закрытие одной формы приводит к открытию другой.
Если формы запускать в модальном режиме, то возникает ошибка при повторном открытии ( как я вижу формы просто не закрываются).
Есть решение запускать в немадальном режиме, тогда переключение происходит корректно, но теряются свойства модальной формы - в частности SetFocus
Вопрос: как реализовать алгоритм переключения между формами, запуская их в модальном режиме?

Код
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Unload Me
UserForm2.Show 1
End If
End Sub



Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
If CloseMode = 0 Then
Unload Me
UserForm1.Show 1
End If
End Sub
В имя Label включить переменную
 
vikttur, для проверки написал строку с константной и Enabled  ( скорей всего добавил из всплывающей подсказки, не сильно рассматривая до буквы).
Обещаю быть внимательней и по пустякам не беспокоить... Хотя учусь и вопросы будут.

Offtop
С пол года находил ответы тут на форуме, а вчера пришлось зарегистрироваться,что бы задать вопрос.
В имя Label включить переменную
 
В продолжение темы возник еще вопрос.
Ме.Controls("имя" & k).Caption(Value) ="значение ячейки из таблицы"  (k переменная) работает замечательно.
Но такая структура - Me.Controls("имя" & k).Enable = False(True) выдает ошибку.
Я где-то ошибся или такая конструкция не работает? и как обратится к свойству элемента формы Enable, обращаясь к его имени подставляя переменную. (см.выше).
В имя Label включить переменную
 
Михаил С, не спорю что до этого все правильно, но Ваша подсказка With Me.... то что надо. Получилось ка-то так
Это часть из кода для теста, но масштабы применения большие. Спасибо.
Код
For j = 8 To 30 Step 3
    With Me
   .Controls("lbl_praca" & k).Caption = Cells(4, j)
    End With
  k = k + 1
 Next j

Изменено: kapso2 - 27.01.2017 22:31:01
В имя Label включить переменную
 
Jungl, с массивом это наверно лучше... Конкретизирую чуть задачу ( наверно не совсем понятно пишу). Есть цикл For... Next и в нем надо обратиться к Lable ( TextBox) и присвоить им значения, для уменьшения кода и универсальности в имени есть цифра и обращаться к объекту  лучше заменяя в имени цифру на переменную.
С массивом  - индекс. спасибо
В имя Label включить переменную
 
из выше прочитанного я понял что обратиться к  Label&i&.Caption =..... с любыми знаками пунктуации нельзя,
только через условие (сравнением)   if(for) oControl.name = "Label" & i... надо читать книжки
В имя Label включить переменную
 
Vitallic, VSerg спасибо буду разбираться и прикручивать это в цикл For...Next.
К Label можно обратиться как к объекту с With.... End With? или как то надо с Control пробовать...

if oControl.name = "Label" & i then oControl.caption = "rrrrr"  - практический готовое решение, только не соображу как это использовать в своем переборе, еще после рабочего дня)))
Изменено: kapso2 - 27.01.2017 18:06:19
В имя Label включить переменную
 
VSerg, мне надо для Label в Name вставить переменную и в цикле обращаться к разным Label.  В Caption переменную не надо дописывать.
В имя Label включить переменную
 
Мне надо заменить в Label1, Label2 и т.д цифры 1, 2, 3, 4 .... на j ( j - переменная)
В имя Label включить переменную
 
да, это целые числа в названиях Label1, Label2 и т.д по которым хочу перебирать, подставляя в название переменную
В имя Label включить переменную
 
На форме есть элементы Label1, Label2 и т.д. Хочу в цикле присвоить им подписи Label(переменная).Caption =, никак не могу правильно написать имя с переменной.
Dim j As Integer..... Label&j&.Caption ="test" и еще много вариантов - возникает ошибка. Если пишу Label1 без переменной все работает. Проблема только написать в имя переменную.
Страницы: 1
Наверх