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

Вход

Регистрация

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

 

= Мир MS Excel/Формат ячейки "Полных лет" - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формат ячейки "Полных лет" (Формулы/Formulas)
Формат ячейки "Полных лет"
Gold_Barsik Дата: Вторник, 02.07.2019, 16:19 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 6 ±
Замечаний: 0% ±

2003
Здравствуйте. Помогите с форматом ячейки.
Нужно что бы при вводе даты в ячейку (пример: 5.05.1995), ячейка отображала бы полных лет (1 год, 2 года, 5 лет)
 
Ответить
СообщениеЗдравствуйте. Помогите с форматом ячейки.
Нужно что бы при вводе даты в ячейку (пример: 5.05.1995), ячейка отображала бы полных лет (1 год, 2 года, 5 лет)

Автор - Gold_Barsik
Дата добавления - 02.07.2019 в 16:19
Pelena Дата: Вторник, 02.07.2019, 17:05 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 14547
Репутация: 3186 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Здравствуйте.
Без примера, только общий ответ. Посмотрите готовое решение http://www.excelworld.ru/board/excel/formulas/date_minus_date/3-1-0-8
Первая часть формулы - как раз Ваш случай


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЗдравствуйте.
Без примера, только общий ответ. Посмотрите готовое решение http://www.excelworld.ru/board/excel/formulas/date_minus_date/3-1-0-8
Первая часть формулы - как раз Ваш случай

Автор - Pelena
Дата добавления - 02.07.2019 в 17:05
Gold_Barsik Дата: Вторник, 02.07.2019, 17:17 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 6 ±
Замечаний: 0% ±

2003
Не совсем понял ответ.
Нужно в пустую ячейку внести дату что бы она отобразила возраст (вместо даты).
 
Ответить
СообщениеНе совсем понял ответ.
Нужно в пустую ячейку внести дату что бы она отобразила возраст (вместо даты).

Автор - Gold_Barsik
Дата добавления - 02.07.2019 в 17:17
Pelena Дата: Вторник, 02.07.2019, 17:22 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 14547
Репутация: 3186 ±
Замечаний: ±

Excel 2010, 2016 & Mac Excel
Чтобы получить возраст, надо выполнить вычисления. Формат не умеет производить вычисления.
Поэтому либо формулой, либо макросом


"Черт возьми, Холмс! Но как??!!"
ЯД 41001765434816
 
Ответить
СообщениеЧтобы получить возраст, надо выполнить вычисления. Формат не умеет производить вычисления.
Поэтому либо формулой, либо макросом

Автор - Pelena
Дата добавления - 02.07.2019 в 17:22
Gold_Barsik Дата: Вторник, 02.07.2019, 17:25 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 6 ±
Замечаний: 0% ±

2003
А макросом это как будет выглядеть?
 
Ответить
СообщениеА макросом это как будет выглядеть?

Автор - Gold_Barsik
Дата добавления - 02.07.2019 в 17:25
Nic70y Дата: Вторник, 02.07.2019, 17:29 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5668
Репутация: 1243 ±
Замечаний: 0% ±

ru13;10;03
как-то так наскоряк
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A65536")) Is Nothing Then
        u = Target.Address
        v = Evaluate("=DATEDIF(" & u & ",TODAY(),""y"")")
        b = v Mod 10
        If (v > 4 And v < 20) Or b > 4 Or b = 0 Then
            a = " лет"
        Else
            a = " года"
            If b = 1 Then a = " год"
        End If
        Target.NumberFormat = v & a
    End If
End Sub
[/vba]вдруг правильно


ЯД(poison) 41001841029809

Сообщение отредактировал Nic70y - Вторник, 02.07.2019, 17:30
 
Ответить
Сообщениекак-то так наскоряк
[vba]
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1:A65536")) Is Nothing Then
        u = Target.Address
        v = Evaluate("=DATEDIF(" & u & ",TODAY(),""y"")")
        b = v Mod 10
        If (v > 4 And v < 20) Or b > 4 Or b = 0 Then
            a = " лет"
        Else
            a = " года"
            If b = 1 Then a = " год"
        End If
        Target.NumberFormat = v & a
    End If
End Sub
[/vba]вдруг правильно

Автор - Nic70y
Дата добавления - 02.07.2019 в 17:29
Gold_Barsik Дата: Вторник, 02.07.2019, 17:32 | Сообщение № 7
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 6 ±
Замечаний: 0% ±

2003
А попробую я, была-не была.
 
Ответить
СообщениеА попробую я, была-не была.

Автор - Gold_Barsik
Дата добавления - 02.07.2019 в 17:32
Gold_Barsik Дата: Вторник, 02.07.2019, 17:36 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 6 ±
Замечаний: 0% ±

2003
Не проканала.
нужно в ячейку J6.
Ещё и кошка тут мешается под руками. Можно подумать что в Excel разбирается ).


Сообщение отредактировал Gold_Barsik - Вторник, 02.07.2019, 17:37
 
Ответить
СообщениеНе проканала.
нужно в ячейку J6.
Ещё и кошка тут мешается под руками. Можно подумать что в Excel разбирается ).

Автор - Gold_Barsik
Дата добавления - 02.07.2019 в 17:36
Nic70y Дата: Вторник, 02.07.2019, 17:36 | Сообщение № 9
Группа: Друзья
Ранг: Экселист
Сообщений: 5668
Репутация: 1243 ±
Замечаний: 0% ±

ru13;10;03
чево это?
К сообщению приложен файл: 5754734.xlsm(16.9 Kb)


ЯД(poison) 41001841029809
 
Ответить
Сообщениечево это?

Автор - Nic70y
Дата добавления - 02.07.2019 в 17:36
Nic70y Дата: Вторник, 02.07.2019, 17:38 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5668
Репутация: 1243 ±
Замечаний: 0% ±

ru13;10;03
Range("A1:A65536")
замените на
J6.


ЯД(poison) 41001841029809
 
Ответить
Сообщение
Range("A1:A65536")
замените на
J6.

Автор - Nic70y
Дата добавления - 02.07.2019 в 17:38
Gold_Barsik Дата: Вторник, 02.07.2019, 17:44 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 6 ±
Замечаний: 0% ±

2003
при попытках ввести новые значения (типа 01.01.2019), отображения остаются прежними (2 год, 49 лет, 1 год, 11 лет, 21 год)
 
Ответить
Сообщениепри попытках ввести новые значения (типа 01.01.2019), отображения остаются прежними (2 год, 49 лет, 1 год, 11 лет, 21 год)

Автор - Gold_Barsik
Дата добавления - 02.07.2019 в 17:44
Gold_Barsik Дата: Вторник, 02.07.2019, 17:45 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 6 ±
Замечаний: 0% ±

2003
менял, ругается, на Worksheet_Change
а на 2003 не пробовал?


Сообщение отредактировал Gold_Barsik - Вторник, 02.07.2019, 21:25
 
Ответить
Сообщениеменял, ругается, на Worksheet_Change
а на 2003 не пробовал?

Автор - Gold_Barsik
Дата добавления - 02.07.2019 в 17:45
Nic70y Дата: Среда, 03.07.2019, 08:15 | Сообщение № 13
Группа: Друзья
Ранг: Экселист
Сообщений: 5668
Репутация: 1243 ±
Замечаний: 0% ±

ru13;10;03
пробовал, только что на серваке,
на компе 2010,
хотя это значения не имеет.

макрос в модуле листа?
должен быть там.
макросы вообще подключены?
должны быть подключены.
К сообщению приложен файл: 2256883.xls(27.5 Kb)


ЯД(poison) 41001841029809
 
Ответить
Сообщениепробовал, только что на серваке,
на компе 2010,
хотя это значения не имеет.

макрос в модуле листа?
должен быть там.
макросы вообще подключены?
должны быть подключены.

Автор - Nic70y
Дата добавления - 03.07.2019 в 08:15
Gold_Barsik Дата: Суббота, 13.07.2019, 11:05 | Сообщение № 14
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 6 ±
Замечаний: 0% ±

2003
Ну вот, добрался до компа.
Макросы разрешаю при запуске файла.
А вот насчёт модуля не совсем так. Модуля нет, прописываю как и у вас в листе. Но. Там получается что два макроса "Private Sub Worksheet_Change(ByVal Target As Range)". Можно ли так? Не знаю. Может из-за этого выскакивает ошибка?
Файл "малость" переделал. Ячейка для возраста F6.

Уф. получилось. Объединил оба макроса. Большое спасибо!
К сообщению приложен файл: 4179619.xls(72.5 Kb)


Сообщение отредактировал Gold_Barsik - Суббота, 13.07.2019, 11:15
 
Ответить
СообщениеНу вот, добрался до компа.
Макросы разрешаю при запуске файла.
А вот насчёт модуля не совсем так. Модуля нет, прописываю как и у вас в листе. Но. Там получается что два макроса "Private Sub Worksheet_Change(ByVal Target As Range)". Можно ли так? Не знаю. Может из-за этого выскакивает ошибка?
Файл "малость" переделал. Ячейка для возраста F6.

Уф. получилось. Объединил оба макроса. Большое спасибо!

Автор - Gold_Barsik
Дата добавления - 13.07.2019 в 11:05
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Формат ячейки "Полных лет" (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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