Страницы: 1
RSS
Запуск макроса при изменении значения ячейки
 
Здравствуйте.  
У меня есть максрос:  
Sub Zashita()  
   ActiveSheet.Unprotect  
   Z = Range("I2").Value  
   Range(Z).Select  
   Selection.Locked = False  
   Selection.FormulaHidden = False  
   x = Range("I1").Value  
   Range(x).Select  
   ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True  
End Sub  
Я бы хотел, чтобы он запускался при заизменении значения нужной мне ячейки.  
Помогите пожалуйста.  
Спасибо.
Я соображаю, но не всегда. :-)
 
Вставьте этот код в модуль листа, в котором происходит изменение значение ячейки:  
Private Sub Worksheet_Change(ByVal Target As Range)  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Intersect(Target, Range("A1")) Is Nothing Then  
Call Zashita  
End If  
End Sub  
Контролируется ячейка А1
 
{quote}{login=Юрий М}{date=28.01.2010 01:20}{thema=}{post}Вставьте этот код в модуль листа, в котором происходит изменение значение ячейки:  
Private Sub Worksheet_Change(ByVal Target As Range)  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Intersect(Target, Range("A1")) Is Nothing Then  
Call Zashita  
End If  
End Sub  
Контролируется ячейка А1{/post}{/quote}Огромное спасибо! Все в лучшем виде. Работает как Швецарские часы. :)
Я соображаю, но не всегда. :-)
 
Большенство из тех кто читал эту тему наверное поняли что делает этот макрос. Он снимает защиту с нужных мне ячеек. Предомной встала новая задача: А как поставить защиту обратно. Посмотрите пожалуйста прикрепленный файл я там попытался все объяснить. Буду очень благодарен если сможете помочь.  
Спасибо!
Я соображаю, но не всегда. :-)
 
Если есть  
 
Sheet.Unprotect  
 
то должен быть и  
 
Sheet.Protect
 
{quote}{login=}{date=29.01.2010 07:07}{thema=}{post}Если есть  
 
Sheet.Unprotect  
 
то должен быть и  
 
Sheet.Protect{/post}{/quote}Так ведь есть. А как запустить макрос Zashita2?
Я соображаю, но не всегда. :-)
 
{quote}{login=GrAnt}{date=29.01.2010 06:33}{thema=Думал дальше сам... Не получается.}{post}Большенство из тех кто читал эту тему наверное поняли что делает этот макрос. Он снимает защиту с нужных мне ячеек. Предомной встала новая задача: А как поставить защиту обратно. Посмотрите пожалуйста прикрепленный файл я там попытался все объяснить. Буду очень благодарен если сможете помочь.  
Спасибо!{/post}{/quote}Помогите пожалуйста чайнику. :)
Я соображаю, но не всегда. :-)
 
Private Sub Worksheet_Change(ByVal Target As Range)  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Intersect(Target, Range("A1:A15")) Is Nothing Then  
Call Zashita  
call zashita2  
End If  
End Sub  
 
пробовали?
 
Private Sub Worksheet_Change(ByVal Target As Range)  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Intersect(Target, Range("A1:A15")) Is Nothing Then  
  If Target <> "" Then  
  Call Zashita  
  else  
  Call Zashita2  
  End If  
End If  
End Sub  
 
прочитал задание)
 
{quote}{login=Dophin}{date=29.01.2010 09:12}{thema=}{post}Private Sub Worksheet_Change(ByVal Target As Range)  
If Target.Cells.Count > 1 Then Exit Sub  
If Not Intersect(Target, Range("A1:A15")) Is Nothing Then  
  If Target <> "" Then  
  Call Zashita  
  else  
  Call Zashita2  
  End If  
End If  
End Sub  
 
прочитал задание){/post}{/quote}Большое, большое, большое, прибольшое спасибо!!!!!!!!!!  
Это супер! :)
Я соображаю, но не всегда. :-)
Страницы: 1
Читают тему
Loading...