Приветствую всех. Такая проблема. У меня сделано через макрос вставка даты через кнопку и textbox. Дата оказывается, где надо, и как надо, но excel не воспринимает её как дату(ячейки в формате даты), пока мышкой на эту ячейку не нажмёшь(попытка редактирования, просто выделить ничего не даёт). Соответственно фильтр с условиями для даты не работает, пока по всем датам не пройдёшься. Может кто подскажет что нужно добавить. Файл прикрепляю. Чтобы появилась дата нужно выбрать картридж через форму и нажать на кнопку списать картридж. Дата вставляется через этот код
kostyacher, что же Вы ленитесь? Зачем показываете нам рабочий файл? Нужна помощь? - создайте небольшой аналог с формой, где будет минимум контролов: ТекстБокс и кнопка. Зачем все остальные для решения Вашего вопроса?.
Ігор Гончаренко, я не силён в 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
Они отвечают, за информацию, которая с помощи кнопки записывается в нужную ячейку и считывается с ней.
У меня есть некоторые нюансы, в следствии которых мне нужна информация из 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
Но всё работает уже попробовал на полном рабочем файле, всё как надо, текст становится датой