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

Вход

Регистрация

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

 

= Мир MS Excel/Некорректно отображается дата при формировании отчета. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Некорректно отображается дата при формировании отчета. (Макросы/Sub)
Некорректно отображается дата при формировании отчета.
parovoznik Дата: Воскресенье, 04.12.2016, 01:16 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 440
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Доброго времени суток.
В процессе работы столкнулся с такой проблемой . При формировании отчета за указанный период -дата указывается в формате Общий.
И после формирования отчета нужно каждый раз изменять формат даты в ручную. Можно этот недочет устранить?
К сообщению приложен файл: 9616674.xlsm (61.6 Kb)
 
Ответить
СообщениеДоброго времени суток.
В процессе работы столкнулся с такой проблемой . При формировании отчета за указанный период -дата указывается в формате Общий.
И после формирования отчета нужно каждый раз изменять формат даты в ручную. Можно этот недочет устранить?

Автор - parovoznik
Дата добавления - 04.12.2016 в 01:16
Wasilich Дата: Воскресенье, 04.12.2016, 01:56 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
В коде формирования отчета, эта строка
[vba]
Код
Range(.Cells(5, 1), .Cells(LastRow + 5, 7)).Clear
[/vba]чистит отчет удаляя всё, и форматы тоже. Можно и по другому сделать, хотя наверное, просто добавить в цикле For i = 4 строчку
[vba]
Код
.Cells(LR, 2).NumberFormat = "m/d/yyyy"
[/vba]


Сообщение отредактировал Wasilich - Воскресенье, 04.12.2016, 02:10
 
Ответить
СообщениеВ коде формирования отчета, эта строка
[vba]
Код
Range(.Cells(5, 1), .Cells(LastRow + 5, 7)).Clear
[/vba]чистит отчет удаляя всё, и форматы тоже. Можно и по другому сделать, хотя наверное, просто добавить в цикле For i = 4 строчку
[vba]
Код
.Cells(LR, 2).NumberFormat = "m/d/yyyy"
[/vba]

Автор - Wasilich
Дата добавления - 04.12.2016 в 01:56
_Boroda_ Дата: Воскресенье, 04.12.2016, 03:16 | Сообщение № 3
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16654
Репутация: 6475 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
ClearContents чистит только значения, без форматов


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеClearContents чистит только значения, без форматов

Автор - _Boroda_
Дата добавления - 04.12.2016 в 03:16
parovoznik Дата: Воскресенье, 04.12.2016, 08:15 | Сообщение № 4
Группа: Проверенные
Ранг: Обитатель
Сообщений: 440
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Wasilich, добавил строку
.Cells(LR, 2).NumberFormat = "m/d/yyyy". Вообще ничего не отображается в отчете в колонке дата
К сообщению приложен файл: 5554592.xlsm (61.8 Kb)
 
Ответить
СообщениеWasilich, добавил строку
.Cells(LR, 2).NumberFormat = "m/d/yyyy". Вообще ничего не отображается в отчете в колонке дата

Автор - parovoznik
Дата добавления - 04.12.2016 в 08:15
nilem Дата: Воскресенье, 04.12.2016, 09:07 | Сообщение № 5
Группа: Авторы
Ранг: Старожил
Сообщений: 1612
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
вместо этой строки
[vba]
Код
.Cells(LR, 2).NumberFormat = "m/d/yyyy"
[/vba]
напишите
[vba]
Код
.Cells(LR, 2) = Cells(i, 2)
[/vba]
а вместо этой строки
[vba]
Код
Range(.Cells(5, 1), .Cells(LastRow + 5, 7)).Clear 'Очистили диапазон отчета полностью
[/vba]
напишите
[vba]
Код
Range(.Cells(5, 1), .Cells(LastRow + 5, 7)).ClearContents 'Очистили диапазон отчета полностью
[/vba]
а эта строка лишняя
[vba]
Код
.Cells(2, 2).ClearContents 'Очистили ЗНАЧЕНИЯ в шапке отчета
[/vba]
Рамочки можно нарисовать с помощью УФ
К сообщению приложен файл: _5554592-1.xlsm (52.7 Kb)


Яндекс.Деньги 4100159601573

Сообщение отредактировал nilem - Воскресенье, 04.12.2016, 09:22
 
Ответить
Сообщениевместо этой строки
[vba]
Код
.Cells(LR, 2).NumberFormat = "m/d/yyyy"
[/vba]
напишите
[vba]
Код
.Cells(LR, 2) = Cells(i, 2)
[/vba]
а вместо этой строки
[vba]
Код
Range(.Cells(5, 1), .Cells(LastRow + 5, 7)).Clear 'Очистили диапазон отчета полностью
[/vba]
напишите
[vba]
Код
Range(.Cells(5, 1), .Cells(LastRow + 5, 7)).ClearContents 'Очистили диапазон отчета полностью
[/vba]
а эта строка лишняя
[vba]
Код
.Cells(2, 2).ClearContents 'Очистили ЗНАЧЕНИЯ в шапке отчета
[/vba]
Рамочки можно нарисовать с помощью УФ

Автор - nilem
Дата добавления - 04.12.2016 в 09:07
parovoznik Дата: Воскресенье, 04.12.2016, 15:06 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 440
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
nilem, спасибо. Все работает и кода стало меньше. Пожалуйста прокомментируйте эту
строчку кода :
Cells(LR, 1).Resize(, 6).Value = Cells(i, 1).Resize(, 6).Value
Как Вы сделали границы таблицы?
Еще раз благодарю. hands
 
Ответить
Сообщениеnilem, спасибо. Все работает и кода стало меньше. Пожалуйста прокомментируйте эту
строчку кода :
Cells(LR, 1).Resize(, 6).Value = Cells(i, 1).Resize(, 6).Value
Как Вы сделали границы таблицы?
Еще раз благодарю. hands

Автор - parovoznik
Дата добавления - 04.12.2016 в 15:06
nilem Дата: Воскресенье, 04.12.2016, 15:20 | Сообщение № 7
Группа: Авторы
Ранг: Старожил
Сообщений: 1612
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
[vba]
Код
Cells(i, 1).Resize(, 6).Value
[/vba]
Ну прям как написано: берем ячейку Cells(i, 1) и расширяем ее на 6 столбцов, т.е. получаем диапазон, состоящий из одной строки и 6 столбцов
А потом переносим значения (Value) из этого диапазона в другой диапазон Cells(LR, 1).Resize(, 6) такого же размера
Границы ячеек - с помощью УФ. Там формула =--ДЛСТР ($А3). Т.е. если в ст. А что-то есть, то применяем условное форматир-е, а именно рамочки


Яндекс.Деньги 4100159601573
 
Ответить
Сообщение[vba]
Код
Cells(i, 1).Resize(, 6).Value
[/vba]
Ну прям как написано: берем ячейку Cells(i, 1) и расширяем ее на 6 столбцов, т.е. получаем диапазон, состоящий из одной строки и 6 столбцов
А потом переносим значения (Value) из этого диапазона в другой диапазон Cells(LR, 1).Resize(, 6) такого же размера
Границы ячеек - с помощью УФ. Там формула =--ДЛСТР ($А3). Т.е. если в ст. А что-то есть, то применяем условное форматир-е, а именно рамочки

Автор - nilem
Дата добавления - 04.12.2016 в 15:20
parovoznik Дата: Воскресенье, 04.12.2016, 15:29 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 440
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
nilem, формулы не нашел?
 
Ответить
Сообщениеnilem, формулы не нашел?

Автор - parovoznik
Дата добавления - 04.12.2016 в 15:29
nilem Дата: Воскресенье, 04.12.2016, 15:35 | Сообщение № 9
Группа: Авторы
Ранг: Старожил
Сообщений: 1612
Репутация: 563 ±
Замечаний: 0% ±

Excel 2013, 2016
На ленте - вкладка Главная - Условное форматирование (в группе Стили) - Управление правилами
в появившемся окне сверху "Показать правила форматирования для:" нужно выбрать "Этот лист"


Яндекс.Деньги 4100159601573
 
Ответить
СообщениеНа ленте - вкладка Главная - Условное форматирование (в группе Стили) - Управление правилами
в появившемся окне сверху "Показать правила форматирования для:" нужно выбрать "Этот лист"

Автор - nilem
Дата добавления - 04.12.2016 в 15:35
parovoznik Дата: Воскресенье, 04.12.2016, 15:54 | Сообщение № 10
Группа: Проверенные
Ранг: Обитатель
Сообщений: 440
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
nilem, все разобрался. Спасибо за исчерпывающий ответ
 
Ответить
Сообщениеnilem, все разобрался. Спасибо за исчерпывающий ответ

Автор - parovoznik
Дата добавления - 04.12.2016 в 15:54
Wasilich Дата: Понедельник, 05.12.2016, 01:55 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
просто добавить в цикле For i = 4 строчку
и больше ничего менять не надо было. Эта строчка задает ячейке формат даты. yes
К сообщению приложен файл: parovoznik_.rar (44.7 Kb)


Сообщение отредактировал Wasilich - Понедельник, 05.12.2016, 10:21
 
Ответить
Сообщение
просто добавить в цикле For i = 4 строчку
и больше ничего менять не надо было. Эта строчка задает ячейке формат даты. yes

Автор - Wasilich
Дата добавления - 05.12.2016 в 01:55
parovoznik Дата: Понедельник, 05.12.2016, 07:56 | Сообщение № 12
Группа: Проверенные
Ранг: Обитатель
Сообщений: 440
Репутация: 26 ±
Замечаний: 0% ±

Excel 2013
Wasilich, спасибо. hands
 
Ответить
СообщениеWasilich, спасибо. hands

Автор - parovoznik
Дата добавления - 05.12.2016 в 07:56
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Некорректно отображается дата при формировании отчета. (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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