Профессиональные приемы работы в Microsoft Excel

Пожалуйста, войдите или зарегистрируйтесь.


Расширенный поиск  

Новости:

Из правил форума: Тема должна отражать суть вопроса, топики типа "help please" будут удаляться!

Автор Тема: Автозавершение ввода в ячейку.  (Прочитано 219 раз)

0 Пользователей и 1 Гость просматривают эту тему.

GWolf

  • Старожил
  • ****
  • Уважение: +50/-0
  • Оффлайн Оффлайн
  • Сообщений: 943

Доброго времени суток, друзья!

Решил облегчить себе жизнь. И сваял вот такой код:               

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+Ч("Кс")
- пользователь видит в ячейке: #ИМЯ?

Что то я упустил, а вот что? Не подскажут знатоки?
Всем откликнувшимся, Большое Спасибо!
 
« Последнее редактирование: 09.02.2021, 07:27:51 от GWolf »
Записан
Путей к вершине - множество. Этот один из многих!

Serge 007

  • Администратор
  • Ветеран
  • *****
  • Уважение: +341/-0
  • Оффлайн Оффлайн
  • Сообщений: 2 961
    • Мир Excel
Re: Автозавершение ввода в ячейку.
« Ответ #1 : 09.02.2021, 09:40:36 »

Здравствуйте

.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
Записан
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Яндекс-деньги: 41001419691823 | WMR:126292472390

GWolf

  • Старожил
  • ****
  • Уважение: +50/-0
  • Оффлайн Оффлайн
  • Сообщений: 943
Re: Автозавершение ввода в ячейку.
« Ответ #2 : 09.02.2021, 09:57:27 »

СУПЕР! Спасибо! Все сработало!
Записан
Путей к вершине - множество. Этот один из многих!
 



Темы без ответов

24.01.2020 14:03 На диаграмме Ганта несоответствие оси Y 1164
09.08.2019 14:09 Макрос для заполнения таблиц через форму 2913
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 2538
09.07.2019 20:39 Кредит с уменьшением периода выплат 2641
28.05.2019 21:09 Сделать несколько скриптов для рабочей таблицы 3352
05.03.2019 17:00 Последовательный вывод таблиц Excel в один документ Word без шаблона 3237
05.03.2019 09:29 Нежелательные изменение размеров колонтитула при редактировании 2998
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 3161
20.01.2019 12:38 Все варианты частичного суммирования 3313
13.01.2019 12:24 Заполнение диапазона числами - в виде кластеров 2661





Яндекс цитирования msexcel.ru Яндекс.Метрика

Страница сгенерирована за 0.143 секунд. Запросов: 97.