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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.07.2011, 12:12   #1
Алекс7
Пользователь
 
Регистрация: 13.07.2011
Сообщений: 18
По умолчанию Как обратиться к определенному символу строки

Ести программа, она считывает из файла и обрабатывает строки, а затем записывает в ячейки. Вот строка

28'942.80

нужно удалить ' и преобразовать в число, т е вместо . поставить ,

и получить

28942,80

Есть ли функция которая удаляет символ в строке и ствигает ее?

Dim sum1 As Range, sum As String
Dim ifor As Integer
sum1 = Mid(s, 80, 50)
sum1 = Trim(sum1)
sum = sum1
For ifor = 0 To Len(sum)
If sum1.Chars(ifor) = "." Then
sum1.Chars(ifor) = ","
End If
Next ifor
Set sum1 = sum1(2)
End Sub
Алекс7 вне форума Ответить с цитированием
Старый 23.07.2011, 12:25   #2
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Для замены символов есть оператор Replace (введите его в редакторе VBA И увидите синтаксис)
Для преобразования в число используйте оператор CDbl
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Старый 23.07.2011, 12:41   #3
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Попробуйте
Код:
val(replace("28'942.80","'",""))
Val работает с десятичным разделителем точка независимо от локали.
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 23.07.2011, 12:43   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Код:
Dim sum1 As Range, sum As String
Dim ifor As Integer
Dim sum as Currency
sum1 = Mid(s, 80, 50)
sum1 = Trim(sum1)

sum =Val( Replace(sum1,"'",""))
----------------------------

End Sub
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.07.2011, 12:45   #5
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Казанский сегодня везде впереди
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 23.07.2011, 18:07   #6
Алекс7
Пользователь
 
Регистрация: 13.07.2011
Сообщений: 18
По умолчанию

Ограмное спасибо за помощь!

Казанский, а можно еще вопрос: Как очистить столбцы в экселе?
Алекс7 вне форума Ответить с цитированием
Старый 23.07.2011, 18:56   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

range("A:C").ClearContents ' очистить содержимое, сохранить формат
range("A:C").Clear ' очистить всё

См. также другие методы, которые начинаются на Clear
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратиться из функции к определенной форме и определенному компоненту. ros.pro Общие вопросы Delphi 3 04.06.2011 09:37
обратиться к символу в строке vb.net bemm Общие вопросы .NET 0 11.04.2011 09:14
Как отослать текст определенному клиенту. rust-02 Работа с сетью в Delphi 1 07.11.2010 11:16
Как можно обратиться к элементу строки в двумерном массиве ? fermerius Помощь студентам 1 06.02.2010 19:14