Combinación de códigos vba de excel

Nuestra inquietud es la siguiente nos hemos elaborado con la grabadora macro dos códigos uno para renombrar hojas e insertar hojas en forma automática, y quisiéramos combinar las con la función input box. A continuación dejamos los códigos elaborados a través de la grabadora de macro:

Este es el código para insertar hojas

Sub     Insertar_Hojas ()

Sheets.Add After: = Active Sheet

End Sub

Este es el código para renombrar las hojas

Sub Renombrar_Hojas ()

   Sheets ("Hoja1").Select

   Sheets ("Hoja1").Name = "Nombre a modificar"

End Sub

Espero que nos hemos expresado bien respecto a la petición sino háganos saber para volver a formular de nuevo las peticiones solicitadas por nosotros.

2 respuestas

Respuesta
2

Te anexo la macro actualizada para renombrar hojas.

Sub Renombrar_Hojas()
    nuevo = InputBox("Escribe el nuevo nombre de la hoja : ", "RENOMBRAR HOJA ACTIVA")
    If nuevo = "" Then
        Exit Sub
    End If
    For Each h In Sheets
        If LCase(h.Name) = LCase(nuevo) Then
            MsgBox "El nombre de hoja ya existe, debes poner uno nuevo", vbCritical
            Exit Sub
        End If
    Next
    ActiveSheet.Name = nuevo
End Sub

'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Apreciado Sr Amor

Gracias a usted por enviar nos el código para renombrar las hojas ya actualizada ya la probaremos. Cualquier inconveniente se lo haremos saber si es posible en la brevedad

Apreciado Sr. Dante Amor

Nos le agradecemos la pronta respuesta ya probaremos el código enviado. Cualquier inconveniente se lo haremos saber en lo posible en la brevedad.

Respuesta
1

Prueba esta macro crea la hoja con el nombre que le pongas en el inputbox

Sub insertar_y_cambiar_nombre()
Application.DisplayAlerts = False
nombre = InputBox("Teclee el nombre de la nueva hoja")
If nombre = Empty Then End
On Error Resume Next
Sheets.Add(After:=Sheets(Sheets.Count)).Name = nombre
If Err.Number > 0 Then MsgBox ("Ya existe una hoja con este nombre"), _
vbInformation, "AVISO": ActiveSheet.Delete: End
On Error GoTo 0
Application.DisplayAlerts = True
End Sub

Estimado Señor

Gracias por responder nuestra inquietud ya  probaremos el código que usted nos ha enviado si surge algún inconveniente se lo haremos saber

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas