Macro para crear la copia de una hoja a otro libro

Sabiendo que eres un experto en estos temas, te pido por favor me apoyes en lo siguiente: Necesito de su ayuda urgente: requiero por favor una macro que copie una celda de una la hoja FACTURA A1:M40 al final de todas las hojas que tiene mi libro, cada hoja creada debe tener un nombre igual a la celda D5, no debe crear mas de una copia, o antes de hacerlo debe eliminar la anterior (por ejemplo si creo la hoja "Factura 1", no debe permitir que se cree otra hoja llamada factura 1 salvo que se desee modificar esta), luego copiar datos de todas estas hojas creadas y aun por crear (la idea es que se creen 1000 hojas a medida que se va facturando) de estas hojas creadas y aun por crear se debe copiar la información de la celda O39:P39, a una nueva hoja que se llama factura cobradas (estas hojas copiadas debe mantener las formulas de la hoja original en cada celda).

1 respuesta

Respuesta
1

Te anexo la macro

Sub CopiarHoja()
'Por.Dante Amor
    Application.ScreenUpdating = False
    Application.DisplayAlerts = False
    '
    Set h1 = Sheets("MODELO COSTEO")
    Set h2 = Sheets("RESUMEN DE ARTICULOS")
    '
    nombre = h1.[B5].Value
    If nombre = "" Then
        MsgBox "Falta el nombre del producto", vbCritical
        Exit Sub
    End If
    '
    existe = False
    For Each h In Sheets
        If UCase(h.Name) = UCase(nombre) Then
            existe = True
            Exit For
        End If
    Next
    '
    If existe Then
        res = MsgBox("Ya existe una hoja con ese nombre, desea borrar la hoja y crear la nueva", vbQuestion & vbYesNo)
        If res = vbNo Then
            Exit Sub
        Else
            Sheets(nombre).Delete
        End If
    End If
    '
    h1.Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = nombre
    u = h2.Range("A" & Rows.Count).End(xlUp).Row + 1
    h2.Cells(u, "A") = nombre
    h2.Cells(u, "B") = h1.[E31]
    h2.Cells(u, "C") = h1.[E32]
    Application.ScreenUpdating = False
    MsgBox "Hoja copiada", vbInformation
End Sub
'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas