Страницы: 1
RSS
Как выводить значение ячейки в TextBox в формате процентов с онлайн-обновлением при изменении ячейки., Форма немодальная.
 
В TextBox1, должно отображаться содержимое ячейки А1. Или в формате процентов, или в текстовом, но с прикреплением значка "%" . Форма немодальная. Обновление должно быть онлайн  (т.е. без повторного запуска/обновления формы) при изменении значения в ячейке А1

Всё нормально обновляется, если в TextBox1 используется прямая ссылка на ячейку А1, но тогда не знаю как поставить значек "%".
Если TextBox'у присваивать значение VBA-кодом, то значек процентов ставлю, но нет обновления онлайн при изменении ячейки.

Как совместить ?
Изменено: Сергей Евдокимов - 15.09.2021 05:57:47
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("A1")) Is Nothing Then
       UserForm1.TextBox1.Value = Range("A1").Value & "%"
    End If
End Sub


Примерно так, файл не смотрел так-как тыкал с телефора.  С тем Range("A1").Value (в самом коде) скорее всего нужно проделать какую-нибудь математическую операцию, чтобы в TextBox1 отображалось точно как и в ячейке А1.
Еще возможно понадобится проверка на "открыта ли форма?" вот ссылка.
--- добавлено:
Мой вариант решения
Изменено: DANIKOLA - 15.09.2021 18:20:02
 
Цитата
Сергей Евдокимов написал:
Всё нормально обновляется, если в TextBox1 используется прямая ссылка на ячейку А1, но тогда не знаю как поставить значек "%"
У вас дефици ячеек на листе? Сошлитесь на другую, а там формулой текст набирайте который нужен.
По вопросам из тем форума, личку не читаю.
 
БМВ, попробовал. Не работает (

В ячейке В1 формулой (со ссылкой на А1) собираю нужный мне текст. Все просто.
TextBox берет этот текст. Показывает. Казалось бы все норм. Но !
Но при закрытии формы TextBox перезаписывает формулу в ячейке В1 на сохраненное у себя последнее значение.
И всё: формулы в ячейке В1 больше нет ! Приплыли. Дальше система не работает.

Странно всё как-то. Нужно то всего, чтобы TextBox просто показывал актуальное содержимое ячейки (на запущенной немодальной форме)
Изменено: vikttur - 15.09.2021 11:22:34
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
DANIKOLA,спасибо. Скорее ваше решение рабочее. Но ячейка А1 будет обновляться очень часто, даже когда форма не запущена.
При каждом обновлении ячейки запускать макрос пока не очень хочется. Но видимо придется, если иного решения не найду )
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
:)  
 
RAN, спасибо.

P/S/ 50 минут искал понять суть решения )

RAN, не. Не получается. Не работает.
Та же самая проблема, что я выше описал.
TextBox (даже новый-тайный-скрытый на форме) перезаписывает формулу значением. И ничего дальше не работает.

Работать будет, если конкретное значение в ячейке А1 вносить руками. TextBox его на самого себя и перезапишет.
А если там будет формула (а будет там, естественно, именно формула) - то всё. Приплыли
:)
Изменено: vikttur - 15.09.2021 12:10:19
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
 
Усложнил задачу (расширил).
В желтую ячейку вносим. А на форме видим (должны видеть) зеленую.
Изменено: Сергей Евдокимов - 15.09.2021 12:13:03
Компьютер никогда не заменит человека (©️ Hannibal Lecter)
Страницы: 1
Наверх