Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

по вводу времени формат в СЕГОДНЯ - формат или формула?

Автор edmar07, 20.03.2013, 21:58

« назад - далее »

edmar07

Всем привет еще раз!!!

Подскажите, как заставить таблицу понимать при вводе времени 18:00, что это 18:00 20.03.13, а не 18:00 00.01.1900?

zs

Обычно над таблицей в правом углу ставится (в тыс.) (в руб.) или т.п. (z.B. =СЕГОДНЯ) и каждое значение времени будет привязано к текущей дате
Ч(А1)+Ч(А2)

_Boroda_

А положите-ка файлик. С объяснялкой. Не ясно, зачем Вам это нужно. Точнее, есть несколько вариантов, зачем это может быть нужно и, соответственно, несколько вариантов решения.
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

edmar07

#3
Цитата: _Boroda_ от 20.03.2013, 22:34
А положите-ка файлик. С объяснялкой. Не ясно, зачем Вам это нужно. Точнее, есть несколько вариантов, зачем это может быть нужно и, соответственно, несколько вариантов решения.
Файла нет под рукой, я с мобил

Мысль такова:
- на одной странице все данные времени только за сегодня;
- чем больше данных вводят тем больше ошибок
- ну и меньше времени на ввод данных.

edmar07

Цитата: zs от 20.03.2013, 22:33
Обычно над таблицей в правом углу ставится (в тыс.) (в руб.) или т.п. (z.B. =СЕГОДНЯ) и каждое значение времени будет привязано к текущей дате
Ч(А1)+Ч(А2)
Сегодня - не подходит, введенное 20-го должно им и остаться, а 21-го - 21!!

edmar07

Цитата: _Boroda_ от 20.03.2013, 22:34
А положите-ка файлик. С объяснялкой. Не ясно, зачем Вам это нужно. Точнее, есть несколько вариантов, зачем это может быть нужно и, соответственно, несколько вариантов решения.

вот и файлик с пояснением ))

_Boroda_

Можно так:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If [A1] = 1111 Then Exit Sub
If Target < 1 And Target > 0 Then
    Target = Target + Date
    Target.NumberFormat = "h:mm;@"
End If
End Sub

Отключается вводом в ячейку А1 четырех единиц 1111 (при желании можно поменять)
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

edmar07

#7
Цитата: _Boroda_ от 21.03.2013, 20:34
Можно так:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If [A1] = 1111 Then Exit Sub
If Target < 1 And Target > 0 Then
    Target = Target + Date
    Target.NumberFormat = "h:mm;@"
End If
End Sub

Отключается вводом в ячейку А1 четырех единиц 1111 (при желании можно поменять)
спасибо, все супер!!! плюсик поставил))

но как всегда выплыл следующий "камень"

теперь нужно вот что:
- есть начало операции и конец, если все в одни сутки, то все хорошо!!
- но если операция заканчивается на следующий день... !?!?
- можно ли сделать, чтоб проверить ячейку рядом (слева) если время начала больше - то прибавить 1 день
- с учетом что там будет вводится не одна такая операция, а целый каскад 

пример прикрутил, кстати, там макрос, который из 4 цифр делает дату, как бы его переделать чтоб он еще любой разделитель между 4 цифрами в : переделывал.

спасибо сразу

_Boroda_

На 1 день больше
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If [A1] = 1111 Then Exit Sub
Application.ScreenUpdating = 0
If Target < 1 And Target > 0 Then
    If Target.Column > 1 Then
        If Target.Offset(, -1) > Target Then s_ = 1
    End If
    Target = Target + Date + s_
    Target.NumberFormat = "h:mm;@"
End If
Application.ScreenUpdating = 1
End Sub


А замену вам точно нужно? Стремно,  можно и нарваться
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

edmar07

Цитата: _Boroda_ от 25.03.2013, 17:01

А замену вам точно нужно? Стремно,  можно и нарваться

нужно, как вариант!!! спасибо!
пока все в кучу леплю, тут у меня много всяких вопросов, как только что-то сделаю сразу еще один или два вылазят!!!
вот еще темку наваял

_Boroda_

Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

edmar07

Цитата: _Boroda_ от 25.03.2013, 17:56
Ну, если так нужно, держите

он прибавляет день даже если время попадает в одни сутки!!

_Boroda_

Ну да, не учел там ...
Сейчас вроде нормально.
Кстати, макрос, который там был, я почти не трогал, хотя он мне и не нравится. Просто накидал заплаток и переделок.
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

edmar07

Цитата: _Boroda_ от 26.03.2013, 10:17
Сейчас вроде нормально.
отлично работает, спасибо!!! чет плюсики не ставятся!!! значит позже ляпну

Цитата: _Boroda_ от 26.03.2013, 10:17
Кстати, макрос, который там был, я почти не трогал, хотя он мне и не нравится. Просто накидал заплаток и переделок.
а что с ним?
мне по замене времени конечно нужно было-бы хорошо чтоб еще и любой разделитель заменял на : (двоеточие) ну мало-ли кто какую ошибку сделает, у меня тёти будут заполнять, причем с экселем они не очень дружны ))))

_Boroda_

Цитата: edmar07 от 27.03.2013, 11:36
мне по замене времени конечно нужно было-бы хорошо чтоб еще и любой разделитель заменял на : (двоеточие) ну мало-ли кто какую ошибку сделает, у меня тёти будут заполнять, причем с экселем они не очень дружны ))))
А разве я это не сделал?
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995