Notifications
Clear all

Permanecer na mesma página ao enviar dados para outra plan

5 Posts
2 Usuários
0 Reactions
821 Visualizações
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Bom dia!
Eu tenho o seguinte código implementado em um botão "enviar" no meu form do excel. A função do form é tranferir os dados digitados para uma outra planilha chamada "Relatório de Alterações".
Até aí beleza. O único problema é que quando eu clico no botão enviar ele vai direto para a página do "Relatório de Alterações". Teria como ele permanecer na primeira página, ou seja, quando eu clicar no botão enviar ele não ir até o planilha "Relatório de Alterações"?

Private Sub cmdEnviar_Click()

If txtUsuario.Text = "" Then
MsgBox "O preenchimento de todos os campos são obrigatórios!", vbExclamation, "Aviso!"
txtUsuario.SetFocus
Exit Sub
End If
If txtAlt.Text = "" Then
MsgBox "O preenchimento de todos os campos são obrigatórios!", vbExclamation, "Aviso"
txtAlt.SetFocus
Exit Sub
End If

'Ativar a primeira planilha
ThisWorkbook.Worksheets("Relatório de Alterações").Activate
'Selecionar a célula A3
Range("A3").Select

'Procurar a primeira célula vazia
Do
If Not (IsEmpty(ActiveCell)) Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
UserForm1.Hide
'Carregar os dados digitados nas caixas de texto para a planilha
ActiveCell.Value = txtUsuario.Value
ActiveCell.Offset(0, 1).Value = txtAlt.Value

'Limpar as caixas de texto
txtUsuario.Value = Empty
txtAlt.Value = Empty

'Colocar o foco na primeira caixa de texto
txtUsuario.SetFocus

End Sub

 
Postado : 15/04/2013 7:48 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

ANtes da linha :

'Ativar a primeira planilha
ThisWorkbook.Worksheets("Relatório de Alterações").Activate

coloque a instrução abaixo :

Application.ScreenUpdating = False

[]s

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/04/2013 7:59 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Obrigado pela atenção, Mauro Coutinho!
Mas o código não funcionou :/

 
Postado : 15/04/2013 8:17 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Pode ser assim tambem:

Private Sub cmdEnviar_Click()

If txtUsuario.Text = "" Then
MsgBox "O preenchimento de todos os campos são obrigatórios!", vbExclamation, "Aviso!"
txtUsuario.SetFocus
Exit Sub
End If
If txtAlt.Text = "" Then
MsgBox "O preenchimento de todos os campos são obrigatórios!", vbExclamation, "Aviso"
txtAlt.SetFocus
Exit Sub
End If
'Ativar a primeira planilha
With Sheets("Relatório de Alterações")

    'Procurar a primeira célula vazia
    ULinha = .Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1
    'Carregar os dados digitados nas caixas de texto para a planilha
    .Cells(ULinha, 1) = txtUsuario.Value
    .Cells(ULinha, 2) = txtAlt.Value
End With
'Limpar as caixas de texto
txtUsuario.Value = Empty
txtAlt.Value = Empty
'Colocar o foco na primeira caixa de texto
txtUsuario.SetFocus
End Sub

Existem mil maneiras de preparar Neston. Invente a sua!
http://www.youtube.com/ExpressoExcel

 
Postado : 15/04/2013 8:33 am
(@brunsftw)
Posts: 93
Trusted Member
Topic starter
 

Obrigado, Reinaldo!
Funcionou perfeitamente!

 
Postado : 15/04/2013 8:43 am