только нужно соорудить дополнительный, невидимый лейбл, куда и помещать дату для втрого вида форматаЭТО ВОЗМОЖНО!!
Для МЕГА-програмистов, плевое дело!!!
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Прив всем . по поводу первого документа ввода даты ручками то мешает на нижеследующую кнопку или фокус записать TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy")
по поводу второго документа
кобинация Selection.TypeText Text:=Format(iDat, "d MMMM yyyy 'г.'") даст рузультат
14 августа 2008 'г.'
а комбинация Selection.TypeText Text:=Format(iDat,="dd.MM.yyyy") даст 14.08.2008
по поводу второго документа
кобинация Selection.TypeText Text:=Format(iDat, "d MMMM yyyy 'г.'") даст рузультат
14 августа 2008 'г.'
а комбинация Selection.TypeText Text:=Format(iDat,="dd.MM.yyyy") даст 14.08.2008
Уважаемый Бублик!!!Огромное спасибо за подсказку!!!Это как раз то, что я искал. Честно говоря по поводу
По поводу второй версии как раз то, что я искал, единственная проблемка, если сможите подсказать, дело в том, что в своей программе на одной станице UserForm я опперирую несколькими данными дат. И если я прописываю код
Например, на последнем примере, если я прописываю, грубо говоря код Selection.TypeText Text:=Format(iDat, "d MMMM yyyy 'г.'") в "Датаподписания" и тот же код в "СрокДействияДоговора", и как я понял удалении из кода документа Selection.TypeText Text:=TextBox4 и Selection.TypeText Text:=TextBox28 (так как при их оставлении даты задваиваются) и выборе даты в ячейке TextBox4 05.08.2008 он мне высветит их в самом текстовом документе в тех местах в которые я их поставил, но например при этом я бы хотел чтобы одна дата например на "Датаподписания" инициализировалась и вставлялась в данном формате при выборе даты из ячейки TextBox4, а другая вставлялась из ячейки TextBox28 в "СрокДействияДоговора". Т.е. инициализация дат шла бы из разных TextBox'ов При прописании данного кода инициализация из какой ячейки подтягивать даты фактически теряется. Если я конечно все правильно понял!!!Незнаю понятно ли я все объяснил
Приношу извинения за мою тупость в некоторых вопросах написания макроса!!
Заранее благодарен!!! 
не совсем разобрался куда вводить!! Если ввожу в саму ячейку TextBox4, то ячейка не дает набрать вручную дату." писал(а):TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy")
По поводу второй версии как раз то, что я искал, единственная проблемка, если сможите подсказать, дело в том, что в своей программе на одной станице UserForm я опперирую несколькими данными дат. И если я прописываю код
в коде документа нет определенной привязки к TextBox'у. Как бы это по проще объяснить??" писал(а):кобинация Selection.TypeText Text:=Format(iDat, "d MMMM yyyy 'г.'") что дает рузультат 14 августа 2008 'г.', а комбинация Selection.TypeText Text:=Format(iDat,="dd.MM.yyyy") даст 14.08.2008
Например, на последнем примере, если я прописываю, грубо говоря код Selection.TypeText Text:=Format(iDat, "d MMMM yyyy 'г.'") в "Датаподписания" и тот же код в "СрокДействияДоговора", и как я понял удалении из кода документа Selection.TypeText Text:=TextBox4 и Selection.TypeText Text:=TextBox28 (так как при их оставлении даты задваиваются) и выборе даты в ячейке TextBox4 05.08.2008 он мне высветит их в самом текстовом документе в тех местах в которые я их поставил, но например при этом я бы хотел чтобы одна дата например на "Датаподписания" инициализировалась и вставлялась в данном формате при выборе даты из ячейки TextBox4, а другая вставлялась из ячейки TextBox28 в "СрокДействияДоговора". Т.е. инициализация дат шла бы из разных TextBox'ов При прописании данного кода инициализация из какой ячейки подтягивать даты фактически теряется. Если я конечно все правильно понял!!!Незнаю понятно ли я все объяснил
Приношу извинения за мою тупость в некоторых вопросах написания макроса!!



Уважаемый VictorM!!! Стал тестить свою програмку и заметил 2 неприятных момента, я думаю вы сможете мне подсказать, т.к. помагали с Календарем. Расмотрим на последнем примере.
1. При нажатии на кнопку CommandButton3 и вызове Календаря при отказе в выборе даты и нажатии на крестик, автоматически в ячейку TextBox4 вставляется дата, даже если мы нажали на крестик. Можно ли этого избежать
2. Так как в программе при выборе дат я оперирую с датами выдачи паспорта и датами рождения людей, то например при выборе в одной ячейке даты рождения например 10.01.1958, выбирая в другой дату выдачи паспорта Календарь автоматически высвечивает последний период который я выбрал, то есть 1958 год, не мог бы Календарь вставать опять в положение 2008 года, а то это не совсем удобно??
1. При нажатии на кнопку CommandButton3 и вызове Календаря при отказе в выборе даты и нажатии на крестик, автоматически в ячейку TextBox4 вставляется дата, даже если мы нажали на крестик. Можно ли этого избежать
2. Так как в программе при выборе дат я оперирую с датами выдачи паспорта и датами рождения людей, то например при выборе в одной ячейке даты рождения например 10.01.1958, выбирая в другой дату выдачи паспорта Календарь автоматически высвечивает последний период который я выбрал, то есть 1958 год, не мог бы Календарь вставать опять в положение 2008 года, а то это не совсем удобно??
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
1. Измените процедуры вызова календаря по аналогии с приведенным кодом
2. Вставте в модуль формы календаря такой код
Код: Выделить всё
Private Sub CommandButton3_Click()
UserForm2.Show
If iDat = "0:00:00" Then 'если дата небыла выбрана
TextBox4.Value = "" 'то поле бокса пустое
Exit Sub '*
End If '*
TextBox4.Value = Format(iDat, "dd.mm.yyyy")
iDat = "0:00:00" 'очищаем переменную
'если теперь опять открыть календарь
'и просто закрыть "Х", поле бокса очистится
'если такое не понадобится - просто закомментируйте
' эту строчку
End Sub
Код: Выделить всё
Private Sub UserForm_Activate()
Calendar1.Value = Date
End Sub
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
Уважаемый Dark в моем сообщение было прямо написано TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy") для форматирования даты нужно установить на любое ниженаходящееся событие. К примеру при нажатии на кнопку CommandButton29_Click() (т.е ФИО сокращено) поле даты будь оно введено вручную, выбрано из календаря будет отформатировано в "dd.mm.yyyy"
Код
Private Sub CommandButton29_Click()
TextBox24.Value = TextBox11 + " " + TextBox22 + "." + TextBox23 + "."
TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy")
End Sub
По второму вопросу переменную idat можно заменить на нужный textbox что и будет более правильно на случай ручного ввода дат.
Код
Private Sub CommandButton29_Click()
TextBox24.Value = TextBox11 + " " + TextBox22 + "." + TextBox23 + "."
TextBox4.Value = Format(TextBox4.Value, "dd.mm.yyyy")
End Sub
По второму вопросу переменную idat можно заменить на нужный textbox что и будет более правильно на случай ручного ввода дат.
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Смотрим дальше:
Вообще идея связки Word - Excel достаточно интересна.
Например в книге Excel Вы можете вести архив документов по мере их оформления и т.д.
в Excel это делается элементарно, создаем список и пополняем его новыми значениями. А в данном случае, видимо нужно добавлять записи прямо в код VBA, что достаточно проблематично, особенно если он будет защишен.Возможно ли при вводе новых данных в ячейку ComboBox10, нажатии кнопки CommandButton13 и положительном ответе, чтобы данные введенные в ячейку ComboBox10 добовлялись к основным, т.е. истользовать ячейку как БД. Т.е. сейчас ячейка ComboBox10 заполнина данными Российская Феденация, мы вводим например Япония, нажимаем CommandButton13 и оперируем уже 2-мя данными.
Вообще идея связки Word - Excel достаточно интересна.
Например в книге Excel Вы можете вести архив документов по мере их оформления и т.д.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
День добрый VictorM - посмотрите пожалуйста? 
Private Sub CommandButton13_Click()
If MsgBox("Добавить гражданство?", vbOKCancel, "Добавление") = vbOK Then ComboBox10.AddItem ComboBox10.Value
End Sub

Private Sub CommandButton13_Click()
If MsgBox("Добавить гражданство?", vbOKCancel, "Добавление") = vbOK Then ComboBox10.AddItem ComboBox10.Value
End Sub
- VictorM
- Сообщения: 794
- Зарегистрирован: 23 окт 2006, 01:44
- Откуда: Lugansk, Ukraine
- Контактная информация:
Бублик,
Эти данные где-то хранить надо, чтобы была возможность пользоваться ими в дальнейшем.
Иначе это теряет смысл.
оно-то работает, но только до закрытия формы, а это ИМХО не есть гуд.День добрый VictorM - посмотрите пожалуйста?
Эти данные где-то хранить надо, чтобы была возможность пользоваться ими в дальнейшем.
Иначе это теряет смысл.
"Дайте людям рыбы, и вы накормите их на весь день;
научите их ловить рыбу - и вы накормите их на всю жизнь".
научите их ловить рыбу - и вы накормите их на всю жизнь".
VictorM согласен
хранить надо
