¿cómo contar hojas usando vba?
En Excel, si tienes muchas hojas, puedes usar el código VBA para contarlas rápidamente en lugar de contarlas manualmente o usar cualquier fórmula. Entonces, en el artículo veremos diferentes formas de contar las hojas de un libro de trabajo.
Contar hojas en el libro activo
Aquí está el código que necesita usar para contar la hoja del libro activo.
ThisWorkbook.Sheets.Count
En este código, primero se ha referido al libro activo usando «ThisWorkbook» y se ha referido a todas las hojas, al final se utiliza el método de conteo para contar todas las hojas. Y si desea contar hojas de trabajo en lugar de hojas, utilice el siguiente código.
ThisWorkbook.Worksheets.Count
Enlaces útiles: Ejecutar una macro – Grabador de macros – Editor de Visual Basic – Manual de macros personales
Contar hojas de otro libro
Puede usar el nombre del libro para referirse a él y luego contar las hojas que contiene. Suponga que desea contar las hojas del libro de trabajo «Libro1».
Aquí está el código.
Workbooks("sample-file.xlsx").Sheets.Count
Este código le proporciona la cantidad de hojas que tiene en el libro de trabajo «sample-file.xlsx». Hay una cosa que debes tomar: esta carpeta debe estar abierta.
Cuente las hojas de todas las carpetas abiertas.
Puede tener varios libros abiertos al mismo tiempo y puede contar todas las hojas de todos estos libros.
Sub vba_loop_all_sheets() Dim wb As Workbook Dim i As Long For Each wb In Application.Workbooks If wb.Name <> "PERSONAL.XLSB" Then i = i + wb.Sheets.Count End If Next wb MsgBox "Total sheets in all the open workbooks: " & i End Sub
Contando las hojas de una carpeta cerrada
Ahora tenemos un código aquí que hace referencia al libro guardado en el escritorio de mi sistema. Cuando ejecuto este código, abre este libro en la parte posterior y cuenta las hojas que contiene, luego agrega ese recuento a la celda A1.
Sub vba_count_sheets() Dim wb As Workbook Application.DisplayAlerts = False Set wb = Workbooks.Open("C:UsersDellDesktopsample-file.xlsx") ThisWorkbook.Sheets(1).Range("A1").Value _ = wb.Sheets.Count wb.Close SaveChanges:=True Application.DisplayAlerts = True End Sub
Hemos deshabilitado la visualización de alertas para abrir y cerrar el archivo en el backend.