Страницы: 1
RSS
Как сделать чтобы формула не удалялась при введении данных?
 
К примеру, в ячейке В1 есть такая формула:
=ЕСЛИ(A1="огурец","зеленый",ЕСЛИ(A1="помидор","красный" ))

Я хочу иметь возможность записывать в эту ячейку свои данные. К примеру, я хочу написать в ячейку А1 слово «банан» а в В1 слово «желтый» - но при этом чтобы формула не удалилась. И как только в ячейке А1 опять появится слово «огурец» - хочу, чтобы в В1 слово «желтый» исчезло и появилось слово «зелёный».
Ну в общем, такой вот пример.  :)  

Слышала что можно как-то макросы писать, но как – не умею. Буду очень рада если научите, или дадите ссылку на урок. В общем очень нужна помощь, руки опускаются… мозгов не хватает.  :(   :oops:  
Изменено: VeroNika_xxx - 28.05.2013 17:23:03
 
В ячейке может находиться ИЛИ формула, ИЛИ значение.
 
Решение Вашей задачи с помощью макроса (на примере 3-х овощей) в прикрепленном файле.
Прочитать по макросам можно вот здесь: Что такое макрос и где его искать?
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(),
который возвращает нужные тебе данные из любого объекта, даже если их там нет...
 
ВПР :?:
 
Nic70y, а что получим после ввода слова «желтый» в В1? :) Кажется, что ВПР не справится. Да и вообще ни одна формула не справится.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Я так подозреваю, что VeroNika_xxxе не нужно вводить в В1 ни чего, просто она не может в ЕСЛИ прописать все условия.
Хотя может быть я и не прав - поэтому и  :?:
 
Цитата
Nic70y пишет:
Я так подозреваю, что VeroNika_xxx е не нужно вводить в В1 ни чего
Цитата
VeroNika_xxx пишет:
я хочу написать в ячейку А1 слово «банан» а в В1 слово «желтый»
 
Была на дружественном форуме похожая задача. Уважаемый DV предложил оригинальное решение.
Вот вариант, так сказать, по мотивам  :)
Название вводим в А1
Изменено: Pelena - 28.05.2013 09:34:31
 
Цитата
Nic70y пишет: ...просто VeroNika_xxx  не может в ЕСЛИ прописать все условия
С формулой ЕСЛИ у меня слава Богу все хорошо  ;)  я умею ее прописать.
в том и проблема что я хочу вводить в В1 другую информацию, помимо формулы.
Изменено: VeroNika_xxx - 28.05.2013 22:16:26
 
MerZ@vcheG, ЭТО ПРОСТО СУПЕР!!!!  :idea:  
Пример обалденный! Я счастлива как слон!  :D  
Впервые увидела макросы, даже попробовала добавить еще один вариант, и он сработал!  :oops:  
Большущее вам спасибо!!! Есть же умные люди на земле!  :)  

А можно еще маленький вопросик?
Как сделать чтобы этот макрос работал к примеру на многих ячейках. Скажем с А1 по А10 ?[/FONT]
 
Цитата
Nic70y пишет:
ВПР :?:

Кстати Nic70y, очень классная формула.
Большое спасибо!
Думаю иногда буду использовать ее вместо ЕСЛИ  :idea:  
 
С A1 по A10 в примере...
Диапазон может быть любой, изменить его можно вот здесь:
Код
Set nRng = Range("A1:A10")
Изменено: MerZ@vcheG - 28.05.2013 10:22:57
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(),
который возвращает нужные тебе данные из любого объекта, даже если их там нет...
 
а куда эта тема перед этим исчезла? уже ж была она один раз, пару дней назад... и когда я доделал файлик с тем что вам было нужно, темы уже не было. если файл дома не удалил то вечером закину.
 
Вариант макроса по файлу пример проверяет что введенное значение дает ЛОЖЬ и или вставляет формулу млм очищает данные в соседней ячейке.
Код
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
Target.Offset(, 1).FormulaR1C1 = "=IF(RC[-1]=""огурец"",""зеленый"",IF(RC[-1]=""помидор"",""красный""))"
If Target.Offset(, 1).Value = False Then Target.Offset(, 1).ClearContents
End If
End Sub
 
Цитата
marker_mc пишет:
а куда эта тема перед этим исчезла?
Никуда не исчезала - я её постоянно видел ))
 
ээээ нееее)))) там тема была не на примере огурцов и помидоров, а тоже самое только вместо помидоры огурцы было ноль, НЕноль )))) и она у меня была открыта во вкладке, а потом как доделал макрос, обновил страницу, было написано что тема не найдена.
Изменено: marker_mc - 28.05.2013 17:24:36
 
)) Но Вы же спрашиваете про ЭТУ тему:
Цитата
marker_mc пишет:
а куда эта тема перед этим исчезла?
 
А другая была удалена. Скорее всего из-за названия.
 
И я знаю кто ее удалил!  :evil:
Изменено: VeroNika_xxx - 28.05.2013 23:42:22
 
Igor67, cпасибо, как вариант тоже сохраню!  :)
Изменено: VeroNika_xxx - 28.05.2013 23:43:08
 
Цитата
MerZ@vcheG пишет: С A1 по A10 в примере...
Wow! Супер! Большущее вам спасибо за такую классную работу!
Вы мне намного упростили жизнь  ;)  
 
вот мой вариант. файл в приложении

Код
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim a$
    a = Left(ActiveCell.Address(RowAbsolute:=False, ColumnAbsolute:=False), 1)
    If a = "A" Then
        ActiveCell.Offset(-1, 1).Formula = "=IF(RC[-1]=0,""ноль"",""НЕноль"")"
    End If
End Sub
 
MerZ@vcheG, А зачем в своем коде Вы отдельно обращаетесь к ячейкам через целлс? В процедуре ведь уже есть переменная Target  - ячейка в которой произошло изменение. Вот и проверяете ее If Target .Value Like, а не If Cells(tr, tc).Value Like
 
Ребята, не хочу показатся корыстной, но в самой ума не хватит на такое, а очень хочется.
Реально ли сделать так, чтобы обединить этот макрос (от MerZ@vcheG), с формулой ВПР (от Nic70y)?  :oops:

Только я бы наверное хотела чтобы макрос работал на Лист1, а список для формулы ВПР был на Лист2, чтобы в дальнейшем его можно было скрыть...
Изменено: VeroNika_xxx - 29.05.2013 00:00:05
 
Может для чего пригодится:
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=47130&MID=391776#message391776
 
Цитата
Igor67 пишет:
отдельно обращаетесь к ячейкам через целлс
да.. действительно зачем? o_O
сам не знаю.... ))
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(),
который возвращает нужные тебе данные из любого объекта, даже если их там нет...
 
VeroNika_xxx
Приложите файл, покажите в нем что и где должно быть.
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(),
который возвращает нужные тебе данные из любого объекта, даже если их там нет...
 
Посмотрите может этот пример поможет
 
В ячейках А1:А10 работает макрос. (Лист1)
Можно ли сделать так чтобы этот макрос базировался на списке (Лист2)
И если я изменю список, (изменю/добавлю/удалю) то макрос тоже должен изменится….
 
VeroNika_xxx
Пример от magrifa все эти задачи выполняет ))
(пост #28)
Современные языки программирования обязаны иметь встроенный метод ChuckNorris(),
который возвращает нужные тебе данные из любого объекта, даже если их там нет...
Страницы: 1
Наверх