A Jeff le gustaría crear una copia de su hoja de trabajo «maestra», solicitar un nombre para la nueva hoja de trabajo y moverla al final de las pestañas de la hoja de trabajo, todo desde una macro. Intentó grabar una macro para hacer esto, pero no funcionó.

El hecho de que la macro grabada no funcionó no es muy sorprendente.

Cuando graba una macro, le dice a Excel que registre los pasos que sigue.

Esos pasos (en este caso) incluyeron el nombre de la hoja de trabajo, por lo que ese nombre se registró en la macro. Intente ejecutar la macro por segunda vez y obtendrá un error porque la hoja de trabajo que está intentando crear en la segunda pasada ya se creó en la primera.

En este caso, debe escribir una macro manualmente. Puede comenzar con la grabación del proceso y obtendrá un código como el siguiente:

Sub Macro1()

Sheets("Master").Select     Sheets("Master").Copy After:=Sheets(3)

Sheets("Master (2)").Select     Sheets("Master (2)").Name = "NewMaster"

End Sub

Tenga en cuenta que el código coloca la hoja de trabajo (después de la tercera hoja) y luego siempre la nombra igual. Hay mucho que cambiar aquí. Lo que quieres hacer es cambiarlo a algo como lo siguiente:

Sub CopyRename()

Dim sName As String     Dim wks As Worksheet     Worksheets("Master").Copy after:=Sheets(Worksheets.Count)

Set wks = ActiveSheet     Do While sName <> wks.Name         sName = Application.InputBox _           (Prompt:="Enter new worksheet name")

On Error Resume Next         wks.Name = sName         On Error GoTo 0     Loop     Set wks = Nothing End Sub

Esta macro copiará la hoja de trabajo llamada «Maestra» al final de la lista de hojas (sin importar cuántas hojas tenga en el libro) y continuará solicitando un nuevo nombre de hoja de trabajo hasta que se ingrese un nombre válido.

_Nota: _

Si desea saber cómo usar las macros descritas en esta página (o en cualquier otra página de los sitios ExcelTips), he preparado una página especial que incluye información útil.

link: / excelribbon-ExcelTipsMacros [Haga clic aquí para abrir esa página especial en una nueva pestaña del navegador].

ExcelTips es su fuente de formación rentable en Microsoft Excel.

Este consejo (11929) se aplica a Microsoft Excel 2007, 2010, 2013 y 2016.

Puede encontrar una versión de este consejo para la interfaz de menú anterior de Excel aquí:

link: / excel-Creating_and_Naming_a_Worksheet_Using_a_Macro [Creando y nombrando una hoja de trabajo usando una macro].