Страницы: 1
RSS
прикрепления значений к цифре
 
Народ, сорри за тупизму, но никак не могу найти...
Как сделать, чтобы при вводе в ячейку цифры, значения менялась на приготовленный заранее текст?
На пример: ввожу цифру 1 - после ENTER появляется текст "А"
                                      2 - текст "Б"
                                      3 - текст "В"   и.т.д.
Спасибо!
 
Вы где-то уже такое видели или сами придумали? Где этот "приготовленный заранее текст"?
 
у меня анкета... очень много вариантов ответов. хочу полученную информацию ввести в ексел.
например, возраст 20-30 лет - цифра 1
30-40 лет - цифра 2
40-50 лет - цифра 3
в следующим столбике пол человека: 1- муж, 2 - жен
и.т.д

значение каждой цифры напишу в екселе заранее....  
Изменено: Jamaly - 06.03.2015 14:34:36
 
1) access для таких целей
2) выпадающий список

3) "если"..
 
Макросом можно сделать.
Есть даже уже готовый файл, только данные записать. Только правда сперва его нужно отыскать...

Нашёл: в конце, последний файл в http://www.excelworld.ru/forum/2-1719-1
Изменено: Hugo - 05.03.2015 22:33:18
 
вам спасибо конечно.... а можно для особо тупых помедленее и понятнее...!
вариант с  выпадающим списком хорошо, но б*** не получается!!!
 
Сделал спецверсию - открываете этот файл, включаете чекбокс (сохранил с включённым) - теперь в любом другом файле пишите 1 или 2 или 3 или 11 или 22 или...
Чтоб отключить - отключаете. Чекбокс или закрываете файл.
Базу можете пополнять, там есть место для трёх вариантов. Как критерий (что вводить) всегда берётся первый жёлтый столбец. Настройки сдвига Вам не нужны, не меняйте. Но можете конечно поиграться.
 
Hugo, спасибо Вам.... но я не понял!
Прикрепил пример, как мне надо!
 
Ну в общем у меня так и сделано - Вы пробовали сделать как я написал?
Только там вводится один из трёх вариантов, а не все сразу.
 
Hugo, это все сделано в EXCEL?
 
вроде да... ну х.з.... короче туплю я! не буду Вам мешать... спасибо!
 
Там нет ничего скрытого - только Эксель и его VBA.
Как сейчас вижу, для этой (да и той оригинальной задачи кажется тоже, не помню уже детали) нужно чуть изменить код - радиокнопка в столбце критерия ни к чему, лишний функционал. Т.е. можно особо не напрягаясь сделать 4 варианта замены. Если добавить радиокнопок и серьёзнее изменить код - можно сделать столько вариантов, сколько есть столбцов на листе (-1)
 
Hugo, а по какому событию во вновь созданном файле происходит замена числа текстом? :)
Изменено: Михаил Лебедев - 06.03.2015 08:41:44
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Событие - изменение ячейки на листе
Изменено: kalbasiatka - 06.03.2015 09:43:39
 
Михаил Лебедев, там срабатывает Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range)
И кстати если нужно в разные столбцы вставлять разные столбцы из базы - можно подшаманить с строкой
Target.Offset(, kuda).Value = tabNum(oDict.Item(Target.Value), cto)
Вот это cto можно привязать к Target.Row, а чекбоксы тогда можно вообще убрать (и всю их обработку). Ну это локально по этой задаче.
 
Hugo - всё, разобрался, спасибо (я про Private Sub App_SheetChange(ByVal Sh ..... )
Я правильно понял, всё дело в Private WithEvents App As Application?
Давно когда-то читал про это, но ни разу не использовал.
Т.е., когда я ввожу эту строку, появляются обработчики событий для объекта, который по иерархии выше книги, т.е. для самого екселя (App (=Application))?

Век живи - век учись :) (и не хотелось бы - дураком то... ☺ хотя.... там уже без разницы... ☺ )

PS А с подшаманиванием кода локально по задаче - да, я догадался, спасибо.
PPS 1. Кстати, если в Jamaly.xls поменять в столбцах тексты на другие, то в новой книге продолжают подставляться старые значения. Новые - только после сохранения Jamaly.xls.
2. И кстати, работает только на 1 2 3, а на 4 5 и т.д. - уже не срабатывает. Выпадает из if then вот в этой строчке If oDict.exists(Target.Value) Then ... события Private Sub App_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Дальше - не полез, надо домой идти, скоро праздник :), а с Dictionary я так и не разобрался до сих пор....
Изменено: Михаил Лебедев - 06.03.2015 14:35:10
Всё сложное - не нужно. Всё нужное - просто /М. Т. Калашников/
 
Да, если менять базу - то нужно обновлять массив в памяти и словарь, а это происходит только при открытии файла. Но можно конечно подшаманить и сделать это принудительно любым другим способом.
Там в исходной теме есть немного про это - но т.к. было в 2012 году, то детали уже не помню.
Страницы: 1
Наверх