- 13 Jul 2015 às 20:59
#1703
Prezados, boa noite!
Tenho uma pequena macro que ao clicar enter o cursor salta para a próxima célula seguindo a ordem predeterminada. São quatro células a preencher, sendo a última uma data qualquer. Pus um calendário (macro2) na última destas quatro células, para ao clicar nesta ele abrir e eu escolher a data, porém não consigo fazê-lo funcionar em conjunto com a macro1, ou seja, na macro1, preencho G2, clico enter o cursor vai para H2, preencho H2 clico enter ele vai para I2, preencho I2 clico enter e ele vai para J2, que é a célula da data. Se eu preencher manualmente ele finaliza em L13. Na macro do calendário, em uma outra planilha, quando clico dentro da célula ou clico enter para o cursor cair na célula determinada, aparece o calendário, mas quando tento colocá-la em conjunto com a macro1, se eu clicar em outra célula e voltar para a J2 abre o calendário normalmente, mas seguindo a macro1 ao preencher I2 e clicar enter, o cursor vai para J2 mas não abre o calendário.
Por gentileza, me auxiliem na solução deste problema.
Desde já, agradeço.
Eudes Militão
Segue macros:
.......................
Em Objetos plan1 tenho:
macro1:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo z
Application.EnableEvents = False
If Not Intersect(Target, Range("G2")) Is Nothing Then
[H2].Activate
ElseIf Not Intersect(Target, Range("H2")) Is Nothing Then
[I2].Activate
ElseIf Not Intersect(Target, Range("I2")) Is Nothing Then
[J2].Activate
ElseIf Not Intersect(Target, Range("J2")) Is Nothing Then
[L13].Activate
End If
Continue:
Application.EnableEvents = True
Exit Sub
z:
MsgBox Err.Description
Resume Continue
End Sub
.....................
macro2:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("J2")) Is Nothing Then
Calendário.Show
End If
End Sub
......................
Em formulários tenho esta:
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
ActiveCell.Value = MonthView1.Value
Calendário.Hide
End Sub
.........................
Em módulos tenho:
Sub lsCalendario()
ActiveCell = Calendário.Show
End Sub
Tenho uma pequena macro que ao clicar enter o cursor salta para a próxima célula seguindo a ordem predeterminada. São quatro células a preencher, sendo a última uma data qualquer. Pus um calendário (macro2) na última destas quatro células, para ao clicar nesta ele abrir e eu escolher a data, porém não consigo fazê-lo funcionar em conjunto com a macro1, ou seja, na macro1, preencho G2, clico enter o cursor vai para H2, preencho H2 clico enter ele vai para I2, preencho I2 clico enter e ele vai para J2, que é a célula da data. Se eu preencher manualmente ele finaliza em L13. Na macro do calendário, em uma outra planilha, quando clico dentro da célula ou clico enter para o cursor cair na célula determinada, aparece o calendário, mas quando tento colocá-la em conjunto com a macro1, se eu clicar em outra célula e voltar para a J2 abre o calendário normalmente, mas seguindo a macro1 ao preencher I2 e clicar enter, o cursor vai para J2 mas não abre o calendário.
Por gentileza, me auxiliem na solução deste problema.
Desde já, agradeço.
Eudes Militão
Segue macros:
.......................
Em Objetos plan1 tenho:
macro1:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo z
Application.EnableEvents = False
If Not Intersect(Target, Range("G2")) Is Nothing Then
[H2].Activate
ElseIf Not Intersect(Target, Range("H2")) Is Nothing Then
[I2].Activate
ElseIf Not Intersect(Target, Range("I2")) Is Nothing Then
[J2].Activate
ElseIf Not Intersect(Target, Range("J2")) Is Nothing Then
[L13].Activate
End If
Continue:
Application.EnableEvents = True
Exit Sub
z:
MsgBox Err.Description
Resume Continue
End Sub
.....................
macro2:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("J2")) Is Nothing Then
Calendário.Show
End If
End Sub
......................
Em formulários tenho esta:
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
ActiveCell.Value = MonthView1.Value
Calendário.Hide
End Sub
.........................
Em módulos tenho:
Sub lsCalendario()
ActiveCell = Calendário.Show
End Sub