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

Вход

Регистрация

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

 

= Мир MS Excel/SAP (Екасутр) макрос обработчик файлов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, китин  
SAP (Екасутр) макрос обработчик файлов
andrey-ru-ar Дата: Суббота, 02.11.2019, 17:34 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
обрабатывает файлы выгрузки из SAP (кривые минуса, точки, не верные пробелы не числовые значения и прочую прелесть SAP) в нормальный вид

Возможно кому то пригодится при миграции из SAP в 1C для сопоставления данных.

Внимание уберет 3 строки сверху - там обычно не нужные заголовки.
(файлы можно выбирать группой по шифт, все файлы должны быть закрыты - перенесет в себя листами) пустые листы в обрабатываемых файлах лучше удалить.
К сообщению приложен файл: _SAP__Killer.xlsm (14.5 Kb)
 
Ответить
Сообщениеобрабатывает файлы выгрузки из SAP (кривые минуса, точки, не верные пробелы не числовые значения и прочую прелесть SAP) в нормальный вид

Возможно кому то пригодится при миграции из SAP в 1C для сопоставления данных.

Внимание уберет 3 строки сверху - там обычно не нужные заголовки.
(файлы можно выбирать группой по шифт, все файлы должны быть закрыты - перенесет в себя листами) пустые листы в обрабатываемых файлах лучше удалить.

Автор - andrey-ru-ar
Дата добавления - 02.11.2019 в 17:34
Gustav Дата: Понедельник, 04.11.2019, 23:06 | Сообщение № 2
Группа: Админы
Ранг: Участник клуба
Сообщений: 2790
Репутация: 1154 ±
Замечаний: ±

начинал с Excel 4.0, видел 2.1
Мои "претензии" к решению таковы:
* нужно приложить пример разбираемого файла, хотя бы одного;

* нужны ПОЛЕЗНЫЕ комментарии в коде - 95 % пользователей раздела VBA форума знают смысл оператора Application.ScreenUpdating = False и без комментария, а вот там, где идёт обработка контента, комментариев хотелось бы неколько больше, чем просто "проходим по всем выбранным файлам";

* нужно нормальное форматирование кода, с логично расставленными индентами (отступами) - пока выглядит неряшливо; а обильное использование Select наводит на мысль о том, что это записано макрорекордером на скорую руку и не до конца "причесано";

* константа 23 в операторе
[vba]
Код
Set inRange = Selection.SpecialCells(xlCellTypeConstants, 23)
[/vba]
заставила меня полезть в справку по VBA, чтобы понять, что число это означает сумму констант от включенных "галочек" диалога "Выделить группу ячеек" (Ctrl+G \ Выделить):
[vba]
Код
* числа (константа xlNumbers = 1)
* текст (xlTextValues = 2)
* логические (xlLogical = 4)
* ошибки (xlErrors = 16)
[/vba]Поэтому, на мой взгляд, информативнее было бы оформить этот оператор как:
[vba]
Код
Set inRange = Selection.SpecialCells(xlCellTypeConstants, xlNumbers + xlTextValues + xlLogical + xlErrors)
[/vba]
но об этом, конечно, кто-то должен рассказать в первый раз (например, я :) )


МОИ: Ник, Tip box: 41001663842605
 
Ответить
СообщениеМои "претензии" к решению таковы:
* нужно приложить пример разбираемого файла, хотя бы одного;

* нужны ПОЛЕЗНЫЕ комментарии в коде - 95 % пользователей раздела VBA форума знают смысл оператора Application.ScreenUpdating = False и без комментария, а вот там, где идёт обработка контента, комментариев хотелось бы неколько больше, чем просто "проходим по всем выбранным файлам";

* нужно нормальное форматирование кода, с логично расставленными индентами (отступами) - пока выглядит неряшливо; а обильное использование Select наводит на мысль о том, что это записано макрорекордером на скорую руку и не до конца "причесано";

* константа 23 в операторе
[vba]
Код
Set inRange = Selection.SpecialCells(xlCellTypeConstants, 23)
[/vba]
заставила меня полезть в справку по VBA, чтобы понять, что число это означает сумму констант от включенных "галочек" диалога "Выделить группу ячеек" (Ctrl+G \ Выделить):
[vba]
Код
* числа (константа xlNumbers = 1)
* текст (xlTextValues = 2)
* логические (xlLogical = 4)
* ошибки (xlErrors = 16)
[/vba]Поэтому, на мой взгляд, информативнее было бы оформить этот оператор как:
[vba]
Код
Set inRange = Selection.SpecialCells(xlCellTypeConstants, xlNumbers + xlTextValues + xlLogical + xlErrors)
[/vba]
но об этом, конечно, кто-то должен рассказать в первый раз (например, я :) )

Автор - Gustav
Дата добавления - 04.11.2019 в 23:06
  • Страница 1 из 1
  • 1
Поиск:

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