Страницы: 1
RSS
при вставлении даты из textbox в ячейку, дата не распознаётся фильтром как дата
 
Приветствую всех. Такая проблема. У меня сделано через макрос вставка даты через кнопку и textbox. Дата оказывается, где надо, и как надо, но excel не воспринимает её как  дату(ячейки в формате даты), пока мышкой на эту ячейку не нажмёшь(попытка редактирования, просто выделить ничего не даёт).  Соответственно фильтр с условиями для даты не работает, пока по всем датам не пройдёшься.
Может кто подскажет что нужно добавить. Файл прикрепляю.
Чтобы появилась дата нужно выбрать картридж через форму и нажать на кнопку списать картридж.
Дата вставляется через этот код
Код
 nub = Val(Data.Text)
 Data.Text = Format(Now, "dd.mm.yyyy")
Изменено: kostyacher - 20.01.2019 15:00:13
 
kostyacher, что же Вы ленитесь? Зачем показываете нам рабочий файл? Нужна помощь? - создайте небольшой аналог с формой, где будет минимум контролов: ТекстБокс и кнопка. Зачем все остальные для решения Вашего вопроса?.
 
Цитата
kostyacher написал:
Дата вставляется через этот код...
а какая из приведенных 2-х строк должна вставить код в ячейку, по-Вашему?
Изменено: Ігор Гончаренко - 20.01.2019 14:39:53
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Дата в ячейку вставляется корректно:
Код
ActiveCell = CDate(Format(Date, "dd.mm.yyyy"))
 
Юрий М, я изменил на
Код
Dim nub As Integer, n As Integer
 
 nub = Val(Data.Text)
 Data.Text = CDate(Format(Now, "dd.mm.yyyy"))
Всё равно фильтр не видит полученную информацию как "дата".
Изменено: kostyacher - 20.01.2019 15:07:36
 
Вы мой вариант проверили? Можно прямо в окне Immediate выполнить. И зачем Вы добавляете .Text?
 
Ігор Гончаренко,
я не силён в VBA, вообще не силён, для меня это всё "магия" :)

Есть text.box

Имя его Data
Есть кнопка:

Имя CommandButton17
На кнопке висит код:
Код
Private Sub CommandButton17_Click()
Dim nub As Integer, n As Integer
 
 nub = Val(Data.Text)
 Data.Text = CDate(Format(Now, "dd.mm.yyyy"))
 
 n = Val(Number.Text)
 If n < 1 Then Exit Sub
 n = n - (-1)
 
 WriteInfo (n)
 
  i = 1
 Do
  tmp = Лист10.Cells(i, 2)
  If tmp = "" Then Exit Do
  i = i + 1
 Loop
 
 Лист10.Cells(i, 4) = i + (-1)
 i = i + (-1)
 
 Number.Text = i
 
 ReadInfo (i)
End Sub

А ещё есть
Код
Public Sub ReadInfo(n As Integer) If n < 1 Then Exit Sub
 n = n - (-1)
 
 Model.Text = Лист10.Cells(n, 2)
 Index.Text = Лист10.Cells(n, 1)
 Data.Text = Лист10.Cells(n, 3)
End Sub

Public Sub WriteInfo(n As Integer)
Лист10.Cells(n, 2) = Model.Text
Лист10.Cells(n, 1) = Index.Text
Лист10.Cells(n, 3) = Data.Text

End Sub

Они отвечают, за информацию, которая с помощи кнопки записывается в нужную ячейку и считывается с ней.
Изменено: kostyacher - 20.01.2019 15:14:25
 
kostyacher, а зачем нужен TextBox "Data", если в ячейку Вам нужно вставить сегодняшнюю дату?
 
так:
Лист10.Cells(n, 3) = cdate(Data.Text)
дата внесенная в ячейку, распознается фильтром как дата
Изменено: Ігор Гончаренко - 20.01.2019 15:35:11
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
при вставлении даты из
kostyacher,  вы так говорите?
при вставке даты из textbox в ячейку - звучит как то более мелодично.
По вопросам из тем форума, личку не читаю.
 
Стало менее загадочно, чем в начале) В ТextBoxе любая инфа живет как текст. И вам уже как минимум два раза об этом написали. Пора прислушаться.
 
Ну и небольшой файл с ТекстБоксом (только не знаю, зачем он), чтобы лучше понять :)
 
У меня есть некоторые нюансы, в следствии которых мне нужна информация из text.box , чтобы понять, нужно смотреть целиком рабочий файл, а не фрагмент.
Ігор Гончаренко, спасибо, то что надо! Единственное мне пришлось сделать так, иначе выдавало ошибку.
Код
Public Sub WriteInfo(n As Integer)
Лист10.Cells(n, 2) = Model.Text
Лист10.Cells(n, 1) = Index.Text
End Sub

Public Sub WriteInfo2(n As Integer)
Лист10.Cells(n, 3) = CDate(Data.Text)
End Sub
Но всё работает :) уже попробовал на полном рабочем файле, всё как надо, текст становится датой :)
Изменено: kostyacher - 20.01.2019 18:16:42
 
Цитата
kostyacher написал:
есть некоторые нюансы, в следствии которых мне нужна информация из text.box
См. мой пример с ТекстБоксом.
 
Юрий М, спасибо, я посмотрел, но прикрутить не знаю как к тому, что есть :) И чтобы всё это вместе работало, а так сохранил на будущее.
Страницы: 1
Наверх