Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.12.2012, 23:17   #1
alejandro_v
 
Регистрация: 03.12.2012
Сообщений: 6
По умолчанию Не представляю как решить...

Доброго времени суток.
Есть проблема:
Для заливки в базу используется файл. csv, изначально в котором число из 13 знаков отображается как 8,03E+12, приходится вручную выставлять текстовый формат, нажимать F2 и Enter, чтобы получилось 8033729465473. Иногда список довольно большой и проклацивать каждую ячейку довольно утомительно. Есть ли возможность автоматизировать этот процесс или создать макрос?
Очень надеюсь на помощь.
alejandro_v вне форума Ответить с цитированием
Старый 03.12.2012, 23:25   #2
gling
Форумчанин
 
Регистрация: 23.01.2010
Сообщений: 261
По умолчанию

где то видел такой вариант в дополнительном столбце ="'"&(ячейка с значением)
gling вне форума Ответить с цитированием
Старый 03.12.2012, 23:49   #3
alejandro_v
 
Регистрация: 03.12.2012
Сообщений: 6
По умолчанию

Чтобы было более понятно:
изначально вводим данные в файл формата .xls (скрин 1).
Сохраняем в формате csv и после открытия видим подобное (скрин 2).
Выставляем формат ячеек текстовый. клацаем F2 и Enter, чтобы получилось так - скрин 3.
Изображения
Тип файла: jpg 1.JPG (87.0 Кб, 148 просмотров)
Тип файла: jpg 2.JPG (82.2 Кб, 148 просмотров)
Тип файла: jpg 3.JPG (88.7 Кб, 152 просмотров)
alejandro_v вне форума Ответить с цитированием
Старый 04.12.2012, 00:08   #4
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Цитата:
изначально вводим данные в файл формата .xls (скрин 1).

Сохраняем в формате csv и после открытия видим подобное (скрин 2).

Выставляем формат ячеек текстовый. клацаем F2 и Enter, чтобы получилось так - скрин 3.
Вы бы лучше вместо всех этих скринов Excel файл-пример выложили.
мы здесь больше привыкли с таким форматом работать, а не с картинками.
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.12.2012, 00:10   #5
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

по теме
Цитата:
приходится вручную выставлять текстовый формат, нажимать F2 и Enter, чтобы получилось 8033729465473.
Макрос не пробовали записать?
Макрорекордером
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 04.12.2012, 00:13   #6
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Доброго
Код:
Sub toNum()
  Const Col = 1 ' номер столбца
  Dim Mas(), Row As Long, CountRow As Long
    CountRow = Cells(Rows.Count, Col).End(xlUp).Row
    Mas = Cells(1, Col).Resize(CountRow).Value
    For Row = 1 To CountRow
        If Not IsEmpty(Mas(Row, 1)) Then Mas(Row, 1) = "'" & Mas(Row, 1)
    Next
    Cells(1, Col).Resize(CountRow).Value = Mas
End Sub
выставлять текстовый формат вовсе не обязательно
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Старый 04.12.2012, 00:17   #7
alejandro_v
 
Регистрация: 03.12.2012
Сообщений: 6
По умолчанию

Вот примеры файлов (убрал ненужную инфо).
alejandro_v вне форума Ответить с цитированием
Старый 04.12.2012, 00:20   #8
alejandro_v
 
Регистрация: 03.12.2012
Сообщений: 6
По умолчанию

Step_UA,
я так понимаю, что в этом коде мне нужно выставить (вместо 1) интересующий меня столбец?
alejandro_v вне форума Ответить с цитированием
Старый 04.12.2012, 00:23   #9
alejandro_v
 
Регистрация: 03.12.2012
Сообщений: 6
По умолчанию

вот, прикрепил...
Вложения
Тип файла: rar work_test.rar (8.8 Кб, 9 просмотров)
alejandro_v вне форума Ответить с цитированием
Старый 04.12.2012, 00:31   #10
Step_UA
Форумчанин
 
Аватар для Step_UA
 
Регистрация: 09.06.2011
Сообщений: 388
По умолчанию

Цитата:
Сообщение от alejandro_v Посмотреть сообщение
Step_UA,
я так понимаю, что в этом коде мне нужно выставить (вместо 1) интересующий меня столбец?
совершенно верно, или
Код:
dim Col as integer ' взамен Const Col=1
Col=ActiveCell.Column ' для столбца с активной ячейкой
на неконкретные вопросы даю неконкретные ответы ...
Step_UA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не представляю как это реализовать datgen Общие вопросы C/C++ 1 28.12.2011 00:37
не представляю как это реализовать datgen Общие вопросы C/C++ 3 28.12.2011 00:32
Представляю: RegSave CC Neeter Софт 0 19.01.2010 19:09
сохранение данных - не представляю как samosval Общие вопросы .NET 1 17.12.2007 22:49