Notifications
Clear all

Conflito entre rotinas plans diferentes.

5 Posts
2 Usuários
0 Reactions
927 Visualizações
(@mdenk)
Posts: 32
Eminent Member
Topic starter
 

Boa Tarde.
Estou usando o código abaixo em plans distintas, então declarei o range diferente, como ela esta declarada pra change sempre que altero algo na plan ela roda, mas ela executa a macro na outra plan que também apresenta o mesmo código.
O que eu gostaria de fazer era vincular esse código para que faça a rotina apenas na plan em que estou fazendo alteração e não em qualquer outra que tenha a mesma rotina.

Obs: Cada plan tem o seu código, mas eles entram em conflito.

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False

With ActiveSheet
For Each cell In Range("AB70:AB382")
If cell.Value = "ocultar" Then
cell.EntireRow.Hidden = True
End If
Next

For Each cell In Range("AB3:AB150")
If cell.Value = "reexibir" And (cell.EntireRow.Hidden = True) Then
cell.EntireRow.Hidden = False

cell.EntireRow.Hidden = False
End If
Next

End With

Application.ScreenUpdating = True
End Sub

 
Postado : 18/02/2013 1:47 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Não entendi, o worksheet_change afeta apenas o evento da planilha onde está o codigo.

 
Postado : 18/02/2013 1:59 pm
(@mdenk)
Posts: 32
Eminent Member
Topic starter
 

mas no meu caso ele está fazendo uma leitura do range AB da outra plan também. quando eu descrevo o range eu tenho como indicar a plan que eu quero que ele faça a leitura. range ( AB70:AB382) da plan 1 por exemplo?

 
Postado : 18/02/2013 2:32 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pode-se utilizar:
activeSheet.range("AB70:AB382") ou sheets("Plan1").range....
Mas continuo achando muito estranho. Se puder disponibilizar seu modelo?

 
Postado : 18/02/2013 4:49 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

mdenk, o Reinaldo já disse tudo quanto ao Evento Change, se está em Private Sub Worksheet_Change só afetará a aba em que estiver , a não ser que referencie-se outra aba, e na rotina alem do Evento da Sheet - Worksheet_Change, temos tambem a instrução With ActiveSheet que diz respeito a Sheet ativa, como não temos o seu modelo vai um chutometro, de uma olhada se em EstaPasta_de_Trabalho não tem nenuma rotina no Evento da Pasta em Private Sub Workbook_SheetChange.

[]s

 
Postado : 18/02/2013 5:24 pm