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

Вход

Регистрация

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

 

= Мир MS Excel/Не правильно распознавание даты - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не правильно распознавание даты (Макросы/Sub)
Не правильно распознавание даты
Asretyq Дата: Пятница, 08.03.2019, 22:51 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток!
Пол дня уже парюсь над мелочью
распознавание даты идет не по формату, что отображено в ячейках, задаю распознавание формата через код [vba]
Код
format ( [a2].value, "dd.mm.yyyy")
[/vba]
Работает, НО дата не может попасть под условие, хотя должна
то есть за счет смены формата, дата становится не "датой")))
Задача - иметь в текстбоксе формат дд.мм.ггг и рабочее условие
К сообщению приложен файл: 6235342.xlsm (20.7 Kb)


Сообщение отредактировал Asretyq - Пятница, 08.03.2019, 23:09
 
Ответить
СообщениеДоброго времени суток!
Пол дня уже парюсь над мелочью
распознавание даты идет не по формату, что отображено в ячейках, задаю распознавание формата через код [vba]
Код
format ( [a2].value, "dd.mm.yyyy")
[/vba]
Работает, НО дата не может попасть под условие, хотя должна
то есть за счет смены формата, дата становится не "датой")))
Задача - иметь в текстбоксе формат дд.мм.ггг и рабочее условие

Автор - Asretyq
Дата добавления - 08.03.2019 в 22:51
krosav4ig Дата: Пятница, 08.03.2019, 23:09 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Здравствуйте
[vba]
Код
Private Sub TextBox1_Change()
[a2].Formula = CDate(TextBox1.Value)
End Sub

Private Sub TextBox2_Change()
[a3].Formula = CDate(TextBox2.Value)
End Sub

Private Sub UserForm_Initialize()
TextBox1.Value = [a2].Text
TextBox2.Value = [a3].Text
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеЗдравствуйте
[vba]
Код
Private Sub TextBox1_Change()
[a2].Formula = CDate(TextBox1.Value)
End Sub

Private Sub TextBox2_Change()
[a3].Formula = CDate(TextBox2.Value)
End Sub

Private Sub UserForm_Initialize()
TextBox1.Value = [a2].Text
TextBox2.Value = [a3].Text
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 08.03.2019 в 23:09
Asretyq Дата: Пятница, 08.03.2019, 23:25 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
krosav4ig, CDate не распознает - выдает ошибку, библиотеку надо ли включать?
Ошибка вылетает при попытке изменить дату в текстбоксе


Сообщение отредактировал Asretyq - Пятница, 08.03.2019, 23:27
 
Ответить
Сообщениеkrosav4ig, CDate не распознает - выдает ошибку, библиотеку надо ли включать?
Ошибка вылетает при попытке изменить дату в текстбоксе

Автор - Asretyq
Дата добавления - 08.03.2019 в 23:25
gling Дата: Суббота, 09.03.2019, 03:15 | Сообщение № 4
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2519
Репутация: 674 ±
Замечаний: 0% ±

2010
Здравствуйте. Попробуйте так[vba]
Код
TextBox1.Value = Format([a2].Value, "dd.MM.yyyy")
[/vba]


ЯД-41001506838083
 
Ответить
СообщениеЗдравствуйте. Попробуйте так[vba]
Код
TextBox1.Value = Format([a2].Value, "dd.MM.yyyy")
[/vba]

Автор - gling
Дата добавления - 09.03.2019 в 03:15
Asretyq Дата: Суббота, 09.03.2019, 12:20 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 200
Репутация: 0 ±
Замечаний: 0% ±

Excel 2013
gling, не хочет, из-за версионности может. Это тоже пробовал
 
Ответить
Сообщениеgling, не хочет, из-за версионности может. Это тоже пробовал

Автор - Asretyq
Дата добавления - 09.03.2019 в 12:20
krosav4ig Дата: Суббота, 09.03.2019, 23:06 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 2346
Репутация: 989 ±
Замечаний: 0% ±

Excel 2007,2010,2013
CDate не распознает

Проверьте tools>references, если есть MISSING отключите их [vba]
Код
Private Sub CommandButton2_Click()
    If [a1] >= [a2] And [a1] <= [a3] Then MsgBox "fgh"
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    Dim dt As Date
    With TextBox1
        If IsDate(.Value) Then
            dt = CDate(.Value)
            .Value = Format(dt, "dd.mm.yyyy")
            [a2].Formula = dt
        Else
            Cancel = True
        End If
    End With
End Sub

Private Sub TextBox2_AfterUpdate()
    Dim dt As Date
    With TextBox2
        If IsDate(.Value) Then
            dt = CDate(.Value)
            .Value = Format(dt, "dd.mm.yyyy")
            [a3].Formula = dt
        Else
            Cancel = True
        End If
    End With
End Sub
Private Sub UserForm_Initialize()
    Application.EnableEvents = 0
    TextBox1 = [a2].Text
    TextBox2 = [a3].Text
    Application.EnableEvents = 1
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщение
CDate не распознает

Проверьте tools>references, если есть MISSING отключите их [vba]
Код
Private Sub CommandButton2_Click()
    If [a1] >= [a2] And [a1] <= [a3] Then MsgBox "fgh"
End Sub

Private Sub TextBox1_BeforeUpdate(ByVal Cancel As MSForms.ReturnBoolean)
    Dim dt As Date
    With TextBox1
        If IsDate(.Value) Then
            dt = CDate(.Value)
            .Value = Format(dt, "dd.mm.yyyy")
            [a2].Formula = dt
        Else
            Cancel = True
        End If
    End With
End Sub

Private Sub TextBox2_AfterUpdate()
    Dim dt As Date
    With TextBox2
        If IsDate(.Value) Then
            dt = CDate(.Value)
            .Value = Format(dt, "dd.mm.yyyy")
            [a3].Formula = dt
        Else
            Cancel = True
        End If
    End With
End Sub
Private Sub UserForm_Initialize()
    Application.EnableEvents = 0
    TextBox1 = [a2].Text
    TextBox2 = [a3].Text
    Application.EnableEvents = 1
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 09.03.2019 в 23:06
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Не правильно распознавание даты (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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