Uso de Formularios en Excel
Saludos experto
Esperando que estés bien recurro de nuevo a ti debido al uso de los formularios en excel.
Tengo el siguiente codigo en uno de mis formularios, este formulario aparece en la hoja 1
y graba los datos en la hoja2;
Private Sub Registro_Click()
Rem inserta un renglón
Selection.EntireRow.Insert
Dim SigFila As Long
Sheets("Hoja2").Select
SigFila = Application.WorkSheetFunction.CountA(Range("A:A")) + 1
Cells(SigFila, 1) = TextBox1.Value
Cells(SigFila, 2) = TextBox2.Value
Sheets("Hoja1").Select 'Volver a la hoja original
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub TextBox2_Change()
End Sub
Private Sub Userform_QueryClose(Cancel As Integer, CloseMode As Integer)
Sheets("Test").Select
ActiveSheet.Range("B2").Select 'indica la celda que quieras activar
End Sub
Según entiendo, este código hace que el formulario graba los datos en otra hoja
tan rapido que no se percibe y regresa a la hoja donde fue abierto.
El problema es que este formulario esta programado para aparecer cada que se despliega la hoja
por medio del siguiente codigo;
Hoja 1
Private Sub Worksheet_Activate()
Registro.Show
End Sub
Por esa razón cada ves que trato de guardar los registros con el botón
me aparece un error y se indica en
Registro.show
¿Me podrías ayudar para que el formulario graba los datos en la hoja2
como ya lo hace, permitiendo también que el formulario abra cada vez que se active
la hoja1?
Según entiendo, el problema es que con el formulario abierto y con el código
Registro. Show se impide que el formulario se traslade a otra hoja. Considero que puede
haber otro forma (código) para abrirlo sin que interfiera con el código del botón.
Esperando que estés bien recurro de nuevo a ti debido al uso de los formularios en excel.
Tengo el siguiente codigo en uno de mis formularios, este formulario aparece en la hoja 1
y graba los datos en la hoja2;
Private Sub Registro_Click()
Rem inserta un renglón
Selection.EntireRow.Insert
Dim SigFila As Long
Sheets("Hoja2").Select
SigFila = Application.WorkSheetFunction.CountA(Range("A:A")) + 1
Cells(SigFila, 1) = TextBox1.Value
Cells(SigFila, 2) = TextBox2.Value
Sheets("Hoja1").Select 'Volver a la hoja original
TextBox1.Text = ""
TextBox2.Text = ""
TextBox1.SetFocus
End Sub
Private Sub TextBox1_Change()
End Sub
Private Sub TextBox2_Change()
End Sub
Private Sub Userform_QueryClose(Cancel As Integer, CloseMode As Integer)
Sheets("Test").Select
ActiveSheet.Range("B2").Select 'indica la celda que quieras activar
End Sub
Según entiendo, este código hace que el formulario graba los datos en otra hoja
tan rapido que no se percibe y regresa a la hoja donde fue abierto.
El problema es que este formulario esta programado para aparecer cada que se despliega la hoja
por medio del siguiente codigo;
Hoja 1
Private Sub Worksheet_Activate()
Registro.Show
End Sub
Por esa razón cada ves que trato de guardar los registros con el botón
me aparece un error y se indica en
Registro.show
¿Me podrías ayudar para que el formulario graba los datos en la hoja2
como ya lo hace, permitiendo también que el formulario abra cada vez que se active
la hoja1?
Según entiendo, el problema es que con el formulario abierto y con el código
Registro. Show se impide que el formulario se traslade a otra hoja. Considero que puede
haber otro forma (código) para abrirlo sin que interfiera con el código del botón.
1 respuesta
Respuesta de Juan Carlos González Chavarría
1