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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2011, 13:29   #1
НеВа6464
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 64
По умолчанию Замена точек на запятые

Здравствуйте!
Копируя таблицы из 1С в Эксел, получаю числа с точкой в качестве разделителя целой и дробной части. Мой эксел считает эти числа текстом. Поэтому я делаю замену точек на запятые. И текст превращается в числа. Всё проходит нормально в ручном режиме. При попытке сделать эту замену макросом (автозаписью) ничего не выходит. Т.е. ВБА меняет точки на запятые, но текст не превращается в число при этом. Т.е. получаю то же самое число в текстовом формате, но уже с запятой вместо точки.
Что делать, как быть, чтобы таки получить число при замене точки на запятую?

Спасибо.
НеВа6464 вне форума Ответить с цитированием
Старый 21.04.2011, 17:49   #2
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

через функцию NumberFormat (меняйте формат ячейки или целого диапазона)
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 21.04.2011, 19:39   #3
НеВа6464
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 64
По умолчанию

намберформат не катит, т.е. не переводит текст в число
я пока изворачиваюсь через Val. Но дело в том, что у меня некоторые числа получаются в числовом формате. Возникает ошибка при использовании Val. Значит надо сначала понять, какой тип лежит в ячейке, а я этого тоже не умею делать.
НеВа6464 вне форума Ответить с цитированием
Старый 21.04.2011, 20:08   #4
was3110
Форумчанин
 
Аватар для was3110
 
Регистрация: 25.04.2010
Сообщений: 254
По умолчанию

пришлите мне на ящик (найдете в профиле) свой файл.
Я сделаю через функцию NumberFormat.
Ведь, если ячейки будут суммироваться, Вы поверите, что это числа....
помогать студентам - моя вторая профессия
was3110 вне форума Ответить с цитированием
Старый 22.04.2011, 12:14   #5
НеВа6464
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 64
По умолчанию

вот файл
Емэйл не нашёл в профайле. Есть форма для отправки по емэйлу, но туда не вкладывается файл. Либо я не разобрался с этим.
Вложения
Тип файла: rar Пример.rar (8.9 Кб, 22 просмотров)
НеВа6464 вне форума Ответить с цитированием
Старый 22.04.2011, 12:27   #6
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Посмотрите мультик
Самый простой вариант
Вложения
Тип файла: zip Video_2011-04-22_112403.zip (1.13 Мб, 35 просмотров)
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.04.2011, 12:33   #7
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

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

Если устроит дополнительный столбец, то вот это
Код:
Sub Макрос5()
    [c2:c13].Formula = "=B2*$D$1"
End Sub
работает.
В D1 помещаем единицу
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Старый 22.04.2011, 12:45   #9
НеВа6464
Пользователь
 
Регистрация: 16.05.2009
Сообщений: 64
По умолчанию

Спасибо, Виктор.
Щас попробую
НеВа6464 вне форума Ответить с цитированием
Старый 22.04.2011, 13:00   #10
VictorM
Старожил
 
Аватар для VictorM
 
Регистрация: 15.05.2008
Сообщений: 2,058
По умолчанию

Вот так все получается
Запустите на листе Исходник
Код:
Sub Макрос2()

Application.ScreenUpdating = False
[d1] = 1
With Columns("B:b")
        .Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    .Replace What:="'", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
        End With
[c2:c13].Formula = "=B2*$D$1"
[c2:c13].Copy
[b2].PasteSpecial Paste:=xlValues
[b2:b13].NumberFormat = "0.00"
[c2:c13] = ""
[d1] = ""
End Sub
"Дайте людям рыбы, и вы накормите их на весь день; научите их ловить рыбу - и вы накормите их на всю жизнь"
"Большое спасибо" - Z261597841314, R208907249777, U447361470499
VictorM вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Убрать запятые из файла. Dasharnb777 Microsoft Office Excel 6 08.07.2010 21:23
определить радиус и центр окружности, на кот. лежит наиб.число точек заданного на плоскости мн-ва точек) kcю Помощь студентам 0 17.11.2009 19:50
Замена точек запятыми miss Microsoft Office Excel 4 30.07.2009 13:29
составить прогу, заменить все пробелы на запятые tim777777 Помощь студентам 7 02.03.2009 05:52
Убрать запятые и точки 3акup Microsoft Office Excel 7 18.02.2009 18:47