Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/MonthView изменяю на стандартный элемент - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » MonthView изменяю на стандартный элемент (Макросы/Sub)
MonthView изменяю на стандартный элемент
lebensvoll Дата: Вторник, 09.08.2016, 11:04 | Сообщение № 1
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
Добрый день всем!!!
В виду того что программисты пройдясь с бубнами hands во круг компов не решили мою проблему :'( (кросс темы: 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
К сообщению приложен файл: _-.zip (87.8 Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеДобрый день всем!!!
В виду того что программисты пройдясь с бубнами hands во круг компов не решили мою проблему :'( (кросс темы: 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

Автор - lebensvoll
Дата добавления - 09.08.2016 в 11:04
doober Дата: Вторник, 09.08.2016, 11:24 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте
Скорее всего есть упрощенный вариант для моих действий

Всегда есть.
Календарь достойный уважения.
К сообщению приложен файл: 9814562.zip (88.9 Kb)


 
Ответить
СообщениеЗдравствуйте
Скорее всего есть упрощенный вариант для моих действий

Всегда есть.
Календарь достойный уважения.

Автор - doober
Дата добавления - 09.08.2016 в 11:24
lebensvoll Дата: Вторник, 09.08.2016, 11:52 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
doober, Спасибо вам огромное но прошу вас объясните тогда вот что (((((
Т.е получается что теперь мне не нужно для этого userform2 (как в предложенном файле от SLAVICK userform1)???
А также мне теперь не нужно Module1???
[img][/img]
Просто я хочу удалить все не нужное чтоб не путаться мне в дальнейшем (((( так как все эти коды я помечаю для себя для чего они предназначены (чтоб лишний раз не обращаться на форум за помощью и самому стараться в будущем их применять для других файлов). Прошу меня понять!!! И простить!!!


Кто бы ты ни был, мир в твоих руках
 
Ответить
Сообщениеdoober, Спасибо вам огромное но прошу вас объясните тогда вот что (((((
Т.е получается что теперь мне не нужно для этого userform2 (как в предложенном файле от SLAVICK userform1)???
А также мне теперь не нужно Module1???
[img][/img]
Просто я хочу удалить все не нужное чтоб не путаться мне в дальнейшем (((( так как все эти коды я помечаю для себя для чего они предназначены (чтоб лишний раз не обращаться на форум за помощью и самому стараться в будущем их применять для других файлов). Прошу меня понять!!! И простить!!!

Автор - lebensvoll
Дата добавления - 09.08.2016 в 11:52
SLAVICK Дата: Вторник, 09.08.2016, 12:09 | Сообщение № 4
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Календарь достойный уважения.

Спасибо за "комплимент", но календарь здесь не при чем- он работает исправно :D , просто его не от-туда запускали %) .
Исправляю зачеркнутое на:
doober, спасибо :) . Сразу в архив не заглянул - думал там др. календарь - и воспринял как критику своего календарика :o beer .

мне же нужно чтоб на 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
[/vba]
К сообщению приложен файл: _-.xlsb (79.3 Kb)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Вторник, 09.08.2016, 12:18
 
Ответить
Сообщение
Календарь достойный уважения.

Спасибо за "комплимент", но календарь здесь не при чем- он работает исправно :D , просто его не от-туда запускали %) .
Исправляю зачеркнутое на:
doober, спасибо :) . Сразу в архив не заглянул - думал там др. календарь - и воспринял как критику своего календарика :o beer .

мне же нужно чтоб на 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
[/vba]

Автор - SLAVICK
Дата добавления - 09.08.2016 в 12:09
lebensvoll Дата: Вторник, 09.08.2016, 12:18 | Сообщение № 5
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, да я понял СПАСИБО ВАМ ОГРОМНОЕ ЗА ТАКОЕ СОЗДАНИЕ!!!
Только я так понимаю мне и Module1 также не нужен
[img][/img]
Вот смотрите пожалуйста файл!!! Я ведь все правильно сделал при удалениях!?
К сообщению приложен файл: __2.zip (79.4 Kb)


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеSLAVICK, да я понял СПАСИБО ВАМ ОГРОМНОЕ ЗА ТАКОЕ СОЗДАНИЕ!!!
Только я так понимаю мне и Module1 также не нужен
[img][/img]
Вот смотрите пожалуйста файл!!! Я ведь все правильно сделал при удалениях!?

Автор - lebensvoll
Дата добавления - 09.08.2016 в 12:18
SLAVICK Дата: Вторник, 09.08.2016, 12:22 | Сообщение № 6
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Я ведь все правильно сделал при удалениях!?

Ну раз работает значит верно :D . Модуль 1 - был написан для внесения изменений с моей старой формы. Вам он не нужен.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Я ведь все правильно сделал при удалениях!?

Ну раз работает значит верно :D . Модуль 1 - был написан для внесения изменений с моей старой формы. Вам он не нужен.

Автор - SLAVICK
Дата добавления - 09.08.2016 в 12:22
lebensvoll Дата: Вторник, 09.08.2016, 12:25 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, ЕЩЕ РАЗ СПАСИБО ВАМ ОГРОМНЕЙШЕЕ!!!
ВЫ ПРОСТО МОЙ СПАСИТЕЛЬ С doober, !!!!


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеSLAVICK, ЕЩЕ РАЗ СПАСИБО ВАМ ОГРОМНЕЙШЕЕ!!!
ВЫ ПРОСТО МОЙ СПАСИТЕЛЬ С doober, !!!!

Автор - lebensvoll
Дата добавления - 09.08.2016 в 12:25
lebensvoll Дата: Вторник, 09.08.2016, 13:10 | Сообщение № 8
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
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]
К сообщению приложен файл: _2.zip (85.8 Kb)


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Вторник, 09.08.2016, 13:31
 
Ответить
Сообщение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
Дата добавления - 09.08.2016 в 13:10
doober Дата: Вторник, 09.08.2016, 15:17 | Сообщение № 9
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Цитата
я не правильно мыслил
YES
У меня нет слов. %)
А если календарик предполагается использовать в 10 формах,надо 10 календариков лепить
Изменил тип переменной в модуле MyCalendar_ch
С чистой совестью удалили календать1
К сообщению приложен файл: _3.zip (94.9 Kb)




Сообщение отредактировал doober - Вторник, 09.08.2016, 15:23
 
Ответить
Сообщение
Цитата
я не правильно мыслил
YES
У меня нет слов. %)
А если календарик предполагается использовать в 10 формах,надо 10 календариков лепить
Изменил тип переменной в модуле MyCalendar_ch
С чистой совестью удалили календать1

Автор - doober
Дата добавления - 09.08.2016 в 15:17
lebensvoll Дата: Вторник, 09.08.2016, 15:24 | Сообщение № 10
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
doober,
Цитата
У меня нет слов. %)

Это же было мое мнение как я понял ((((( почему вы сразу так...
Так то он у меня срабатывал и без
Цитата
Изменил тип переменной в модуле MyCalendar_ch
у меня самое ГЛАВНОЕ (ссылки далее по тексту) то не срабатывает (((( вот поэтому я и предположил такой вариант хода своих действий (((((
Цитата
Дата: Вторник, 09.08.2016, 15:01 | Сообщение № 33

My WebPage


Кто бы ты ни был, мир в твоих руках

Сообщение отредактировал lebensvoll - Вторник, 09.08.2016, 15:25
 
Ответить
Сообщениеdoober,
Цитата
У меня нет слов. %)

Это же было мое мнение как я понял ((((( почему вы сразу так...
Так то он у меня срабатывал и без
Цитата
Изменил тип переменной в модуле MyCalendar_ch
у меня самое ГЛАВНОЕ (ссылки далее по тексту) то не срабатывает (((( вот поэтому я и предположил такой вариант хода своих действий (((((
Цитата
Дата: Вторник, 09.08.2016, 15:01 | Сообщение № 33

My WebPage

Автор - lebensvoll
Дата добавления - 09.08.2016 в 15:24
doober Дата: Вторник, 09.08.2016, 16:07 | Сообщение № 11
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
Вот такой я мелочный и нудный.
После моих правок работает?
Принципиально другой подход, передавать не имя объекта а сам объект.


 
Ответить
СообщениеВот такой я мелочный и нудный.
После моих правок работает?
Принципиально другой подход, передавать не имя объекта а сам объект.

Автор - doober
Дата добавления - 09.08.2016 в 16:07
SLAVICK Дата: Вторник, 09.08.2016, 16:18 | Сообщение № 12
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Принципиально другой подход, передавать не имя объекта а сам объект.

Да - так правильнее будет. Просто я делал его под конкретную задачу - вот и поставил конкретную форму.
Так то он у меня срабатывал и без

Срабатывал но только для формы 1. Для универсальности - нужно сделать как написал doober.


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Принципиально другой подход, передавать не имя объекта а сам объект.

Да - так правильнее будет. Просто я делал его под конкретную задачу - вот и поставил конкретную форму.
Так то он у меня срабатывал и без

Срабатывал но только для формы 1. Для универсальности - нужно сделать как написал doober.

Автор - SLAVICK
Дата добавления - 09.08.2016 в 16:18
lebensvoll Дата: Вторник, 09.08.2016, 17:08 | Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
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
Дата добавления - 09.08.2016 в 17:08
SLAVICK Дата: Вторник, 09.08.2016, 18:55 | Сообщение № 14
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
так получается???

не совсем.
Изменил тип переменной

В этом случае значит вместо:
[vba]
Код
Public dateIns As Date, targetTextBox$
[/vba]написано:
[vba]
Код
Public dateIns As Date, targetTextBox
[/vba]
Это значит, что переменная targetTextBox из типа String стала Variant ;) .
только после этого стало возможным изменить:
targetTextBox = "TextBox1" на Set targetTextBox = Me.TextBox1


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
так получается???

не совсем.
Изменил тип переменной

В этом случае значит вместо:
[vba]
Код
Public dateIns As Date, targetTextBox$
[/vba]написано:
[vba]
Код
Public dateIns As Date, targetTextBox
[/vba]
Это значит, что переменная targetTextBox из типа String стала Variant ;) .
только после этого стало возможным изменить:
targetTextBox = "TextBox1" на Set targetTextBox = Me.TextBox1

Автор - SLAVICK
Дата добавления - 09.08.2016 в 18:55
RAN Дата: Вторник, 09.08.2016, 23:02 | Сообщение № 15
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
lebensvoll, не забывайте про кипяток и кофе!


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеlebensvoll, не забывайте про кипяток и кофе!

Автор - RAN
Дата добавления - 09.08.2016 в 23:02
lebensvoll Дата: Среда, 10.08.2016, 09:04 | Сообщение № 16
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
RAN, я помню вы где то мне это говорили про кофе и кипяток
а также за то если А равно Б и т.д.
Но не могу найти это в темах (((( чтоб освежить память. А если это в сообщениях было написано то я их стер (((((
Прошу вас напомните мне еще раз!!! Или поясните чем мне грозит если я не учту кофе и кипяток!???


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеRAN, я помню вы где то мне это говорили про кофе и кипяток
а также за то если А равно Б и т.д.
Но не могу найти это в темах (((( чтоб освежить память. А если это в сообщениях было написано то я их стер (((((
Прошу вас напомните мне еще раз!!! Или поясните чем мне грозит если я не учту кофе и кипяток!???

Автор - lebensvoll
Дата добавления - 10.08.2016 в 09:04
lebensvoll Дата: Среда, 10.08.2016, 09:10 | Сообщение № 17
Группа: Проверенные
Ранг: Старожил
Сообщений: 1002
Репутация: 30 ±
Замечаний: 0% ±

Excel 2010
RAN, нашел
My WebPage
Цитата
Дата: Четверг, 28.07.2016, 18:56 | Сообщение № 10

но только про А и Б (((( а за кипяток ((( нет


Кто бы ты ни был, мир в твоих руках
 
Ответить
СообщениеRAN, нашел
My WebPage
Цитата
Дата: Четверг, 28.07.2016, 18:56 | Сообщение № 10

но только про А и Б (((( а за кипяток ((( нет

Автор - lebensvoll
Дата добавления - 10.08.2016 в 09:10
Мир MS Excel » Вопросы и решения » Вопросы по VBA » MonthView изменяю на стандартный элемент (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!