Hoja de eliminación de Excel VBA

En este momento, todos sabemos cómo desproteger cualquier hoja. La hoja Eliminar de VBA tiene la misma forma de escribir código que una hoja Desproteger. VBA Delete Sheet, como su nombre lo indica, se usa para eliminar la hoja de trabajo seleccionada automáticamente. Para usar la función Eliminar de VBA para eliminar cualquier hoja, primero debemos identificar qué hoja queremos eliminar. La función Eliminar de VBA funciona cuando llamamos al nombre de la hoja o secuencia de esa hoja y luego usamos la función Eliminar después de eso. A continuación se muestra la sintaxis de la Hoja de eliminación de VBA.

La sintaxis mostrada anteriormente se utilizará de muchas maneras diferentes en los próximos ejemplos.

¿Cómo eliminar la hoja en Excel VBA?

Aprenderemos cómo eliminar la hoja en Excel usando el código VBA.

Puede descargar este ejemplo de hoja de eliminación de VBA aquí - Ejemplo de hoja de eliminación de VBA

Hoja de eliminación de VBA - Ejemplo # 1

En este ejemplo, veremos una forma simple de eliminar cualquier hoja de trabajo. Para esto, siga los pasos a continuación:

Paso 1: abra un módulo desde la pestaña del menú Insertar.

Paso 2: Ahora escriba la subcategoría de la Hoja de eliminación de VBA. Podemos usar cualquier otro nombre para definir el código.

Código:

 Sub VBA_DeleteSheet () End Sub 

Paso 3: use el objeto Hojas de trabajo y seleccione la hoja que queremos eliminar. Aquí esa hoja se llama Hoja1 .

Código:

 Sub VBA_DeleteSheet () Hojas de trabajo ("Sheet1"). End Sub 

Paso 4: Ahora use la función Eliminar después del nombre de la Hoja seleccionada.

Código:

 Sub VBA_DeleteSheet () Hojas de trabajo ("Sheet1"). Eliminar End Sub 

Paso 5: Ejecute el código presionando la tecla F5 o haciendo clic en el botón Reproducir.

Veremos que el sistema nos avisará con una Alerta de que Excel eliminará permanentemente la hoja. Para continuar, haga clic en Eliminar .

Paso 6: Veremos que la hoja "Hoja1" ahora está eliminada.

Paso 7: Supongamos que intentamos eliminar una hoja que no existe o si terminamos poniendo un nombre incorrecto. A continuación intenté ingresar el nombre de la hoja que no está en el archivo de Excel como se muestra a continuación.

Código:

 Sub VBA_DeleteSheet () Hojas de trabajo ("Sheet2"). Eliminar End Sub 

Paso 8: ahora ejecuta el código. Ya veremos, VBA nos da el error "Subíndice fuera de rango", lo que significa que hemos seleccionado una hoja que no existe.

Hoja de eliminación de VBA - Ejemplo # 2

Hay otra forma de implementar VBA Delete Sheet. Este no es un código tan pequeño como el método que hemos visto en el Ejemplo-1. Pero también es una forma fácil de implementar. Para esto, siga los pasos a continuación:

Paso 1: escriba el subprocedimiento de la hoja Eliminar de VBA como se muestra a continuación.

Código:

 Sub VBA_DeleteSheet2 () End Sub 

Paso 2: Ahora seleccione una variable para la Hoja de trabajo con cualquier nombre. Aquí hemos elegido ExSheet como se muestra a continuación.

Código:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet End Sub 

Paso 3: Ahora establezca la variable definida con la función Hojas de trabajo y coloque el nombre de la hoja que queremos eliminar. Aquí, de nuevo, el nombre de la hoja es " Hoja1 ".

Código:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet Set ExSheet = Worksheets ("Sheet1") End Sub 

Paso 4: Ahora asigne la variable definida con la función Eliminar como se muestra a continuación.

Código:

 Sub VBA_DeleteSheet2 () Dim ExSheet As Worksheet Set ExSheet = Worksheets ("Sheet1") ExSheet.Delete End Sub 

Paso 5: Ahora ejecuta el código presionando la tecla F5 o haciendo clic en el botón Reproducir.

Nuevamente recibiremos un mensaje de aviso ya que aún queremos proceder a eliminar la Hoja seleccionada. Haga clic en Eliminar para continuar.

Hoja de eliminación de VBA - Ejemplo # 3

En este ejemplo, veremos cómo eliminar una hoja que está actualmente activa. Para esto, siga los pasos a continuación.

Paso 1: escriba el subprocedimiento de la Hoja de eliminación de VBA como se muestra a continuación.

Código:

 Sub VBA_DeleteSheet3 () End Sub 

Paso 2: Use la misma línea de código para declarar la variable como Hoja de trabajo, como se muestra a continuación, que hemos usado en los ejemplos anteriores.

Código:

 Sub VBA_DeleteSheet3 () Dim ExSheet As Worksheet End Sub 

Paso 3: Ahora abra un bucle For Next como se muestra a continuación.

Código:

 Sub VBA_DeleteSheet3 () Dim ExSheet como hoja de trabajo para el próximo ExSheet End Sub 

Paso 4: Ahora seleccionaremos la hoja de trabajo actual activa de todas las hojas de trabajo disponibles en Excel Workbook.

Código:

 Sub VBA_DeleteSheet3 () Dim ExSheet como hoja de trabajo para cada ExSheet en ActiveWorkbook.Worksheets Next ExSheet End Sub 

Paso 5: Una vez que se selecciona la hoja de trabajo abierta actualmente, usaremos la función Eliminar con ExSheet variable para eliminar eso.

Código:

 Sub VBA_DeleteSheet3 () Dim ExSheet como hoja de trabajo para cada ExSheet en ActiveWorkbook.Worksheets ExSheet.Delete Next ExSheet End Sub 

Paso 6: Ahora compile el código y ejecútelo si no se encuentra ningún error. Esto eliminará la hoja de trabajo activa del libro abierto que está seleccionado.

Hoja de eliminación de VBA - Ejemplo # 4

El código que hemos visto en el ejemplo 3 también se puede ver de una manera más. Podemos usar If End If Loop junto con For Next loop.

Paso 1: Consideremos el mismo código que hemos visto en el ejemplo-3 anterior.

Código:

 Sub VBA_DeleteSheet4 () Dim ExSheet como hoja de trabajo para cada ExSheet en ActiveWorkbook.Worksheets ExSheet.Delete Next ExSheet End Sub 

Paso 2: este código elimina la hoja que está actualmente activa. ¿Qué sucede si mejoramos esta condición seleccionando la hoja que está actualmente activa y con el mismo nombre? Sí, para esto necesitamos abrir el bucle If End If donde escribiremos la condición para esto justo después del bucle For.

Código:

 Sub VBA_DeleteSheet4 () Dim ExSheet como hoja de trabajo para cada ExSheet en ActiveWorkbook.Worksheets If ExSheet.Delete End If Next ExSheet End Sub 

Paso 3: Ahora escriba la condición en el bucle If como si el nombre de la hoja bajo la variable ExSheet es igual y exacta a " Hoja1 " (o cualquier otro nombre de hoja), luego elimine esa hoja usando la variable ExSheet.

Código:

 Sub VBA_DeleteSheet4 () Dim ExSheet como hoja de trabajo para cada ExSheet en ActiveWorkbook.Worksheets If ExSheet.Name "Sheet1" Entonces ExSheet.Delete End If Next ExSheet End Sub 

Paso 4: Podemos compilar el código aquí ya que hay muchos pasos involucrados. Luego ejecute el código después de eso.

Nuevamente recibiremos el mensaje de aviso donde aún queremos eliminar esa hoja o no. Al hacer clic en Eliminar, eliminará la hoja seleccionada.

Pros de Excel VBA Eliminar hoja

  • Esto es bastante útil cuando tenemos un gran conjunto de datos en las diferentes hojas que necesitamos eliminar con bastante frecuencia una vez que se realiza la tarea.
  • El código que se muestra en el ejemplo 1 es el código más fácil de aplicar.
  • Incluso podemos seleccionar más de una hoja que queremos eliminar.

Cosas para recordar

  • También podemos elegir la secuencia de la hoja en lugar del nombre de la hoja que queremos eliminar.
  • La razón para recibir la alerta antes de eliminar la hoja es que Excel nos solicita que verifiquemos si hay datos que no queremos perder.
  • Una vez que hayamos terminado con la codificación, guarde el archivo de Excel en formato de habilitación de macro de Excel para evitar perder el código escrito.

Artículos recomendados

Esta es una guía para VBA Delete Sheet. Aquí discutimos cómo Eliminar Hoja en Excel VBA junto con ejemplos prácticos y plantilla de Excel descargable. También puede consultar nuestros otros artículos sugeridos:

  1. Colección VBA (Ejemplos)
  2. Declaraciones VBA IF | Plantillas Excel
  3. ¿Cómo utilizar la función de clasificación de Excel VBA?
  4. VBA While Loop (Ejemplos con plantilla de Excel)
  5. VBA Environ

Categoría: