EXCEL to CSV (VBA) - PullRequest
       20

EXCEL to CSV (VBA)

0 голосов
/ 27 марта 2020

Мне нужно экспортировать лист Excel в cdv (легко), но мне нужен этот формат для чисел:

102.682,35

, и мой файл csv делает это: 3928.5400000000027

Мне нужен разделитель цитат тысяч.

Есть идеи?

1 Ответ

0 голосов
/ 27 марта 2020

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

Во-вторых, если вам действительно нужна запятая в CSV-файле с тысячами, вы можете сделать это самостоятельно с помощью VBA, научившись создавать al oop для вашего диапазона данных и записывать в текстовый файл в формате CSV. , Теперь в CSV важно то, что «разделитель» не обязательно должен быть «запятой» (хотя CSV означает «значения, разделенные запятыми»). Вы можете выбрать любой символ, который не будет использоваться в любом значении.

Обычно вы делаете это, если в значении, таком как строка, возможно появление запятой:

 This is a sentence, but it has a comma embedded within it.

В вашем случае вам нужна запятая в числовом значении 133,491.234 , Поэтому для разделителя в CSV-файле выберите другой символ, например вертикальную трубу |. Теперь значения в CSV-файле будут выглядеть следующим образом:

Doctor|Smith, John|$142,533|Brown Eyes

Посмотрите на этот веб-сайт, чтобы научиться Записывать данные в текстовый файл , а также при циклическом переключении значений ячеек и прийдя к значению, которое требует запятой в тысячах, используйте функцию Format, подобную этой:

Format(cellValue, "#,##0.00")
...