![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 20.12.2010
Сообщений: 107
|
![]()
Здравствуйте!
В результате кривого импорта из одной системы в Excel получается таблица, в которой все числа преобразованы в текст, в результате ни одна формула не работает. Можно ли в Excel 2007 преобразовать 2 рядом стоящих столбца чисел из текста в числа с помощью какой-либо функции или макроса, без использования ручного выделения столбцов? Изменение формата ячеек в числовой не помогает. |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Запишите рекордером процедуру выделения поочерёдно этих столбцов и "текст по столбцам - готово".
Будет без использования ручного выделения столбцов ![]()
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 20.12.2010
Сообщений: 107
|
![]()
Это я уже пробовал, но макрос записался неправильно.
Вместо выделения диапазона ячеек L15:M1654 (последний адрес всегда меняется) почему-то выделился диапазон, указанный в тексте макроса А вместо преобразования в текст - скроллинг. Sub Ìàêðîñ3() ' ' Ìàêðîñ3 Ìàêðîñ ' ' Ñî÷åòàíèå êëàâèø: Ctrl+j ' Range("L15:M15").Select Range(Selection, Selection.End(xlDown)).Select ActiveWindow.ScrollRow = 1645 ActiveWindow.ScrollRow = 1624 ActiveWindow.ScrollRow = 1557 ActiveWindow.ScrollRow = 1426 ActiveWindow.ScrollRow = 1220 ActiveWindow.ScrollRow = 885 ActiveWindow.ScrollRow = 633 ActiveWindow.ScrollRow = 413 ActiveWindow.ScrollRow = 170 ActiveWindow.ScrollRow = 68 ActiveWindow.ScrollRow = 28 ActiveWindow.ScrollRow = 1 End Sub |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Я говорил "поочерёдно" - т.е. выделили один столбец, преобразовали, выделили второй - преобразовали...
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#5 |
Форумчанин
Регистрация: 20.12.2010
Сообщений: 107
|
![]()
Аналогично, скроллинг, но не преобразование.
Sub Ìàêðîñ4() ' ' Ìàêðîñ4 Ìàêðîñ ' ' Ñî÷åòàíèå êëàâèø: Ctrl+k ' Range(Selection, Selection.End(xlDown)).Select ActiveWindow.ScrollRow = 1645 ActiveWindow.ScrollRow = 1624 ActiveWindow.ScrollRow = 1578 ActiveWindow.ScrollRow = 1399 ActiveWindow.ScrollRow = 1179 ActiveWindow.ScrollRow = 874 ActiveWindow.ScrollRow = 692 ActiveWindow.ScrollRow = 569 ActiveWindow.ScrollRow = 440 ActiveWindow.ScrollRow = 352 ActiveWindow.ScrollRow = 306 ActiveWindow.ScrollRow = 258 ActiveWindow.ScrollRow = 237 ActiveWindow.ScrollRow = 213 ActiveWindow.ScrollRow = 188 ActiveWindow.ScrollRow = 167 ActiveWindow.ScrollRow = 143 ActiveWindow.ScrollRow = 124 ActiveWindow.ScrollRow = 103 ActiveWindow.ScrollRow = 95 ActiveWindow.ScrollRow = 63 ActiveWindow.ScrollRow = 33 ActiveWindow.ScrollRow = 12 ActiveWindow.ScrollRow = 1 Range("M15").Select Range(Selection, Selection.End(xlDown)).Select ActiveWindow.ScrollRow = 1640 ActiveWindow.ScrollRow = 1602 ActiveWindow.ScrollRow = 1503 ActiveWindow.ScrollRow = 1348 ActiveWindow.ScrollRow = 1161 ActiveWindow.ScrollRow = 973 ActiveWindow.ScrollRow = 719 ActiveWindow.ScrollRow = 550 ActiveWindow.ScrollRow = 413 ActiveWindow.ScrollRow = 271 ActiveWindow.ScrollRow = 175 ActiveWindow.ScrollRow = 100 ActiveWindow.ScrollRow = 68 ActiveWindow.ScrollRow = 41 ActiveWindow.ScrollRow = 28 ActiveWindow.ScrollRow = 4 ActiveWindow.ScrollRow = 1 End Sub |
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Вот так нужно записывать:
Код:
Код:
P.S. Испытал - работает.
webmoney: E265281470651 Z422237915069 R418926282008
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 20.12.2010
Сообщений: 107
|
![]()
Выяснилось, что в заголовке рабочей таблицы есть объединенные ячейки, поэтому с наскока она не работает.
Прикладываю пример. Преобразовывать нужно в диапазоне L1:M1654 |
![]() |
![]() |
![]() |
#8 |
Старожил
Регистрация: 11.05.2010
Сообщений: 5,170
|
![]()
Ну и делайте тогда вручную - можно текст по столбцам, можно через спецвставку умножать на 1.
Или Код:
webmoney: E265281470651 Z422237915069 R418926282008
Последний раз редактировалось Hugo121; 06.09.2012 в 12:19. |
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 20.12.2010
Сообщений: 107
|
![]()
Спасибо, работает!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Преобразование в число (Delphi) | pinch000 | Общие вопросы Delphi | 3 | 25.04.2012 21:02 |
преобразование строки в число | acronis2000 | Общие вопросы C/C++ | 19 | 04.06.2011 20:42 |
автоматическое изменение размер текста в label | bbk_serg | Компоненты Delphi | 15 | 04.02.2011 00:46 |
Преобразование в число (Delphi) | I.nessa | Помощь студентам | 14 | 14.12.2010 15:18 |
Преобразование строки символов в число. | pa6kevi4 | Общие вопросы C/C++ | 2 | 15.09.2009 20:46 |