Как перенести данные в csv формат? Сейчас или обрезает данные в ячейках или сохраняет кракозябрами. Нужно: разделитель строк- точка с запятой (;) Кодировка- window1251
Как перенести данные в csv формат? Сейчас или обрезает данные в ячейках или сохраняет кракозябрами. Нужно: разделитель строк- точка с запятой (;) Кодировка- window1251regnus
Сделайте следующие действия 1) с помощью "Найти и заменить" удалите все символы "Переход на следующую строку". Для этго в поле "Найти" введите сочетание клавиш Ctrl + J, а в поле "Найти" ничего не вводите 2) затем (после удаление символов) выделите столбец A и перейдите на вкладку Данные - Текст по столбцам - радиокнопка "с разделителями" - Далее - оставьте только флажок "другой" и впишите вертикальную черту 3) если в файле только текст (нет чисел и дат), то просто щелкните Готово 4) текст будет разбит на столбцы, теперь Сохраните как, выбрав формат CSV (разделители - запятые) (*.csv). Вместо запятых будут вставлены точка с запятой (потому что это зависит от региональных настроек Windows)
Будет получен csv-файл с разделителем ";". Что касается кодировки, то кодировку выбрать нельзя, но может быть вам подойдет то, что получится.
Сделайте следующие действия 1) с помощью "Найти и заменить" удалите все символы "Переход на следующую строку". Для этго в поле "Найти" введите сочетание клавиш Ctrl + J, а в поле "Найти" ничего не вводите 2) затем (после удаление символов) выделите столбец A и перейдите на вкладку Данные - Текст по столбцам - радиокнопка "с разделителями" - Далее - оставьте только флажок "другой" и впишите вертикальную черту 3) если в файле только текст (нет чисел и дат), то просто щелкните Готово 4) текст будет разбит на столбцы, теперь Сохраните как, выбрав формат CSV (разделители - запятые) (*.csv). Вместо запятых будут вставлены точка с запятой (потому что это зависит от региональных настроек Windows)
Будет получен csv-файл с разделителем ";". Что касается кодировки, то кодировку выбрать нельзя, но может быть вам подойдет то, что получится.Karataev
Sub txt_write() Dim i#, ii#, s$, n&, m As Variant, Filename$ m = Selection.Value
Filename$ = InputBox("Полное имя файла", "Имя для сохранения", ActiveWorkbook.Path & "\file.csv")
n = FreeFile() Open Filename For Output As #n For i = 1 To UBound(m) s = m(i, 1) For ii = 2 To UBound(m, 2) s = s & vbTab & m(i, ii) Next s = s & ";" Print #n, s ' If i Mod 10000 = 0 Then DoEvents ' передача управления другим процессам Application.StatusBar = Format(i / UBound(m), "0%") & ". " & i & " из " & UBound(m) End If Next Close #n Application.StatusBar = False End Sub
[/vba]
Сохраняет CSV c разделителем строк ";" Правда в самом файле Будет куча лишних строк - это потому, что в тексте имеется символ переноса строки
Вот: [vba]
Код
Sub txt_write() Dim i#, ii#, s$, n&, m As Variant, Filename$ m = Selection.Value
Filename$ = InputBox("Полное имя файла", "Имя для сохранения", ActiveWorkbook.Path & "\file.csv")
n = FreeFile() Open Filename For Output As #n For i = 1 To UBound(m) s = m(i, 1) For ii = 2 To UBound(m, 2) s = s & vbTab & m(i, ii) Next s = s & ";" Print #n, s ' If i Mod 10000 = 0 Then DoEvents ' передача управления другим процессам Application.StatusBar = Format(i / UBound(m), "0%") & ". " & i & " из " & UBound(m) End If Next Close #n Application.StatusBar = False End Sub
[/vba]
Сохраняет CSV c разделителем строк ";" Правда в самом файле Будет куча лишних строк - это потому, что в тексте имеется символ переноса строки SLAVICK