Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Преобразование данных (Excel) - megalomanу респект (http://forum.oszone.net/showthread.php?t=205696)

Serg2010 26-04-2011 21:28 1666200

Преобразование данных (Excel) - megalomanу респект
 
Добрый день!
Екселевский файл, 3 столбца. В первом и третьем столбце по одному значению (наименование организации и почтовый индекс соответственно), всё ок.
А вот во втором столбце имеет место быть три значения разделенных Ентером (ну или если проведу замену точкой с запятой). Это улица, город, область.
Дак вот, требуется чтобы первый столбец остался без изменений, второй столбец разделился на три столбца по каждому значению (т.е. второй станет улицей, третий городом, четвертый областью),
ну а бывший 2 столбец стал уже пятым с индексом.

Насколько сложно провести то же самое с файлов в форде?

Спасибо.

Iska 26-04-2011 23:08 1666279

Serg2010, результат обычно напрямую зависит от приложенного образца файла.

Выделить область со вторым столбцом, записать макрос, воспользовшись средством «\Данные\Текст по столбцам»; получив нечто подобное:
Код:

    Selection.TextToColumns Destination:=Range("<здесь диапазон>"), DataType:=xlDelimited, Other:=True, OtherChar := vbLf
преобразовать его в WSH.
Цитата:

Цитата Serg2010
ну а бывший 2 столбец стал уже пятым с индексом. »

Бывший третий, Вы хотели сказать…

megaloman 03-05-2011 11:04 1669402

Вот скрипт VBS
Код:

fXLS = "P:\Delete\ccc.xls"

Set XL = CreateObject("Excel.Application")
XL.Visible = True
XL.Workbooks.Open fXLS

i = 0
Do While True

    Stroka = XL.Range("A1").Offset(i, 0)
    If Stroka = "" Then Exit Do
    XL.Range("B1").Offset(i, 0).TextToColumns XL.Range("D1").Offset(i, 0),,,,,,,,True,vbLf
   
    i = i + 1
Loop

XL.Columns("B").Delete xlToLeft
XL.Columns("B").Cut
XL.Columns("F").Insert xlToRight

XL.ActiveWorkbook.Save
XL.Quit

С макросами в Word не работаю
Использовал сообщение Iska и хелп VBA


Время: 17:50.

Время: 17:50.
© OSzone.net 2001-