Excel VBA

excel VBA

Пытаюсь написать макрос на замену в колонке D точек на запятые
Sub Макрос4()
'
'
'
Dim i As Variant
Dim a As String
Dim b As String

i = Range("D : D").Select
a = "."
b = ","

i = Replace(i, a, b, 1, 1)

End Sub

Дебагер показывает что не правильно написал "i = Range("D : D").Select", подскажите как правильно

Примечание:
Младшенький подскажи как правильно написать применительно к диапазону, необходим только макрос, мой макрос все равно не работает

Примечание:
по идее этот
Range("D:D").Select
Cells.Replace What:=",", Replacement:="."
если чем то не устраивает поправьте пж

Примечание:
подскажите код с переменными

Примечание:
Работают оба кода, но вот в чем проблема в выделенном диапазоне встречаются объединенные ячейки и макрос точки убирает а запятые не ставит, в чем может быть проблема?
PS точки стоят в обычных ячейках не объединенных
Ответы:
Ну, правильно, вообще будет для вашего варианта кода как-то так:
Dim i as Range
Set i = Range("D:D")
Другое дело, что вы потом функцию Replace(), которая работает со строками, пытаетесь применить к диапазону... :)
Можно доработать код Младшенького
Sub NoName()
Dim objC As Range
Dim a As String, b As String
a = "."
b = ","
  For Each objC In Selection
      objC.Value = Replace(objC.Value, a, b)
  Next
End Sub


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.