Notifications
Clear all

Macro para retornar a uma aba ativa

3 Posts
2 Usuários
0 Reactions
758 Visualizações
(@douglasj)
Posts: 2
New Member
Topic starter
 

Bom dia amigos!

Sou novo por aqui e gostaria muito de ajuda de vocês, desde já agradeço por sua atenção.

Estou trabalhando em uma planilha, a qual tenho utilizado recursos do VBA para automatizá-las.
Inseri uma macro para abastecer um banco de dados através de UserForm.
Como estou utilizando a mesma em várias abas da planilha Ex: plan1, plan2.... Gostaria de criar uma macro que ao final da execução da mesma ela retorne a aba ativa da planilha.
Ao executar a UserForm, ela me remete a aba de banco de dados, ao invés disso gostaria que me retornasse a aba da planilha ativa, por exmplo, se estou na plan1 a mesma preenche o banco de dados e me retorna a plan1, se estou na plan2 executa e retorna a plan2.
Alguém consegue me ajudar?
segue abaixo o código que estou usando:

Private Sub CommandButton1_Click()

Sheets("Saída de Materiais (Maleta)").Select
Range("a65000").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = Me.TextBox1.Value
ActiveCell.Offset(0, 1).Value = Me.TextBox2.Value
ActiveCell.Offset(0, 2).Value = Me.ComboBox2.Value
ActiveCell.Offset(0, 3).Value = Me.ComboBox3.Value
ActiveCell.Offset(0, 4).Value = Me.ComboBox4.Value
ActiveCell.Offset(0, 5).Value = Me.TextBox4.Value
ActiveCell.Offset(0, 6).Value = Me.TextBox5.Value
ActiveCell.Offset(0, 7).Value = Me.ComboBox1.Value
ActiveCell.Offset(0, 8).Value = Me.TextBox6.Value
Unload Me

End Sub

 
Postado : 04/01/2016 6:13 am
Fernando Fernandes
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Experimente:

Private Sub CommandButton1_Click()
Dim lRow As Long
With Sheets("Saída de Materiais (Maleta)")
    lRow = .Cells(Cells.Rows.Count, "A").End(xlUp).Row + 1
    .Cells(lRow, 1) = Me.TextBox1.Value
    .Cells(lRow, 1) = Me.TextBox2.Value
    .Cells(lRow, 1) = Me.ComboBox2.Value
    .Cells(lRow, 1) = Me.ComboBox3.Value
    .Cells(lRow, 1) = Me.ComboBox4.Value
    .Cells(lRow, 1) = Me.TextBox4.Value
    .Cells(lRow, 1) = Me.TextBox5.Value
    .Cells(lRow, 1) = Me.ComboBox1.Value
    .Cells(lRow, 1) = Me.TextBox6.Value
End With
Unload Me
End Sub

ou ainda:

Private Sub CommandButton1_Click()
Dim nPlan As String
nPlan = ActiveSheet.Name
Sheets("Saída de Materiais (Maleta)").Select
Range("a65000").End(xlUp).Offset(1, 0).Select
ActiveCell.Offset(0, 0).Value = Me.TextBox1.Value
ActiveCell.Offset(0, 1).Value = Me.TextBox2.Value
ActiveCell.Offset(0, 2).Value = Me.ComboBox2.Value
ActiveCell.Offset(0, 3).Value = Me.ComboBox3.Value
ActiveCell.Offset(0, 4).Value = Me.ComboBox4.Value
ActiveCell.Offset(0, 5).Value = Me.TextBox4.Value
ActiveCell.Offset(0, 6).Value = Me.TextBox5.Value
ActiveCell.Offset(0, 7).Value = Me.ComboBox1.Value
ActiveCell.Offset(0, 8).Value = Me.TextBox6.Value
Sheets(nPlan).Select
Unload Me
End Sub

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

 
Postado : 04/01/2016 6:26 am
(@douglasj)
Posts: 2
New Member
Topic starter
 

Utilizei o segundo código e resultou em minha procura.
Muito obrigado!!!

 
Postado : 04/01/2016 7:19 am