Добрый день всем!!! В виду того что программисты пройдясь с бубнами во круг компов не решили мою проблему (кросс темы: My WebPage) Было принято решение прислушаться к ( _Boroda_, RAN, SLAVICK, ) потому как других выходов скорее всего нет ((((
Цитата
MonthView, DataTimePicker и тп. нормально не работали, не работают, и работать не будут.
Принялся за работу (понять как работает код) от SLAVICK в его посте
Цитата
Дата: Пятница, 05.08.2016, 10:21 | Сообщение № 11
My WebPage СПАСИБО ему огромное за это!!! И вновь сталкиваюсь с проблемой (((( код начал ругаться [img][/img]
[img][/img]
Также не могу сообразить ((( мне же нужно чтоб на UserForm1 при нажатии кнопки выберите дату всплывал календарь (в моем случае если действовать по аналогии как у SLAVICK то UserForm2) и при выборе нужной мне даты дата выставилась на UserForm1 в TextBox1 (а не как у SLAVICK в ячейку С7 листа "Control")
Скорее всего есть упрощенный вариант для моих действий но мне сложно понимать коды (((( ну а тем более их прописывание ((( я даже не смог полностью справиться с предложенным рабочим вариантом (((( Прошу вас помощи многоуважаемые форумчане, спасибо вам огромное заранее.... Прошу меня простить файл прикладываю в зипе ((((( не всем это нравится но он весит просто 112 Kb
Добрый день всем!!! В виду того что программисты пройдясь с бубнами во круг компов не решили мою проблему (кросс темы: My WebPage) Было принято решение прислушаться к ( _Boroda_, RAN, SLAVICK, ) потому как других выходов скорее всего нет ((((
Цитата
MonthView, DataTimePicker и тп. нормально не работали, не работают, и работать не будут.
Принялся за работу (понять как работает код) от SLAVICK в его посте
Цитата
Дата: Пятница, 05.08.2016, 10:21 | Сообщение № 11
My WebPage СПАСИБО ему огромное за это!!! И вновь сталкиваюсь с проблемой (((( код начал ругаться [img][/img]
[img][/img]
Также не могу сообразить ((( мне же нужно чтоб на UserForm1 при нажатии кнопки выберите дату всплывал календарь (в моем случае если действовать по аналогии как у SLAVICK то UserForm2) и при выборе нужной мне даты дата выставилась на UserForm1 в TextBox1 (а не как у SLAVICK в ячейку С7 листа "Control")
Скорее всего есть упрощенный вариант для моих действий но мне сложно понимать коды (((( ну а тем более их прописывание ((( я даже не смог полностью справиться с предложенным рабочим вариантом (((( Прошу вас помощи многоуважаемые форумчане, спасибо вам огромное заранее.... Прошу меня простить файл прикладываю в зипе ((((( не всем это нравится но он весит просто 112 Kblebensvoll
doober, Спасибо вам огромное но прошу вас объясните тогда вот что ((((( Т.е получается что теперь мне не нужно для этого userform2 (как в предложенном файле от SLAVICK userform1)??? А также мне теперь не нужно Module1??? [img][/img] Просто я хочу удалить все не нужное чтоб не путаться мне в дальнейшем (((( так как все эти коды я помечаю для себя для чего они предназначены (чтоб лишний раз не обращаться на форум за помощью и самому стараться в будущем их применять для других файлов). Прошу меня понять!!! И простить!!!
doober, Спасибо вам огромное но прошу вас объясните тогда вот что ((((( Т.е получается что теперь мне не нужно для этого userform2 (как в предложенном файле от SLAVICK userform1)??? А также мне теперь не нужно Module1??? [img][/img] Просто я хочу удалить все не нужное чтоб не путаться мне в дальнейшем (((( так как все эти коды я помечаю для себя для чего они предназначены (чтоб лишний раз не обращаться на форум за помощью и самому стараться в будущем их применять для других файлов). Прошу меня понять!!! И простить!!!lebensvoll
Спасибо за "комплимент", но календарь здесь не при чем- он работает исправно , просто его не от-туда запускали . Исправляю зачеркнутое на: doober, спасибо . Сразу в архив не заглянул - думал там др. календарь - и воспринял как критику своего календарика .
мне же нужно чтоб на UserForm1 при нажатии кнопки выберите дату всплывал календарь
Зачем Вам вообще UserForm2 - это же в моем примере была главная форма, только она была "UserForm1". А Вы часть кода поменяли часть кода нет. См пример - я удалил вообще UserForm2 и запуск происходит с Вашей формы. [vba]
Код
Private Sub CommandButton6_Click() 'Код для календаря MyCalendar.Top = Me.CommandButton6.Top + Me.Top + 40 MyCalendar.Left = Me.CommandButton6.Left + Me.Left - 50 targetTextBox = "TextBox1" If IsDate(Me.TextBox1.Value) Then dateIns = CDate(Me.TextBox1.Value) Run "refreshC" MyCalendar.Show End Sub
Спасибо за "комплимент", но календарь здесь не при чем- он работает исправно , просто его не от-туда запускали . Исправляю зачеркнутое на: doober, спасибо . Сразу в архив не заглянул - думал там др. календарь - и воспринял как критику своего календарика .
мне же нужно чтоб на UserForm1 при нажатии кнопки выберите дату всплывал календарь
Зачем Вам вообще UserForm2 - это же в моем примере была главная форма, только она была "UserForm1". А Вы часть кода поменяли часть кода нет. См пример - я удалил вообще UserForm2 и запуск происходит с Вашей формы. [vba]
Код
Private Sub CommandButton6_Click() 'Код для календаря MyCalendar.Top = Me.CommandButton6.Top + Me.Top + 40 MyCalendar.Left = Me.CommandButton6.Left + Me.Left - 50 targetTextBox = "TextBox1" If IsDate(Me.TextBox1.Value) Then dateIns = CDate(Me.TextBox1.Value) Run "refreshC" MyCalendar.Show End Sub
SLAVICK, да я понял СПАСИБО ВАМ ОГРОМНОЕ ЗА ТАКОЕ СОЗДАНИЕ!!! Только я так понимаю мне и Module1 также не нужен [img][/img] Вот смотрите пожалуйста файл!!! Я ведь все правильно сделал при удалениях!?
SLAVICK, да я понял СПАСИБО ВАМ ОГРОМНОЕ ЗА ТАКОЕ СОЗДАНИЕ!!! Только я так понимаю мне и Module1 также не нужен [img][/img] Вот смотрите пожалуйста файл!!! Я ведь все правильно сделал при удалениях!?lebensvoll
SLAVICK, и все же вопросы остались ((((( которые мне не решить без подсказок (((( Я начал примять ваш календарь для другой формы (которая открывается при нажатии кнопки "редактирование выбранной строки") сам код редактирования все работает. Календарь всплывает можно также дату выбрать, но как только я выбераю дату то дата не меняется в TextBox1 на UserForm3 :'( Проанализировав коды я понимаю вот что: 1. у нас есть форма календаря с кодом: [vba]
Код
Private Sub Fr1_Click()
End Sub
Private Sub Label1_Click()
End Sub
Private Sub Label2_Click() Month_ = Month(Date) Year_ = Year(Date) Run "refreshC" End Sub Private Sub ScrollBar1_Change() If Me.ScrollBar1 = 0 Then Exit Sub If Me.ScrollBar1 = -1 Then If Month_ = 1 Then Month_ = 12 Year_ = Year_ - 1 Else Month_ = Month_ - 1 End If Else If Month_ = 12 Then Month_ = 1 Year_ = Year_ + 1 Else Month_ = Month_ + 1 End If End If Me.ScrollBar1 = 0 refreshC End Sub Public Sub DayClick(ByVal BackColor As Long, ByVal ActiveButton As String) If BackColor = UnactiveMColor Xor BackColor = HeadColor Then Exit Sub UserForm1.Controls(targetTextBox).Value = Format(DateSerial(Year_, Month_, CDbl(ActiveButton)), "dd.mm.yyyy") Unload MyCalendar End Sub Public Sub MoveCursor(ByVal BackColor As Long, ByVal ActiveButton As String) If Not BackColor = MainBackColor And Not BackColor = TargetColor And Not BackColor = ThisDayColor Then Exit Sub For i = IIf(stD = 0, 1, stD) + 7 To 49 If cmdLots(i).DBt.BackColor = MainBackColor Or cmdLots(i).DBt.BackColor = TargetColor Then Me.Label1.Caption = Format(DateSerial(Year_, Month_, ActiveButton), "dd mmmm yyyy") If Not cmdLots(i).DBt.BackColor = ThisDayColor Then If cmdLots(i).DBt.Caption = ActiveButton Then cmdLots(i).DBt.BackColor = TargetColor Else cmdLots(i).DBt.BackColor = MainBackColor End If End If End If Next End Sub Private Sub UserForm_Terminate() DoEvents UserForm1.Repaint Application.ScreenUpdating = True End Sub
[/vba] Где прописано что
Цитата
UserForm1.Controls(targetTextBox).Value = Format(DateSerial(Year_, Month_, CDbl(ActiveButton)), "dd.mm.yyyy") End Sub
Цитата
UserForm1.Repaint
Т.е. получается для каждой своей формы (а у меня их в дальнейшем будет 5-ть) я должен буду также создать дополнительные формы (под названиям: MeCalendar1 и т.д") но прописать там помеченные в цитатах UserForm3 и т.д??? И соответственно в данном коде в любой другой форме изменить этот код (на те созданные календари): [vba]
Код
Private Sub CommandButton6_Click() 'Код для календаря MyCalendar.Top = Me.CommandButton6.Top + Me.Top + 40 MyCalendar.Left = Me.CommandButton6.Left + Me.Left - 50 targetTextBox = "TextBox1" If IsDate(Me.TextBox1.Value) Then dateIns = CDate(Me.TextBox1.Value) ' Me.DateFact1.Value = "" Run "refreshC" MyCalendar.Show End Sub
[/vba]
Цитата
MyCalendar1 и т.д
Если я запутано как то из ложился то скажите пожалуйста мне нужно понять и завершить работу :'(
Я так и сделал как понял (((( результат ОШИБКА МОИХ действий ((( я не правильно мыслил ((( [img][/img]
SLAVICK, и все же вопросы остались ((((( которые мне не решить без подсказок (((( Я начал примять ваш календарь для другой формы (которая открывается при нажатии кнопки "редактирование выбранной строки") сам код редактирования все работает. Календарь всплывает можно также дату выбрать, но как только я выбераю дату то дата не меняется в TextBox1 на UserForm3 :'( Проанализировав коды я понимаю вот что: 1. у нас есть форма календаря с кодом: [vba]
Код
Private Sub Fr1_Click()
End Sub
Private Sub Label1_Click()
End Sub
Private Sub Label2_Click() Month_ = Month(Date) Year_ = Year(Date) Run "refreshC" End Sub Private Sub ScrollBar1_Change() If Me.ScrollBar1 = 0 Then Exit Sub If Me.ScrollBar1 = -1 Then If Month_ = 1 Then Month_ = 12 Year_ = Year_ - 1 Else Month_ = Month_ - 1 End If Else If Month_ = 12 Then Month_ = 1 Year_ = Year_ + 1 Else Month_ = Month_ + 1 End If End If Me.ScrollBar1 = 0 refreshC End Sub Public Sub DayClick(ByVal BackColor As Long, ByVal ActiveButton As String) If BackColor = UnactiveMColor Xor BackColor = HeadColor Then Exit Sub UserForm1.Controls(targetTextBox).Value = Format(DateSerial(Year_, Month_, CDbl(ActiveButton)), "dd.mm.yyyy") Unload MyCalendar End Sub Public Sub MoveCursor(ByVal BackColor As Long, ByVal ActiveButton As String) If Not BackColor = MainBackColor And Not BackColor = TargetColor And Not BackColor = ThisDayColor Then Exit Sub For i = IIf(stD = 0, 1, stD) + 7 To 49 If cmdLots(i).DBt.BackColor = MainBackColor Or cmdLots(i).DBt.BackColor = TargetColor Then Me.Label1.Caption = Format(DateSerial(Year_, Month_, ActiveButton), "dd mmmm yyyy") If Not cmdLots(i).DBt.BackColor = ThisDayColor Then If cmdLots(i).DBt.Caption = ActiveButton Then cmdLots(i).DBt.BackColor = TargetColor Else cmdLots(i).DBt.BackColor = MainBackColor End If End If End If Next End Sub Private Sub UserForm_Terminate() DoEvents UserForm1.Repaint Application.ScreenUpdating = True End Sub
[/vba] Где прописано что
Цитата
UserForm1.Controls(targetTextBox).Value = Format(DateSerial(Year_, Month_, CDbl(ActiveButton)), "dd.mm.yyyy") End Sub
Цитата
UserForm1.Repaint
Т.е. получается для каждой своей формы (а у меня их в дальнейшем будет 5-ть) я должен буду также создать дополнительные формы (под названиям: MeCalendar1 и т.д") но прописать там помеченные в цитатах UserForm3 и т.д??? И соответственно в данном коде в любой другой форме изменить этот код (на те созданные календари): [vba]
Код
Private Sub CommandButton6_Click() 'Код для календаря MyCalendar.Top = Me.CommandButton6.Top + Me.Top + 40 MyCalendar.Left = Me.CommandButton6.Left + Me.Left - 50 targetTextBox = "TextBox1" If IsDate(Me.TextBox1.Value) Then dateIns = CDate(Me.TextBox1.Value) ' Me.DateFact1.Value = "" Run "refreshC" MyCalendar.Show End Sub
[/vba]
Цитата
MyCalendar1 и т.д
Если я запутано как то из ложился то скажите пожалуйста мне нужно понять и завершить работу :'(
Я так и сделал как понял (((( результат ОШИБКА МОИХ действий ((( я не правильно мыслил ((( [img][/img]lebensvoll
YES У меня нет слов. А если календарик предполагается использовать в 10 формах,надо 10 календариков лепить Изменил тип переменной в модуле MyCalendar_ch С чистой совестью удалили календать1
Цитата
я не правильно мыслил
YES У меня нет слов. А если календарик предполагается использовать в 10 формах,надо 10 календариков лепить Изменил тип переменной в модуле MyCalendar_ch С чистой совестью удалили календать1doober
SLAVICK, doober, я вас понял вы сделали так вот: стал код такой на форме: [vba]
Код
Private Sub CommandButton6_Click() 'Код для календаря MyCalendar.Top = Me.CommandButton6.Top + Me.Top + 40 MyCalendar.Left = Me.CommandButton6.Left + Me.Left - 50 Set targetTextBox = Me.TextBox1 If IsDate(Me.TextBox1.Value) Then dateIns = CDate(Me.TextBox1.Value) ' Me.DateFact1.Value = "" Run "refreshC" MyCalendar.Show End Sub
[/vba] а был: [vba]
Код
Private Sub CommandButton6_Click() 'Код для календаря MyCalendar.Top = Me.CommandButton6.Top + Me.Top + 40 MyCalendar.Left = Me.CommandButton6.Left + Me.Left - 50 targetTextBox = "TextBox1" If IsDate(Me.TextBox1.Value) Then dateIns = CDate(Me.TextBox1.Value) ' Me.DateFact1.Value = "" Run "refreshC" MyCalendar.Show End Sub
[/vba] т.е заменить нужно было
Цитата
targetTextBox = "TextBox1" на Set targetTextBox = Me.TextBox1
тем самым мы
Цитата
Изменил тип переменной
так получается??? Да вариант работает СПАСИБО ВАМ ОГРОМНЕЙШЕЕ!!!
SLAVICK, doober, я вас понял вы сделали так вот: стал код такой на форме: [vba]
Код
Private Sub CommandButton6_Click() 'Код для календаря MyCalendar.Top = Me.CommandButton6.Top + Me.Top + 40 MyCalendar.Left = Me.CommandButton6.Left + Me.Left - 50 Set targetTextBox = Me.TextBox1 If IsDate(Me.TextBox1.Value) Then dateIns = CDate(Me.TextBox1.Value) ' Me.DateFact1.Value = "" Run "refreshC" MyCalendar.Show End Sub
[/vba] а был: [vba]
Код
Private Sub CommandButton6_Click() 'Код для календаря MyCalendar.Top = Me.CommandButton6.Top + Me.Top + 40 MyCalendar.Left = Me.CommandButton6.Left + Me.Left - 50 targetTextBox = "TextBox1" If IsDate(Me.TextBox1.Value) Then dateIns = CDate(Me.TextBox1.Value) ' Me.DateFact1.Value = "" Run "refreshC" MyCalendar.Show End Sub
[/vba] т.е заменить нужно было
Цитата
targetTextBox = "TextBox1" на Set targetTextBox = Me.TextBox1
тем самым мы
Цитата
Изменил тип переменной
так получается??? Да вариант работает СПАСИБО ВАМ ОГРОМНЕЙШЕЕ!!!lebensvoll
RAN, я помню вы где то мне это говорили про кофе и кипяток а также за то если А равно Б и т.д. Но не могу найти это в темах (((( чтоб освежить память. А если это в сообщениях было написано то я их стер ((((( Прошу вас напомните мне еще раз!!! Или поясните чем мне грозит если я не учту кофе и кипяток!???
RAN, я помню вы где то мне это говорили про кофе и кипяток а также за то если А равно Б и т.д. Но не могу найти это в темах (((( чтоб освежить память. А если это в сообщениях было написано то я их стер ((((( Прошу вас напомните мне еще раз!!! Или поясните чем мне грозит если я не учту кофе и кипяток!???lebensvoll