Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2015, 16:32   #1
Julie_
Пользователь
 
Регистрация: 25.03.2015
Сообщений: 17
По умолчанию Макрос "если..., то открывается лист"

Добрый день!
Очень нужна Ваша помощь.
Необходимо написать простой макрос:
Если значение в ячейке на Лист1 = НПЗ, то открывается в общем файле лист "Шаблон НПЗ", если значение в ячейке на Лист1 = проект, то открывается в общем файле лист "Шаблон проекта".
Но оба этих листа не видно в общем файле до выбора значения НПЗ/проект на листе1.

Заранее благодарю, если поможете или соориентируете меня!
Julie_ вне форума Ответить с цитированием
Старый 25.03.2015, 16:35   #2
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

А Лист1 тоже в "общем файле" или в каком-то другом?
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 25.03.2015, 16:36   #3
Julie_
Пользователь
 
Регистрация: 25.03.2015
Сообщений: 17
По умолчанию

Да, совершенно верно, Лист1 тоже в этом общем файле.
Julie_ вне форума Ответить с цитированием
Старый 25.03.2015, 16:45   #4
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Julie_ Посмотреть сообщение
Добрый день!
Очень нужна Ваша помощь.
Необходимо написать простой макрос:
Если значение в ячейке на Лист1 = НПЗ, то открывается в общем файле лист "Шаблон НПЗ", если значение в ячейке на Лист1 = проект, то открывается в общем файле лист "Шаблон проекта".
Но оба этих листа не видно в общем файле до выбора значения НПЗ/проект на листе1.

Заранее благодарю, если поможете или соориентируете меня!
Julie_ я не совсем понял когда должнапроходить данная операция при открытиии файла или при изменении ячейки
Loshara вне форума Ответить с цитированием
Старый 25.03.2015, 16:50   #5
Julie_
Пользователь
 
Регистрация: 25.03.2015
Сообщений: 17
По умолчанию

При изменении ячейки, при выборе значения НПЗ/проект
Julie_ вне форума Ответить с цитированием
Старый 25.03.2015, 16:58   #6
Loshara
Пользователь
 
Регистрация: 18.03.2015
Сообщений: 46
По умолчанию

Цитата:
Сообщение от Julie_ Посмотреть сообщение
При изменении ячейки, при выборе значения НПЗ/проект
попнробуйте так
Код:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if range("a1")= "НПЗ" then
  k=1
else
  if range("a1")= "Проект"
   k=2
...
  endif
endif
Select Case k
   Case 1: Set Sheet = Лист2
   Case 2: Set Sheet = лист3
   ...
End Select
End Function
Где Лист2 - "НПЗ ..." уточняется при написании макроса
Loshara вне форума Ответить с цитированием
Старый 25.03.2015, 17:11   #7
Казанский
Старожил
 
Аватар для Казанский
 
Регистрация: 31.12.2010
Сообщений: 2,133
По умолчанию

Очень примитивно так
Код:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub
Sheets("Шаблон НПЗ").Visible = xlSheetHidden
Sheets("Шаблон проекта").Visible = xlSheetHidden
If Target = "НПЗ" Then
  Sheets("Шаблон НПЗ").Visible = xlSheetVisible
ElseIf Target = "проект" Then
  Sheets("Шаблон проекта").Visible = xlSheetVisible
End If
End Sub
Вложения
Тип файла: rar Книга4.rar (8.9 Кб, 17 просмотров)
exceleved@yandex.ru Яндекс.Деньги: 410011500007619
Казанский вне форума Ответить с цитированием
Старый 26.03.2015, 09:57   #8
Julie_
Пользователь
 
Регистрация: 25.03.2015
Сообщений: 17
По умолчанию

Спасибо Вам огромное за такой быстрый ответ!!!
Единственное, что-то не получается, видимо загвоздка в строке If Target.Address <> "$A$1" Then Exit Sub
Julie_ вне форума Ответить с цитированием
Старый 26.03.2015, 11:49   #9
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Если значение в ячейке на Лист1 = НПЗ
загвоздка в том, что на листе1 порядка 17 миллиардов ячеек (для офис 2007) Леша "поставил" на А1 и ничего удивительного, что не угадал (шанс 1/17млрд.), потому что куда Вы пишете "проект", "НПЗ", какую ячейку проверять - никто не знает...
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 26.03.2015, 12:46   #10
Julie_
Пользователь
 
Регистрация: 25.03.2015
Сообщений: 17
По умолчанию

Нет, это понятно, что я подставляю свою ячейку в которой у меня список значений... но никак не получается отработать макрос на своем файле. Может будет понятнее на конкретном файле?
Ячейка B3 на Листе "Заявка" с необходимыми значениями НПЗ/проект и два листа Оценка ИТ-блока (проект) и Оценка ИТ-блока (НПЗ), использую макрос, который мне ранее скидывал тов.Казанский, но что-то идет не так...
Вложения
Тип файла: rar Шаблон ЭО объединенная_new.rar (161.8 Кб, 10 просмотров)
Julie_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
макрос для копирования строк из одного листа в другой если функция не ровна "" rodgerr86 Microsoft Office Excel 0 04.07.2012 00:12
Макрос который заменит "ЕСЛИ" lyb4eg Microsoft Office Excel 4 06.08.2011 02:25
не могу разобратся с "ЕСЛИ", Формула/Макрос? VoroniN2010 Microsoft Office Excel 2 23.09.2010 10:26
"ОКРВВЕРХ", "ОКР", "ЕСЛИ". Как бы их связать. Каравай Microsoft Office Excel 13 17.02.2010 09:53
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03