Quisiera que me ayuden en un código en mi formulario vba excel.

Quisiera que me ayuden en un código que quiero añadirle en mi formulario vba de excel.

Tengo un formulario de registro con 5 hojas y quiero que cada vez que registro en una hoja que me ponga un numero consecutivo en cada registro, y que el ultimo registro refleje en el formulario cuando elijo una hoja, las hojas las elijo con un combobox.

Respuesta

[Hola Juan. El siguiente código te registra en la hoja1, desde la columna "A" hasta la "G", y numera en la columna "A"

Prueba y me comentas si es lo que necesitas.

Private Sub BtnReg_Click()
Dim uFil As Long
With Hoja2
uFil = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & uFil) = uFil - 1
.Range("B" & uFil) = CajadeTexto1.Text
.Range("C" & uFil) = CajadeTexto2.Text
.Range("D" & uFil) = CajadeTexto3.Text
.Range("E" & uFil) = CajadeTexto4.Text
.Range("F" & uFil) = CajadeTexto5.Text
.Range("G" & uFil) = CajadeTexto6.Text
MsgBox "Datos registrados con éxito", vbInformation
End With
End Sub

Salu2 Carlos Arrocha

Hola Carlos, muchas gracias por la respuesta pero lo que necesito es que, tengo un libro de 5 hojas y la selecciono las hojas con un combobox y quiero que al seleccionar una hoja desde este combobox me enumere automaticamente la ultima fila sin datos de la hoja que he elegido.

Prueba así a ver si es lo que necesitas. Este bloque lo tienes que poner en el combobox.

Private Sub ComboBox1_Change()
Dim uL As Long
Sheets(ComboBox1.Text).Select
uL = Range("A6500").End(xlUp).Row
uL = uL + 1
Cells(uL, 1).Select
End Sub

Y este bloque va en el evento change del form

Private Sub UserForm_Initialize()
Dim Hoja As Worksheet
ComboBox1.Clear
For Each Hoja In Worksheets
If Hoja.Visible <> False Then
ComboBox1.AddItem Hoja.Name
End If
Next
End Sub

Salu2 Carlos Arrocha

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas