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

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


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

Новости:

Подпишитесь на рассылку новых сообщений форума через службу рассылок: Subscribe.ru

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

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 959
    • Мир 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 925
09.08.2019 14:09 Макрос для заполнения таблиц через форму 2614
18.07.2019 16:02 Рассылка почты из Excel при помощи почтовой программы TheBAT! 2274
09.07.2019 20:39 Кредит с уменьшением периода выплат 2370
28.05.2019 21:09 Сделать несколько скриптов для рабочей таблицы 3042
05.03.2019 17:00 Последовательный вывод таблиц Excel в один документ Word без шаблона 2991
05.03.2019 09:29 Нежелательные изменение размеров колонтитула при редактировании 2746
07.02.2019 01:36 Как удалить дубликаты из выпадающего связанного списка? 2829
20.01.2019 12:38 Все варианты частичного суммирования 3082
13.01.2019 12:24 Заполнение диапазона числами - в виде кластеров 2456





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

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