Generar un consecutivo de facturas

Su ayuda necesito crear un consecutivo de facturas y con una macro me genere una copia de la factura anterior con el siguiente numero consecutivo y la anterior me conserve el numero anterior

Así voy pero la factura anterior queda con el numero actual.

Private Sub CommandButton1_Click()
If (MsgBox("¿Esta seguro de Generar Nueva Orden?", vbQuestion + vbYesNo) = vbYes) Then
Cancel = False
Range("H5").Value = Range("H5").Value + 1
Range("LIMPIAR").Select
Selection.ClearContents
Sheets("1").Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
ActiveSheet.Name = Worksheets("1").Range("H5").Value + 0
Else
Cancel = True
End If
Range("H5").Value = Range("H5").Value + 0
End Sub

2

2 respuestas

Respuesta
1

Paso 1: se copia la hoja 1

Paso 2: la nueva hoja se va llamar 2

Paso 3: la hoja 1 debe quedar en "H5" como 1

Paso 4: la hoja 2 debe quedar en "H5" como 2 y así sucesivamente

La hoja 3 con H5 como 3

La hoja 4 con H5 como 4

Respuesta
1

En tu macro estás copiando la hoja "1". ¿Siempre se va a copiar la hoja "1"?

¿En esa hoja "1" vas a poner el nuevo consecutivo?

Podrías explicar paso a paso qué quieres realizar, es decir,

Paso 1, se copia la hoja "n"

Paso 2. La nueva hoja se va a llamar "nn"

¿Paso 3. En la celda H5 de la hoja "n" va a incrementarse?

¿Paso 4. En la celda H5 de la hoja "nn" va a incrementarse?

¿Y qué pasa si se vuelve a ejecutar la macro?

Envía la explicación con ejemplos reales.

Te anexo la macro actualizada

Private Sub CommandButton1_Click()
    If (MsgBox("¿Esta seguro de Generar Nueva Orden?", vbQuestion + vbYesNo) = vbYes) Then
        If Range("H5").Value = "" Or Not IsNumeric(Range("H5").Value) Then
            MsgBox "El dato en H5 no es un número"
            Exit Sub
        End If
        Range("LIMPIAR").ClearContents
        nuevo = Range("H5").Value + 1
        ActiveSheet.Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
        ActiveSheet.Name = nuevo
        ActiveSheet.Range("H5").Value = nuevo
    End If
End Sub

[Sal u dos

Buen día que pena contigo Dante Amor no me funciono no se por que.

¿Qué mensaje de error te aparece?

¿O qué estás haciendo y qué debería hacer?

Puedes enviar más información.

Si le das Aceptar, ¿en cuál línea de la macro se detiene?

¿Tienes en tu hoja a copiar un rango llamado "Limpiar"?

Lo que esta seleccionado el área de limpiar como lo muestra la imagen "lo gris fue lo que llame limpiar"  cada vez que genere una nueva orden me limpie esos campos seleccionados. la verdad no encontré otra forma de hacerlo. 

El problema está en las celdas combinadas que tienes en la fila 6.

Puedes crear varios nombres de rango, por ejemplo

Crea un rango para la celda B6, otro para las celdas B7:B9, otro para H7, otro para B11, otro para B14, I14, etc.

En la macro puedes poner algo como esto:

Range("LIMPIAR1"). ClearContents
Range("LIMPIAR2"). ClearContents
Range("LIMPIAR3"). ClearContents
Range("LIMPIAR4"). ClearContents

Hola Dante Amor ya me funciono pero tengo otro problema cuando se genera la nueva hoja se genera es con el numero anterior y no con el nuevo ejemplo:

Hola Dante Amor ya me funciono muchísimas gracias te agradezco demasiado super bien 

Super de verdad mil gracias..

Cuando gustes.

Al final de mi respuesta, hay dos opciones para valorar la respuesta: "Votar" y "Excelente". Si ya no tienes dudas, podrías cambiar la valoración.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas