Страницы: 1 2 След.
RSS
Замена точки на запятую VBA
 
Вечер господа! Помогите с функцией замены текста. Нужно обработать массив данных вырезав сперва запятую, а потом заменив точку на запятую(потому что видетели программисты в своей программе считают нормально что число представлено как 1.256,012). Набросал макросик но он мне ее вообще обрезает. На выходе получаю слитое число, еще и представленное как текст в добавок. Кто сталкивался?
Код
[B12:Z43].Replace What:=",", Replacement:=""
[B2:F9].Replace What:=".", Replacement:=","
[B12:Z43].Replace What:=".", Replacement:=","
MsgBox "All dots was replatsement to comma", vbInformation, "Done"
Изменено: Zimba - 01.01.2017 23:56:22
 
Цитата
число представлено как 1.256,012
А десятичная часть есть?
 
Цитата
Kuzmich написал: А десятичная часть есть?
Да, даже тысячные с отрнцательным знаком. Он мне с этого 1496.608 делает вот это 1496608 и пишет что число сохранено как текст
 
А обработать хочу вот это для екселя
Изменено: Zimba - 02.01.2017 00:20:08
 
Zimba,
Пример пожалуйста покажите, а не то потом окажется, что существуют еще какие-то доп условия
вы эти данные получаете именно в таком виде? И так ли вам необходим именно макрос?

Просто сейчас это можно сделать путем вставки на ваш лист и применением "Данные" - "Текст по столбцам" с выставлением необходимых настроек
Скрытый текст
Изменено: heso - 01.01.2017 22:39:14
 
Да данные получаю в этом виде, они ровненько вставляются в эксель это здесь они так сьежились. Нужен макрос...
 
Цитата
Zimba написал: Нужен макрос
А записать рекордером Текст по столбцам?
 
Zimba, тогда приложите лучше сам файл экселя
 
Какой пример? Надо приврать это 1,496.542 в вот это 1496,542 и это 1496.608 в вот это 1496,608 что бы эксель числа понимал. Он же не поймет что от него нада.
 
Пример того. что указано в вашем 4 сообщении. Как он выглядит именно в вашем файле xls/xlsx/csv/богегознаеткакоеещерасширение. То есть загрузить сюда сам файл.

Потому что не видя его - единственное, что можно посоветовать, это либо воспользоваться советом от Юрий М, либо тем,что написано в сообщении #5.

ну или пользоваться чем-то вроде
Код
[B12:B43].TextToColumns TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
        Space:=True, DecimalSeparator:=".", ThousandsSeparator:=",", TrailingMinusNumbers:=True
Изменено: heso - 01.01.2017 22:54:43
 
Код
ActiveCell = Val(Replace(ActiveCell, ",", ""))
 
Цитата
heso написал: Как он выглядит именно в вашем файле xls/xlsx/csv/
Они выглядят отлично каждое значение в своем столбике(ячейке)
heso, Выкладываю файл экселя и исходные данные
Изменено: Zimba - 01.01.2017 23:58:13
 
Zimba, #11 видели?
 
Юрий М,Вот так?
Код
[B12:Z43].ActiveCell = Val(Replace(ActiveCell, ",", ""))
 
В первом посте числа были вида 1.256,012
 
Нет. Или циклом перебрать ячейки диапазона, или забрать диапазон в массив, обработать, выгрузить обратно на лист. Если строк не тысячи, то можно по ячейкам: выделяем диапазон и выполняем макрос:
Код
Sub TestReplace()
Dim rCell As Range
    For Each rCell In Selection
        rCell = Val(Replace(rCell, ",", ""))
    Next
End Sub
 
А как быть с данными 21.10.2017 , которые отображаются 21.окт
 
Кузьмич, это вопрос мне или автору? ))
Если мне, то не знаю, откуда они (даты) там взялись. Можно добавить проверку.
 
Посмотрел файл а есть еще и такие -4.574734E-11
Изменено: Kuzmich - 02.01.2017 01:37:05
 
Цитата
Kuzmich написал:
А как быть с данными 21.10.2017 , которые отображаются 21.окт
Смотрите 13 пост я выложил исходные данные
Изменено: Zimba - 01.01.2017 23:48:00
 
Zimba, макрос из #16 проверили?
 
Юрий М, вот так https://1drv.ms/i/s!AgMw1VaIYS-Wi1AivQbiLn87HKnr
 
У меня такого не наблюдается.
 
Вообщем я понял, что вы не знаете как это элементарно сделать. Красивый форум а толку мало
Изменено: Zimba - 02.01.2017 00:38:44
 
Zimba,
Вам предложили вариант в сообщении 16, за вас все сделали в сообщении 19.
И если это элементарно - зачем вам какие-то красивые форумы?

С наступившим новым годом Вас)
 
Цитата
Zimba написал:
я понял, что вы не знаете как это элементарно сделать. Красивый форум а толку мало
Как сделать - Вам показали. Или это у Вас такая манера говорить спасибо?
 
Цитата
Вообщем я понял, что вы не знаете как это элементарно сделать. Красивый форум а толку мало
А я понял, что ты просто тролль!
Мало того, что сам не знаешь что тебе надо, так ещё обвиняешь форум и форумчан!
Тебе уже указали не несоответствие в твоих сообщениях:
Определись сначала как в исходных данных:
1.256,012
1,496.542  
Изменено: Александр Моторин - 02.01.2017 11:31:51
 
Юрий М, Вы мне кинули кусок кода который не работает, посмотрели мой файл и обратно выложили без изменений его на форум. Спасибо конечно что пытаетесь.
Александр Моторин, ну почему же в 12 сообщении исходные данные и таблица. Чтож не понятного уже пятый раз пишу, что надо что бы эксель принимал исходные данные. Как же он поймет число 1,496.542? Сперва запятую надо убрать, а потом точку заменить на запятую...
 
Цитата
Zimba написал:
Юрий М ,<...>, посмотрели мой файл и обратно выложили без изменений его на форум.
Вы ничего не путаете? Я файл вообще не выкладывал. Подскажите номер сообщения, в котором я ПРИКРЕПИЛ файл.
 
Юрий М, Пардон, сообщение 19 Kuzmich смотрел и обратно выложил. Ваш код у меня не работает. Не понимаю как его задействовать, помогите разобраться...
Страницы: 1 2 След.
Наверх