Здравствуйте гуру!!! В базе прописано время вот в таком формате ДД.ММ.ГГГГ чч:мм 09.02.2014 09:05 при переносе с базы в Excel формат сохраняется, что очень не удобно, т.к. необходимо только время без даты приходится даты убирать вручную в определенных ячейках, пробовала менять формат инструментами Excel - не помогло либо я не знаю как... Может можно что-то придумать? Заранее спасибо
Здравствуйте гуру!!! В базе прописано время вот в таком формате ДД.ММ.ГГГГ чч:мм 09.02.2014 09:05 при переносе с базы в Excel формат сохраняется, что очень не удобно, т.к. необходимо только время без даты приходится даты убирать вручную в определенных ячейках, пробовала менять формат инструментами Excel - не помогло либо я не знаю как... Может можно что-то придумать? Заранее спасибоDgerri
А чем Вам дата мешает? Просто из эстетических соображений не хотите её видеть? Тогда примените к ячейкам формат чч:мм Зато не будет проблем с вычислением промежутков времени при переходе даты через полночь. Ну или убирайте формулой
Код
=ЧАС(A2) & ":" & МИНУТЫ(A2)
А чем Вам дата мешает? Просто из эстетических соображений не хотите её видеть? Тогда примените к ячейкам формат чч:мм Зато не будет проблем с вычислением промежутков времени при переходе даты через полночь. Ну или убирайте формулой
просто с этого файла часы попадают в табель УРВ, а даты увеличивают размер ячейки чч:мм:сс - не помогает, формат остается неизменны вот сами попробуйте
просто с этого файла часы попадают в табель УРВ, а даты увеличивают размер ячейки чч:мм:сс - не помогает, формат остается неизменны вот сами попробуйтеDgerri
Сообщение отредактировал Dgerri - Среда, 05.11.2014, 10:32
Всё дело в том, что у вас время было вставлено в виде текста. Поэтому и не получалось отформатировать. Если выберете ячейку с вашей датой и временем и нажмёте enter эксель должен распознать дату - после этого можно применить формат "Время". См. файл.
Всё дело в том, что у вас время было вставлено в виде текста. Поэтому и не получалось отформатировать. Если выберете ячейку с вашей датой и временем и нажмёте enter эксель должен распознать дату - после этого можно применить формат "Время". См. файл.buchlotnik
А! Понял в чём дело. У Вас после выгрузки из БД формат ячейки текстовой получается. Если дабл-кликнуть в ячейку, где у Вас 09.02.2014 09:05, то после зтого останется видно только 09:05, т.к. применится заданный Вами формат чч:мм Это частый глюк при работе с БД. Лучше всего, если есть возможность, изменить в БД формат поля данных с ТЕКСТ (это любят делать многие программеры БД чтобы не париться с проверкой форматов вводимых данных) на ДАТА. А если доступа к редактированию БД нет, то надо макросом после выгрузки проходиться для причёсывания форматов. Вот, например, я использую это:
[vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознавались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
[/vba]
А! Понял в чём дело. У Вас после выгрузки из БД формат ячейки текстовой получается. Если дабл-кликнуть в ячейку, где у Вас 09.02.2014 09:05, то после зтого останется видно только 09:05, т.к. применится заданный Вами формат чч:мм Это частый глюк при работе с БД. Лучше всего, если есть возможность, изменить в БД формат поля данных с ТЕКСТ (это любят делать многие программеры БД чтобы не париться с проверкой форматов вводимых данных) на ДАТА. А если доступа к редактированию БД нет, то надо макросом после выгрузки проходиться для причёсывания форматов. Вот, например, я использую это:
[vba]
Код
Sub Repair_Value() ' в выделенных ячейках исправить экспортированные как текст данные чтобы нормально опознавались числа Dim rArea As Range On Error Resume Next ActiveWindow.RangeSelection.SpecialCells(xlCellTypeConstants).Select If Err Then Exit Sub With Application: .ScreenUpdating = False: .EnableEvents = False: .Calculation = xlManual: End With For Each rArea In Selection.Areas rArea.FormulaLocal = rArea.FormulaLocal Next rArea With Application: .ScreenUpdating = True: .EnableEvents = True: .Calculation = xlAutomatic: End With End Sub
т.е. прописывать макрос, а куда его прописать, если я правильно поняла, то надо создать отдельно лист и выгружать туда данные с БД, причесывать, а уж потом в СВОД... я правильно поняла? p.s. поменять в БД нет возможности
т.е. прописывать макрос, а куда его прописать, если я правильно поняла, то надо создать отдельно лист и выгружать туда данные с БД, причесывать, а уж потом в СВОД... я правильно поняла? p.s. поменять в БД нет возможностиDgerri
Сообщение отредактировал Dgerri - Среда, 05.11.2014, 10:48
если доступа к редактированию БД нет, то надо макросом
Это всё очень просто, но если вообще не представляете себе, как работать с макросами, то проще кого-нибудь попросить. Для начала в настройках безопасности нужно разрешить выполнение макросов. Потом в настройке панелей разрешить отображаться вкладке "Разработчик" Нажать "запись макроса" и сказать чтобы макрос сохранялся в личной книге макросов (Personal) После этого пару раз ткнуть мышкой по ячейкам листа и остановить запись макроса. В результате этого у Вас будет автоматически создана личная книга макросов, загружающаяся при запуске Excel, а в неё будут записаны Ваши "мышкодвижения". Нужно будет открыть проект VBA, удалить эту левую запись макроса в нём и вставить мой код процедуры. На ПБД - создать кнопку для вызова процедуры.
если доступа к редактированию БД нет, то надо макросом
Это всё очень просто, но если вообще не представляете себе, как работать с макросами, то проще кого-нибудь попросить. Для начала в настройках безопасности нужно разрешить выполнение макросов. Потом в настройке панелей разрешить отображаться вкладке "Разработчик" Нажать "запись макроса" и сказать чтобы макрос сохранялся в личной книге макросов (Personal) После этого пару раз ткнуть мышкой по ячейкам листа и остановить запись макроса. В результате этого у Вас будет автоматически создана личная книга макросов, загружающаяся при запуске Excel, а в неё будут записаны Ваши "мышкодвижения". Нужно будет открыть проект VBA, удалить эту левую запись макроса в нём и вставить мой код процедуры. На ПБД - создать кнопку для вызова процедуры.Alex_ST
С уважением, Алексей MS Excel 2003 - the best!!!
Сообщение отредактировал Alex_ST - Среда, 05.11.2014, 10:56
Можно еще и без макроса перевести дату в число. Для этого нужно выделить нужный диапазон, нажать ctrl+ h найти - «.» заметить на «.» Заменить все [p.s.]точки вводить без кавычек
Можно еще и без макроса перевести дату в число. Для этого нужно выделить нужный диапазон, нажать ctrl+ h найти - «.» заметить на «.» Заменить все [p.s.]точки вводить без кавычекkrosav4ig