Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 След.
Автокоррекция ввода даты в TextBox
 
Кому интересно Идею реализовал...
Автокоррекция ввода даты в TextBox
 
Думаю по такому вопросу это не принципиально)))  
Автокоррекция ввода даты в TextBox
 
Доброго
Помогите реализовать.
В UserForm есть TextBox в который пользователь должен ввести дату.
Идея заключается в том, когда человек ввел число, например 12 то сразу автоматом ставится точка, потом он вводит 10 и так же подставляется точка, дальше может быть два развития события либо человек написал 2019 и его курсор автоматический переводится на следующий TextBox или он просто пишет 19 и перейдя на следующий TextBox либо с помощью Tab или курсором 12.10.19 переделывается в 12.10.2019. Так же нужно что бы можно было писать только цифры и подчеркивание "_".
[ Закрыто] Переменная
 
Доброе Уважаемые форумчане.
Меня мучает один вопрос и я решил спросить опытных людей.

У меня есть много текстбоксов в итоге их будет около 30 в каждом текст боксе буду свои правила форматирования текста. Вопрос в следующем.
В данном случае есть ли смысл в переменных? я имею в виду не глупо будет присваивать переменной txt_surname, как вообще делают в таких случаях опытные люди?
Код
Dim Фамилия As String = txt_surname.Text
плохо что я использую русские имена для переменных?
есть ли в этом смысл, возможно в такой ситуации переменная это просто лишнее?
возможно такое действие благотворно влияет на программу и операции будут проходить быстрее?

В качестве примера приведу программный которым я сейчас занимаюсь  (особая благодарность Ігор Гончаренко)
Код
' *****************************************************************************
' ComboBox Кызы \ Оглы
'
Private Sub cbo_kz_og_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If cbo_kz_og.Text = "" Then lbl_kz_og.Visible = True
End Sub

Private Sub cbo_kz_og_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then Exit Sub
    If lbl_kz_og.Visible = True Then lbl_kz_og.Visible = False
End Sub
' *****************************************************************************
' TextBox Фамилия
'
Private Sub txt_surname_Enter()
    ВключитьРусскуюРаскладку
End Sub
Private Sub txt_Surname_Change()
    If txt_surname.Text <> "" Then txt_surname.Text = Up1Letter(txt_surname.Text)
End Sub

Private Sub txt_Surname_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If txt_surname.Text = "" Then lbl_surname.Visible = True
    txt_surname = Trim(txt_surname)
    
End Sub

Private Sub txt_surname_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then Exit Sub
    If lbl_surname.Visible = True Then lbl_surname.Visible = False
    If KeyCode = vbKeyDelete Then
        If txt_surname > "" Then
            txt_surname.Value = ""
    End If
    End If
End Sub

' *****************************************************************************
' TextBox Имя
'
Private Sub txt_name_Enter()
    ВключитьРусскуюРаскладку
End Sub
Private Sub txt_name_Change()
    If txt_name.Text <> "" Then txt_name.Text = Up1Letter(txt_name.Text)
End Sub

Private Sub txt_name_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    If txt_name.Text = "" Then lbl_name.Visible = True
End Sub

Private Sub txt_name_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then Exit Sub
    If lbl_name.Visible = True Then lbl_name.Visible = False
    If KeyCode = vbKeyDelete Then
        If txt_name > "" Then
            txt_name.Value = ""
    End If
    End If
End Sub
Авто форматирование TextBox
 
Задание отдано на выполнение.
Авто форматирование TextBox
 
Logistic, не вижу ничего плохого в том что я на разных форумах одно и тоже пишу.... часто бывает что в одном месте ни кто не ответил а в другом очень бурная дискуссия началась...
Авто форматирование TextBox
 
Доброго.
Помогите реализовать.
Нужно что бы при появление UserForm в TextBox1,2,3,4 были надписи Фамилия, Имя, Отчество, Дата рождения.
--Текст серый и полупрозрачный.
--Как только нажимаешь на поле или переходишь на поле с помощью Tab текст пропадает и вводишь то, что нужно.
--Если в поле нечего не вводилось, то текст с информацией должен появиться снова.
--Так же в TextBox Фамилия, Имя, Отчество нужно сделать, так что бы первая буква автоматический становилась заглавной, а другие строчными (на случай если регистр перепутал).
--В поле дата рождения нужно, что бы текст сам подгонялся под формат дата, к примеру, если я написал 2101999 или 2 11 1999 или 02 октября 1999 а так же 02октября1999 после перехода на другое поле с помощью Tab или курсора мыши введенное значение должно стать 02.10.1999
--в случае когда в это поле было введено любое другое значение, которое ни как не связано с датой, на 5 сек. должно появиться всплывающее уведомление о том, что формат даты не верен, автоматически заполняем поле датой 11.04.1992, фокус на поле дата рождения и выделяем весь текст в поле, начиная с левого края.
--Нужно чтобы исправления, например, в поле Фамилия происходили сразу, как перешёл на другое поле с помощью Tab ли курсора мыши.

Так же есть просьба.... в коде писать описание что делается и зачем.
ComboBox с добавлением новых элементов в Userform
 
Гениально))) А по поводу удаления... как удалить из списка не нужную запись?
Изменено: Шит - 30 Дек 2018 15:29:00
ComboBox с добавлением новых элементов в Userform
 
Юрий М, Буду довольствоваться этим))) Однажды наберусь достаточно знаний и опыты и смогу программно менять значения в ComboBox)))
ComboBox с добавлением новых элементов в Userform
 
Юрий М, Я не хочу захламлять листами свой проект. Плюс ко всему такого способа в гугле не нашел и стало интересно возможно ли это))) Видимо Вариантов не много либо масив либо реестр... но в реестре хранить не удобно но это было интересно)
ComboBox с добавлением новых элементов в Userform
 
А возможно программно изменить код? на подобие как тут.
Просто что бы при нажатие "+" в UserForm_Initialize() Добавлялось строка ComboBox1.AddItem "новый текст"
ComboBox с добавлением новых элементов в Userform
 
Как то давно на Word находил такую формулу. Для того что бы ComboBox запоминал последнее значение которые выбирал пользователь.
Код
Private Sub UserForm_Initialize()
  ComboBox1.AddItem "Иванов"
  ComboBox1.AddItem "Петров"
  ComboBox1.AddItem "Сидоров"
  
  Dim i As Integer
  On Error Resume Next
  i = CInt(ThisDocument.Variables("Combobox1LastChoice").Value)
  If Err.Number <> 0 Then Err.Clear
  ComboBox1.ListIndex = i
End Sub
 
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  Dim var As Variable
 
  For Each var In ThisDocument.Variables
    If var.Name = "Combobox1LastChoice" Then
      Exit For
    End If
  Next
  If var Is Nothing Then
    ThisDocument.Variables.Add "Combobox1LastChoice", ComboBox1.ListIndex
  Else
    var.Value = ComboBox1.ListIndex
  End If
End Sub

Возможно что то подобное можно придумать для Excel ну естественно что бы Лист запоминался.
ComboBox с добавлением новых элементов в Userform
 
Добавляю пример
ComboBox с добавлением новых элементов в Userform
 
На другом форуме мне предложили вот такой вариант
Код
Dim t$, i As Variant 
t = "Premix Drops"
i = Application.Match(t, ComboBox1.List, 0)
 
If Not IsError(i) Then
   MsgBox t & " уже есть с списке и мы его уничтожим ", vbCritical, ""
   ComboBox1.RemoveItem i - 1
Else
   ComboBox1.AddItem t
End If
Единственный недостаток это то что после того как закрываешь UserForm все возвращается в исходное состояние.
Как доработать?  
Изменено: Шит - 29 Дек 2018 21:58:40
ComboBox с добавлением новых элементов в Userform
 
Dima S, Спасибо)) Как узнаю как сделаю)

Цитата
БМВ написал: Проанализируйте свой ник.
Значение Шит
ComboBox с добавлением новых элементов в Userform
 
Цитата
Anchoret написал:
речь о заполнении Комбобокса уникальными значениями?
Да. В ComboBoxe названия Брендов.... в случае если появляется новый бренд, его нужно добавить в список, а на случай если ошибся реализовать удаление.
ComboBox с добавлением новых элементов в Userform
 
Цитата
Sanja написал:
Перенаполняйте Ваш Array нужными на данный момент данными и 'скармливайте' его КомбоБоксу
Хочется это делать через кнопочку на UserForm)))
ComboBox с добавлением новых элементов в Userform
 
Доброго и с Наступающим.
Помогите реализовать.
В UserForm есть ComboBox добавил в него значения с помощью такой формулы
Код
Private Sub UserForm_Initialize()
    ComboBox1.List = Array("Capella", "DIY Flavor Shack", "Flavor West", "Flavorah", "Inawera")
End Sub
Как в таком случае добавить новые элементы в Userform и удалить старые, а так же добавить предупреждение что в списке такой элемент уже присутствует? Мне нужно что бы не было связи ни с диапазоном ни с ячейками.

Заранее спасибо.
Как заставить combobox запоминать последнее значение?
 
Апострофф, Спасибо. Хорошее решение. Но меня интересует возможность запоминать выбор в определенных combobox
Как заставить combobox запоминать последнее значение?
 
Sanja, В UserForm у меня два а в дальнейшем больше Combobox два из них взаимосвязаны ( возможно это важно) В одном списке я выбераю округ в другом район и после того как я закрываю диалоговое окно нужно что эти данные сохранились. то есть при новом открытии UserForm были уже выбраны предыдущие данные.
Как заставить combobox запоминать последнее значение?
 
Sanja, Да это для ворда. Но я думал ризницы большой нет), не очень опытен я в этих делах подскажите про ГЛОБАЛЬНУЮ переменную, что как там делать?
Как заставить combobox запоминать последнее значение?
 
Доброе. Нашел на просторах интернета такой вариант.
Подскажите как сделать так что бы данное действие работала и с ComboBox1, ComboBox2, ComboBox3 и т.д.
Заранее спасибо)
Код
Private Sub UserForm_Initialize()
  ComboBox1.AddItem "Иванов"
  ComboBox1.AddItem "Петров"
  ComboBox1.AddItem "Сидоров"
  
  Dim i As Integer
  On Error Resume Next
  i = CInt(ThisDocument.Variables("ComboboxLastChoice").Value)
  If Err.Number <> 0 Then Err.Clear
  ComboBox1.ListIndex = i
End Sub

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
  Dim var As Variable
  For Each var In ThisDocument.Variables
    If var.Name = "ComboboxLastChoice" Then
      Exit For
    End If
  Next
  If var Is Nothing Then
    ThisDocument.Variables.Add "ComboboxLastChoice", ComboBox1.ListIndex
  Else
    var.Value = ComboBox1.ListIndex
  End If
End Sub
Мульти ВПР или что то подобное
 
Цитата
_Igor_61 написал:А если со временем на каком-то пункте будет не 6 а 26 фамилий?
больше 6 не будет

Цитата
И почему в 1 и во 2-й секции одна и та же фамилия (Шитов)?
Это я продемонстрировал какой формулой пытался вытаскивать фамилии. И то что она не дала нужного мне результата.

Цитата
_Igor_61, Что означают эти шесть секций на листе "Поиск"?
Эти шесть секций это шесть человек.

RAN, http://www.planetaexcel.ru/techniques/2/81/

Цитата
Заполнение БД заявок через J-Walk Усовершенствованная форма данных.
Мотя, спасибо за подсказку я более подробно почитаю на эту тему.

Спасибо за помощь. Больше всего мне подходит вариант от Hugo, буду развивать)
Мульти ВПР или что то подобное
 
Помоги те хотя бы фамилии в нужные ячейки поместить а остальное я с помощью ВПР сделаю)
Изменено: Шит - 12 Ноя 2017 18:30:34
Мульти ВПР или что то подобное
 
Sanja,Хороший вариант) Но все же хочется так как в моем примере сделать)
Мульти ВПР или что то подобное
 
Доброе. Снова Я)

Прошу прощения за такое количество вопросов.
Есть таблица с информацией в ней пункты приема, сотрудники и улицы которые они обслуживают.
На другом листе выподающй список.
Хочу сделать так,что бы при выборе из выпадающего списка определенного пункта показывалось какие сотрудники там работают и какие дома они обслуживают.
Многие скажут что тут мульти ВПР подойдет. Частично да.
Из за того что фамилии часто повторяются результат от мульти ВПР не тот что я хотел.
Помогите решить задачу) Заранее спасибо)
Несколько результатов из выпадающего списка.
 
Доброе. У меня есть таблица, в первом столбце Фамилии людей, во втором Станции метро. Один человек должен поехать на несколько станций. Я сделал выпадающий список с фамилиями. Хочу что бы при выборе фамилии из выпадающего списка в определённых ячейках появлялись станции на которые он должен ехать. Помоги пожалуйста реализовать идею. Гугл не помог(((
Изменено: Шит - 11 Ноя 2017 18:39:55
Назначить абсолютную ссылку для нескольких ячеек одновременно.
 
Казанский,огромное спасибо сработало))
Назначить абсолютную ссылку для нескольких ячеек одновременно.
 
Доброе. У меня есть много много заполненных строк в виде ссылок на разные ячейки. Возможно ли выделить все ячейки и разом их сделать абсолютными или придётся каждую выделять и нажимать F4?
Большой проект по заполнению документа word (vba)
 
Нужен человек который хорошо понимает vba word и Excel так как возможно все будет взаимно связано. Самое сложное в том что нужно будет не просто сделать проект но и объяснить мне как все работает так как на его основе я буду делать другие подобные документы. Все вопросы в личку.
Страницы: 1 2 3 4 След.
Наверх