Excel VBA para agregar hoja si no existe (con pasos rápidos)

  • Compartir Este
Hugh West

Excel VBA es una herramienta poderosa y útil para realizar tareas con bastante rapidez en una cantidad a granel. Puede aplicar varias condiciones y obtener diferentes resultados sobre la base de las condiciones individuales a través de VBA. Ahora, a veces, es posible que desee comprobar si una hoja en particular existe en su libro de trabajo. Y, si no, puede que tenga que crear esa hoja. En este artículo, voy a mostrar todos los pasos para añadir una hoja si no existe, utilizando Excel VBA.

Excel VBA: Añadir Hoja Si No Existe (Una Vista Rápida)

 Sub AddSheetIfNotExist() Dim addSheetName As String Dim requiredSheetName As String addSheetName = Application.InputBox("¿Qué Hoja Está Buscando?", _ "Añadir Hoja Si No Existe", "Hoja5", , , , 2) On Error Resume Next requiredSheetName = Worksheets(addSheetName).Name If requiredSheetName = "" Then Worksheets.Add.Name = addSheetName MsgBox "La hoja ''" & addSheetName & _ "'' tieneya existe en este libro.", _ vbInformation, "Add Sheet If Not Exist" Else MsgBox "The ''" & addSheetName & _ "''sheet already exists in this workbook.", _ vbInformation, "Add Sheet If Not Exist" End If End Sub 

Insertar en un nuevo módulo para aplicar el código anterior.

Descargar el cuaderno de prácticas

Puede descargar gratuitamente nuestro cuaderno de prácticas desde aquí.

Añadir hoja si no existe.xlsm

Pasos para aplicar código VBA para agregar hoja en Excel si no existe

Digamos que usted tiene un libro de trabajo que contiene 4 hojas de trabajo llamadas Enero, Febrero, Marzo y Abril. Cada hoja contiene el informe de ventas del mes siguiente. Ahora, usted necesita encontrar algunas hojas en el libro de trabajo y añadir la hoja si no existe. Usted puede seguir las directrices paso a paso a continuación para lograr esto.

📌 Paso 1: Insertar un nuevo módulo

En primer lugar, debe insertar un módulo para escribir código VBA.

  • Para ello, al principio, vaya a la sección Desarrollador tab>> Visual Basic herramienta.

  • En consecuencia, el Microsoft Visual Basic para Aplicaciones aparecerá la ventana.
  • A continuación, vaya a Inserte tab>> Módulo herramienta.

De este modo, se crea un nuevo módulo denominado Módulo 1 se ha creado.

Más información: Cómo agregar hoja con nombre en Excel VBA (6 maneras fáciles)

Lecturas similares

  • Crear Nuevo Libro y Guardar Usando VBA en Excel
  • Excel VBA: Crear un Nuevo Libro de Trabajo y Nombrarlo (6 Ejemplos)
  • Cómo crear una nueva hoja a partir de una plantilla utilizando una macro en Excel

📌 Paso 2: Escribir y guardar el código VBA requerido.

Ahora, tienes que escribir el código dentro del módulo y guardarlo.

  • Para ello, haga clic en el botón Módulo 1 y escribe el siguiente código en la ventana de código.
 Sub AddSheetIfNotExist() Dim addSheetName As String Dim requiredSheetName As String addSheetName = Application.InputBox("¿Qué Hoja Está Buscando?", _ "Añadir Hoja Si No Existe", "Hoja5", , , , 2) On Error Resume Next requiredSheetName = Worksheets(addSheetName).Name If requiredSheetName = "" Then Worksheets.Add.Name = addSheetName MsgBox "La hoja ''" & addSheetName & _ "'' tieneya existe en este libro.", _ vbInformation, "Add Sheet If Not Exist" Else MsgBox "The ''" & addSheetName & _ "''sheet already exists in this workbook.", _ vbInformation, "Add Sheet If Not Exist" End If End If  Sub 

  • Como resultado, la ventana de código tendrá el siguiente aspecto.

🔎 Explicación del código:

Segmento 1:

 Sub AddSheetIfNotExist() Dim addSheetName As String Dim requiredSheetName As String 

En esta parte, hemos declarado el nombre de la macro y los nombres de las variables.

Segmento 2:

 addSheetName = Application.InputBox("¿Qué hoja está buscando?", _ "Añadir hoja si no existe", "Hoja5", , , , , 2) On Error Resume Next requiredSheetName = Hojas de cálculo(addSheetName).Name 

En esta parte, hemos creado un cuadro de entrada. A través de este cuadro de entrada, podemos tomar la entrada del nombre del archivo que necesitamos encontrar.

Segmento 3:

 If requiredSheetName = "" Then Worksheets.Add.Name = addSheetName MsgBox "La hoja ''" & addSheetName & _ "'' se ha añadido ya que no existía.", _ vbInformation, "Añadir hoja si no existe" 

En esta parte, comprobamos si la hoja requerida existe en el libro de trabajo. Si no, crearía la hoja requerida y nos mostraría un mensaje sobre este cambio.

Segmento 4:

 Else MsgBox "La hoja ''" & addSheetName & _ "''ya existe en este libro.", _ vbInformation, "Add Sheet If Not Exist" End If End Sub 

En esta parte, hemos trabajado con el resultado si la hoja requerida ya existe en el libro de trabajo. En este caso, aparecerá otro cuadro de mensaje informando de que esta hoja existe. Además, en esta parte, terminamos el código correctamente.

  • A continuación, pulse Ctrl + S.

  • Posteriormente, un Microsoft Excel Haga clic en el botón No botón.

  • En consecuencia, el Guardar como aparecerá una ventana.
  • A continuación, elija Guardar como tipo: como .xlsm A continuación, haga clic en el botón Guardar botón.

De este modo, habrá escrito y guardado el código necesario.

Nota:

Debe guardar el libro de Excel en .xlsm De lo contrario, la macro no se activará y el código no funcionará.

Más información: Excel VBA para agregar hoja con nombre de variable (5 ejemplos ideales)

📌 Paso 3: Ejecutar el código

Ahora, tienes que ejecutar el código y comprobar los resultados.

  • Para ello, en primer lugar, haga clic en el botón Ejecutar en el Microsoft Visual Basic para Aplicaciones ventana.

  • En consecuencia, el Macros aparecerá la ventana.
  • A continuación, seleccione la opción AddSheetIfNotExist y haga clic en el botón Ejecutar botón.

  • En este momento, nuestro cuadro de mensaje creado llamado Añadir hoja si no existe Aquí, la opción automática sería Hoja5 .

  • Ahora, para comprobarlo, escribe "Abril" en el cuadro de texto y haga clic en el botón Ok botón.

  • Posteriormente, verá que aparece otro cuadro de mensaje indicándole que la hoja ya existe.
  • Haga clic en el botón Ok botón.

  • Después, vuelve a ejecutar el código y escribe "May" en el cuadro de texto del buzón de mensajes creado. A continuación, haga clic en el botón OK botón.

  • Como resultado, verá otro cuadro de mensaje que aparecerá informándole de que el "May" no existía y por lo tanto creó esta hoja.
  • A continuación, haga clic en el botón OK botón.

Finalmente, puedes ver que has añadido una hoja que antes no existía. Y, el libro de trabajo tendría ahora este aspecto.

Más información: Excel VBA: Añadir hoja después de la última (3 ejemplos ideales)

Conclusión

Por lo tanto, en este artículo, he mostrado todos los pasos para agregar una hoja si no existe con Excel VBA. Ir a través de todo el artículo con cuidado para entenderlo mejor y lograr el resultado deseado. Espero que encuentre este artículo útil e informativo. Si usted tiene alguna otra pregunta o recomendación, por favor no dude en ponerse en contacto conmigo.

Y, visita ExcelWIKI por muchos más artículos como éste. ¡Gracias!

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.