2014-01-30 6 views
-2

Я знаю, что это должно быть просто, но я не могу заставить его работать.Код VBA в Excel для замещения

В определенном диапазоне ячеек, E15: E30, например, когда человек типа запятая я хочу превосходящие чтобы подставить, с +

Что должен мой VBA код выглядеть?

Благодаря

+1

Что (точно) это то, что вы «не можете заставить его работать»? – pnuts

+1

Я не верю, что вы можете это сделать «когда» вы печатаете с помощью VBA. Но вы можете сделать это после ввода типа и ввести данные в ячейку с помощью кода workheet_change. –

ответ

0

Поместите этот блок кода на странице Worksheet кода вы хотите, чтобы быть активным в редакторе VBA.

Private Sub Worksheet_Change(ByVal Target As Range) 

    If Not Intersect(Range("E15:E30"), Target) Is Nothing And Target.Cells.Count = 1 Then 
     Target.Replace ",", "+" 
    End If 

End Sub 
+0

Если пользователь вводит «4,3» в ячейку диапазона, но ранее использовал Find или Replace, чтобы выбрать «соответствовать содержимому всей ячейки» в качестве опции, ваша подпрограмма не заменит запятую. Вам нужно убедиться, что параметры заданы так, как вам нужно, в случае, если OP ожидает, что запятая будет только частью того, что было введено в ячейку. И вы должны подумать, хотите ли вы вернуть эту опцию так, как она была, после ее использования. –

Смежные вопросы