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

Вход

Регистрация

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

 

= Мир MS Excel/Нормализация данных из файла csv - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Manyasha, SLAVICK, китин  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Нормализация данных из файла csv (Макросы/Sub)
Нормализация данных из файла csv
JaxTesla Дата: Вторник, 20.10.2020, 19:06 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!

В VBA пока практически ничего не понимаю, поэтому прошу помощи:

Когда я открываю файл, то в нем все данные (числа) сохранены через точку, и положительные числа с знаком +
Если вручную обработать через найти и заменить с точки на запятую, то происходит нормализация данных, и они приводятся в формат чисел.

Попробовал записать макрос вот что получилось:
[vba]
Код
Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
[/vba]
При применении этого кода на вновь открытом файле, точка заменяется на запятую, но значения не становятся числовыми.
Если я правильно понял, то нужно применить функцию к CBool, но с синтаксисом я так и не смог разобраться.

Прошу подсказать, как можно на всем листе (и в выделенном диапазоне) провести нормализацию данных (по мимо чисел, есть столбцы с датой + время) есть столбцы с целым числом.
 
Ответить
СообщениеДобрый день!

В VBA пока практически ничего не понимаю, поэтому прошу помощи:

Когда я открываю файл, то в нем все данные (числа) сохранены через точку, и положительные числа с знаком +
Если вручную обработать через найти и заменить с точки на запятую, то происходит нормализация данных, и они приводятся в формат чисел.

Попробовал записать макрос вот что получилось:
[vba]
Код
Cells.Replace What:=".", Replacement:=",", LookAt:=xlPart, SearchOrder _
        :=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
[/vba]
При применении этого кода на вновь открытом файле, точка заменяется на запятую, но значения не становятся числовыми.
Если я правильно понял, то нужно применить функцию к CBool, но с синтаксисом я так и не смог разобраться.

Прошу подсказать, как можно на всем листе (и в выделенном диапазоне) провести нормализацию данных (по мимо чисел, есть столбцы с датой + время) есть столбцы с целым числом.

Автор - JaxTesla
Дата добавления - 20.10.2020 в 19:06
Hugo Дата: Вторник, 20.10.2020, 19:25 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3130
Репутация: 670 ±
Замечаний: 0% ±

2010, теперь уже с PQ
Добрый день.
Вообще csv - это не родной файл Экселя.
Открывайте его через мастер импорта данных, там ещё можно и вид дат настроить, что обычно тоже страдает.
А PQ вообще отлично их щёлкает!


excel@nxt.ru
webmoney: R418926282008 Z422237915069


Сообщение отредактировал Hugo - Вторник, 20.10.2020, 19:26
 
Ответить
СообщениеДобрый день.
Вообще csv - это не родной файл Экселя.
Открывайте его через мастер импорта данных, там ещё можно и вид дат настроить, что обычно тоже страдает.
А PQ вообще отлично их щёлкает!

Автор - Hugo
Дата добавления - 20.10.2020 в 19:25
JaxTesla Дата: Вторник, 20.10.2020, 19:56 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
И все же, если можно, прошу подсказать как сделать нормализацию.

Вариант открывать предложенным способом неподходит, так как я открываю вайл, нормализую его, выделяю все заполненные ячейки, и копирую в другую таблицу, потом с другим файлом я повторяю операцию, и потом уже в файле эксель, я обрабатываю данные полученные из двух файлов, тут мне важна максимальная скорость.
А если я буду делать это через импорт, то будут создаваться отдельные листы, и даже при импорте, у меня не нормализовались данные.(
 
Ответить
СообщениеИ все же, если можно, прошу подсказать как сделать нормализацию.

Вариант открывать предложенным способом неподходит, так как я открываю вайл, нормализую его, выделяю все заполненные ячейки, и копирую в другую таблицу, потом с другим файлом я повторяю операцию, и потом уже в файле эксель, я обрабатываю данные полученные из двух файлов, тут мне важна максимальная скорость.
А если я буду делать это через импорт, то будут создаваться отдельные листы, и даже при импорте, у меня не нормализовались данные.(

Автор - JaxTesla
Дата добавления - 20.10.2020 в 19:56
JaxTesla Дата: Вторник, 20.10.2020, 20:23 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
А можно написать макрос который будет вызывать диалоговое окно для выбора файла, а загружать данные из выбранного файла нужно в определенную область на листе?
 
Ответить
СообщениеА можно написать макрос который будет вызывать диалоговое окно для выбора файла, а загружать данные из выбранного файла нужно в определенную область на листе?

Автор - JaxTesla
Дата добавления - 20.10.2020 в 20:23
Hugo Дата: Вторник, 20.10.2020, 22:01 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3130
Репутация: 670 ±
Замечаний: 0% ±

2010, теперь уже с PQ


excel@nxt.ru
webmoney: R418926282008 Z422237915069


Сообщение отредактировал Hugo - Вторник, 20.10.2020, 22:04
 
Ответить
СообщениеКонечно можно.
https://docs.microsoft.com/en-us....edialog

Автор - Hugo
Дата добавления - 20.10.2020 в 22:01
JaxTesla Дата: Среда, 21.10.2020, 10:09 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 21
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Спасибо, за подсказку! ) А по первому вопросу подскажите?

 
Ответить
СообщениеСпасибо, за подсказку! ) А по первому вопросу подскажите?


Автор - JaxTesla
Дата добавления - 21.10.2020 в 10:09
Hugo Дата: Среда, 21.10.2020, 10:50 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3130
Репутация: 670 ±
Замечаний: 0% ±

2010, теперь уже с PQ
Я уже подсказал и по первому, и по второму...
А вообще лучше конечно в 2010 открывать csv через PQ. Или я уже говорил об этом?


excel@nxt.ru
webmoney: R418926282008 Z422237915069
 
Ответить
СообщениеЯ уже подсказал и по первому, и по второму...
А вообще лучше конечно в 2010 открывать csv через PQ. Или я уже говорил об этом?

Автор - Hugo
Дата добавления - 21.10.2020 в 10:50
RAN Дата: Среда, 21.10.2020, 12:19 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 5335
Репутация: 1065 ±
Замечаний: 0% ±

2010
Cells.Replace What:=".", Replacement:="."


Быть или не быть, вот в чем загвоздка!

Сообщение отредактировал RAN - Среда, 21.10.2020, 12:20
 
Ответить
СообщениеCells.Replace What:=".", Replacement:="."

Автор - RAN
Дата добавления - 21.10.2020 в 12:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Нормализация данных из файла csv (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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