Macro que genere una Hoja igual a otra con otro nombre

A ver si me podéis sugerir como abordar un problema que me ha surgido. En un libro excel el usuario necesita generar una hoja igual a una existente pero con distinto nombre. El usuario entra en un formulario en el cual indica el año a analizar (2013) y la macro debería copiar la Hoja "BBDD_2012" y generar una identica pero con nombre "BBDD_2013". He generado la Hoja, pero la genero vacía sin contenido.

1 respuesta

Respuesta
1

H o l a:

Pon lo siguiente en tu formulario:

    Application.ScreenUpdating = False
    hoja = Val(textbox1)
    hojaant = "BBDD_" & hoja - 1
    hojanva = "BBDD_" & hoja
    For Each h In Sheets
        If UCase(h.Name) = hojaant Then
            existe = True
        End If
        If UCase(h.Name) = hojanva Then
            existenva = True
        End If
    Next
    '
    If existenva Then MsgBox "La nueva hoja a crear ya existe: " & hojanva, vbCritical: Exit Sub
    '
    If existe = False Then MsgBox "No existe la hoja a copiar: " & hojaant, vbCritical: Exit Sub
    '
    Sheets(hojaant).Copy after:=Sheets(Sheets.Count)
    ActiveSheet.Name = hojanva
    Application.ScreenUpdating = True
    MsgBox "Hoja copiada"

Supongo que el usuario entra a un formulario e indica en un Textbox el año a analizar. Entonces en la macro cambia en esta línea el nombre de tu textbox:

 Hoja = Val(textbox1)

Si tienes dificultades para adaptar el código a tu formulario, entonces me explicas cómo tienes tu formulario.


'S aludos. Dante Amor. Recuerda valorar la respuesta. G racias

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas