Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel.Замена точки на запятую. / 10 сообщений из 10, страница 1 из 1
31.01.2008, 13:01:38
    #35100204
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
Доброго времени суток!
Проблема вроде простая, но вот вторые сутки не могу в чем причина неверного преобразования.
Имеется:
Екселевский лист, заполненный числами (формат ячеек - текстовый), который был создан при открытии файла .csv. В качестве разделителя целой и дробной части использована точка.
Требуется:
Создать график по этим значениям.
Что делаю:
Запускаю замену (Replace) всех точек на запятые.
А что получаю:
Точки заменились только там, где числа имеют целую часть, равную нулю. Остальные числа точку потеряли, но запятую в замен не получили. Например:
0.1262
0.0067
0.0802
0.3427
0.9931
3.7437
9.3082
8.1936
10.3581
10.7613
после замены имею
0,1262
0,0067
0,0802
0,3427
0,9931
37437
93082
81936
103581
107613
Вопрос: какие установки повлияли на такое поведение, и как это поправить?

------------------------------------
Кто в армии служил - тот в цирке не смеется.
...
Рейтинг: 0 / 0
31.01.2008, 13:08:36
    #35100239
@Nik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
Сложно сказать... Выкладывай пример в экселе...
...
Рейтинг: 0 / 0
31.01.2008, 13:37:08
    #35100395
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
Да, собственно и выкладывать нечего. Пример данных я привел. Замену вызываю вручную (Ctrl+H). Там и указываю что на что менять. Макросом, кстати такая же фигня.
Выкладываю на всякий случай ту чась макроса, которая предшествует замене:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
' Макрос записан 30.01.2008 (Kuznetsov)
'
' Сочетание клавиш: Ctrl+ш
'
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;G:\TEMP\traf.csv", _
        Destination:=Range("A1"))
        .Name = "traf"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = False
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod =  0 
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow =  1 
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array( 2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 ,  2 )
        .Refresh BackgroundQuery:=False
    End With
    Range("B:B,C:C,D:D,F:F,H:H").Select
    Range("H1").Activate
    Selection.Delete Shift:=xlToLeft
    Cells.Select
    Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
Кто в армии служил - тот в цирке не смеется.
...
Рейтинг: 0 / 0
31.01.2008, 14:32:21
    #35100702
@Nik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
Замена в тех числах, что ты выложил, у меня прекрасно работает. Выложи свой экселевский файл, там могут быть нюансы.
...
Рейтинг: 0 / 0
31.01.2008, 14:44:46
    #35100789
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
Файл прикреплен.
------------------
Кто в армии служил - тот в цирке не смеется.
...
Рейтинг: 0 / 0
31.01.2008, 15:15:31
    #35100964
@Nik
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
Выделяешь данные в столбце А:А. Делашь "Данные->Текст по столбцам" и настраиваешь мастер текстов. Там как раз и можно выбрать разделитель разрядов "." или "," (кнопочка "Подробнее..." на 3ем шаге). У меня всё правильно распозналось.
...
Рейтинг: 0 / 0
31.01.2008, 15:57:41
    #35101193
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
Спасибо, получилось. В макросе импортирование в моем случае будет выглядеть так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
    With ActiveSheet.QueryTables.Add(Connection:="TEXT;G:\TEMP\traf.csv", _
        Destination:=Range("A1"))
        .Name = "traf"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod =  0 
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = xlWindows
        .TextFileStartRow =  1 
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = False
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = True
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array( 1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 ,  1 )
        .TextFileDecimalSeparator = "."
        .Refresh BackgroundQuery:=False
    End With
Кто в армии служил - тот в цирке не смеется
...
Рейтинг: 0 / 0
31.01.2008, 16:21:59
    #35101310
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
А вот и фигушки!
Получается правильное импортирование данных, которое я делаю мастером ручную. В таблице появляются данные, где разделитель целой и дробной части уже поставлена запятая. Записываю макрос, пока делаю. А попытавшись этот макрос выполнить на чистом листе получил только дробную часть у данных, без целой!!!
То есть должно быть например 13,6273, а у меня в ячейке только 6273. Что за чепуха?
Макрос импортирования приведен постом выше.

Кто в армии служил - тот в цирке не смеется.
...
Рейтинг: 0 / 0
31.01.2008, 16:32:10
    #35101356
Кузнецов Игорь
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
Виноват, тороплюсь. Это присходило в той же "больной" книге.
В абсолютно новой книге макрос отработал нормально.
Вопрос решен окончательно.

Кто в армии служил - тот в цирке не смеется.
...
Рейтинг: 0 / 0
01.02.2008, 12:01:54
    #35103187
Andry.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel.Замена точки на запятую.
конвертнуть в csv, если там столбцов много, а нужно изменения в одном, то прто конвертим в csv, а потом оставляем один и сохраняем. Открываем блокнотом или вордом и меням все что хотим (в ворде быстрее, если объем большой). Потом вставляем из csv в Excel. Если столбец один, то все еще проще. Excel -->csv (блокнот... raplace) csv --> Excel
...
Рейтинг: 0 / 0
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Excel.Замена точки на запятую. / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]