Al iniciar una macro en Microsoft Excel me da un error de ejecución

Hola experto trato de correr una macro pero me da error 1004 en tiempo de ejecución
Sub nuevahoja()
    Dim nombrehoja As String
    Application.ScreenUpdating = True
    nombrehoja = InputBox(" REALIZA LA NUEVA FACTURA, PON EL NUMERO CONSECUTIVO")
    If nombrehoja = "" Then Exit Sub
    Dim hoja As Worksheet
    Set hoja = ActiveWorkbook.Sheets.Add
en esta linea de da el error
         hoja.Name = nombrehoja
    Sheets("abel").Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("a1").Select
    Sheets(nombrehoja).Select
    Cells.Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("a1").Select
    ActiveSheet.Range("j1") = ActiveSheet.Name
    Dim Desp As Integer, Ant As Integer
    Application.ScreenUpdating = False
    For Desp = 1 To Sheets.Count
        For Ant = Desp To Sheets.Count
            If UCase(Format(Sheets(Ant).Name, "000000000000000000000000")) > _
            UCase(Format(Sheets(Desp).Name, "000000000000000000000000")) Then _
                Sheets(Ant).Move Before:=Sheets(Desp)
        Next Ant
    Next Desp
De antemano se da las gracias
Respuesta
1
He probado el código y no me salta el error que indicas. Lo que he hecho ha sido trasladarlo a un módulo nuevo y ejecutarlo desde allí, ya que desde la propia hoja no funcionaba bien.
Prueba a crear un módulo y lanzar desde allí el código.
Buen día
Le comento realiza la prueba en otro libro nuevo, el error me sigue saliendo, pero me sale cuando se duplica el numero consecutivo, si me pueden ayudar de antemano se le dan la gracias. Saludos
Si duplicas el número consecutivo estás repitiendo el nombre de la hoja y Excel lanza un error. Prueba a crear "manualmente" las hojas, p.e: hoja.Name = "NuevaHoja" y elimnina temporalmente la línea del InputBox para ver si ahí reside el error.
Sustituye, también, la línea que dice
Sheets("abel").Select 
Por
Sheets(1). Select (1 o el número de hoja que corresponda).

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas