Наши преимущества

VBA в Excel

Кстати в ту же тему кому надо
выполнение макросов перед закрытием
Private Sub Workbook_BeforeClose(Cancel as Boolean)
End sub
 
Может кто сталкивался, я просто замучался уже.
Делаю импорт таблицы с курсами из инета, но там все данные с точкой,
к примеру
5.05
6.35
0.19
и т.д.

Когда заменяю в таблице руками через CTRL + H - то точка на запятую меняется нормально - когда пробую через макрос, который записывается при этих действиях получается полная белиберда
5,05
65 352,00
99 251,00
0,1901
34 006,00
17 462,00
0,4651
13 466,00


то есть он мне меняет знак и курс превращается в космическую цифру.

текст макроса такой
Columns("F:F").Select
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=True
Кто нибудь может сказать что я делаю не так ?
 
Для точного ответа на вопрос "Что не так?" информации не достаточно.
Но несколько соображений:
1. Надо посмотреть формат ячеек этого столбца и General или Number поменять на Text. Только потом делать замены.

2. Для вставки крупных кусков данных лучше использовать мастер импорта внешних данных (Data -> From Web или сначала сохранить в .txt, а потом Data -> From Text).

3. Если уж использовать VBA, то там есть прекрасная функция Replace: Function Replace(Expression As String, Find As String, Replace As String, [Start As Long = 1], [Count As Long = -1], [Compare As VbCompareMethod = vbBinaryCompare]) As String. Применять лучше к каждой ячейке выделения через промежуточную переменную типа String.
 
Последнее редактирование модератором:
Верх