Доброго времени суток, друзья!
Решил облегчить себе жизнь. И сваял вот такой код:
sumOplat = 600
vidOplat="Кс"
With ActiveCell
If sumOplat > 0 Then
If .Text <> "" Then
.FormulaR1C1 = .FormulaR1C1 & "+" & sumOplat & "+" & "Ч(" & Chr(34) & vidOplat & Chr(34) & ")"
Else
.FormulaR1C1 = "=" & sumOplat & "+" & "Ч(" & Chr(34) & vidOplat & Chr(34) & ")"
End If
End If
'эмуляция нажатия клавиш
'App.SendKeys ("{F2}")
'App.SendKeys ("{Enter}")
Cancel = True 'отменить выделение ячейки
End With
результатом этого действа должно стать:
- в ячейке: =600+Ч("Кс")
- пользователь видит в ячейке: 600.
Оно так и происходит, НО, только после того, как я нажимаю F2 и Enter.
А хотелось бы, что бы макрос сам отрабатывал все чисто. Эмуляция нажатия клавишь не помогла: - результат работы макроса:
- в ячейке: =600+Ч("Кс")
- пользователь видит в ячейке: #ИМЯ?
Что то я упустил, а вот что? Не подскажут знатоки?
Всем откликнувшимся, Большое Спасибо!
Здравствуйте
.FormulaLocal
должно помочь
Типа так:
sumOplat = 600
vidOplat = "Кс"
With ActiveCell
If sumOplat > 0 Then
If .Text <> "" Then
.FormulaLocal = .FormulaR1C1 & "=+" & sumOplat & "+" & "Ч(" & Chr(34) & vidOplat & Chr(34) & ")"
Else
.FormulaLocal = "=" & sumOplat & "+" & "Ч(" & Chr(34) & vidOplat & Chr(34) & ")"
End If
End If
End With
СУПЕР! Спасибо! Все сработало!