Saltar al contenido
publicado

Hola buenas tardes:

estoy creando un formulario para registrar datos pero en diferentes hojas.

Dentro del formulario ya he agregado un campo para la seleccion del nombre (nombre de la hoja donde debo ingresar los datos capturados) y funciona bien

pero dentro de cada hoja en la columna A tengo los consecutivos actuales, este corresponde al ultimo registro.

con la funcion de: Me.txtCons = Application.WorksheetFunction.Max(Range("A:A")) + 1 , puesto en: UserForm_Activate me mostraba el ultimo consectivo de una sola hoja.

Pero ahora que he agregado el cambio de hojas ya no lo toma.

Mi necesidad seria que al cambiar el nombre de la hoja me diera el consecutivo siguiente de esa hoja. y que el registro se haga con ese número.

 

Muchas gracias

 

 

registro consul.xlsm

Solucionado por JSDJSD

Ir a la solución

Featured Replies

publicado
Private Sub ComboBox8_Change()
    Dim vhoja As String
    vhoja = ComboBox8.Text
    Me.txtCons = Application.WorksheetFunction.Max(Sheets(vhoja).Range("A:A")) + 1
End Sub

 

registro consul.xlsm

publicado
  • Solution

Tal cual veo tu archivo en el formulario MC-Agregar registros, en el comobox Nombre(nomHoja) solamente deberías cargar Berel y Romta, bueno míralo y comentas.

publicado
  • Autor
hace 51 minutos , JSDJSD dijo:

Tal cual veo tu archivo en el formulario MC-Agregar registros, en el comobox Nombre(nomHoja) solamente deberías cargar Berel y Romta, bueno míralo y comentas.

Muchas gracias! justo lo que necesitaba.

En el ejemplo solo son estos dos: Berel y Romta, pero seran varias hojas más.

no se si dentro de mi revision de hojas del libro, exista algun proceso para omitir las hojas de (Alta, Auxiliar) y solo mostrar las otras hojas dentro del combox8.

Es como una peticion extra, pero asi como esta el archivo devuelto a quedo muy bien!

 

Saludos Cordiales

 

 

 

publicado
Private Sub UserForm_Initialize()

    Dim hoja As Variant
    For Each hoja In Sheets
        If hoja.Name <> "Alta" And hoja.Name <> "Auxiliar" And hoja.Name <> "ddTraDa.hoja" Then
            ComboBox8.AddItem hoja.Name
        End If
    Next

TextFechaReg = Format$(Date, "dd/mm/yyyy")

End Sub

Cambia en tu formulario Private Sub UserForm_Initialize() por este y solamente te cargara las hojas que necesitas actualmente, cuando añada nuevas que quieras incluirlas debes cambiar el código a tus necesidades.

publicado
  • Autor
hace 4 horas, JSDJSD dijo:
Private Sub UserForm_Initialize()

    Dim hoja As Variant
    For Each hoja In Sheets
        If hoja.Name <> "Alta" And hoja.Name <> "Auxiliar" And hoja.Name <> "ddTraDa.hoja" Then
            ComboBox8.AddItem hoja.Name
        End If
    Next

TextFechaReg = Format$(Date, "dd/mm/yyyy")

End Sub

Cambia en tu formulario Private Sub UserForm_Initialize() por este y solamente te cargara las hojas que necesitas actualmente, cuando añada nuevas que quieras incluirlas debes cambiar el código a tus necesidades.

Muhcas gracias!

Ah quedado muy bien!

 

Saludos cordiales

Crear una cuenta o conéctate para comentar