VBA - Objeto Worksheets
La colección Worksheets es el conjunto de todos los objetos Worksheet de un libro especificado o activo. Las colecciones son objetos por sí mismos.
El objeto WorkSheet representa una hoja de cálculo. El objeto Worksheet también es un miembro de la colección Sheets. La colección Sheets contiene todas las hojas del libro (hojas de gráficos y hojas de cálculo).
En la jerarquía de objetos de Excel los objetos pueden actuar como recipientes de otros objetos. Un objeto Workbook puede contener otros objetos como Worksheet y Chart. Un objeto Worksheet puede contener objetos como Range, Pivot Table entre otros. Así, se puede hacer referencia a la Hoja1 del Libro1 del siguiente modo:
Aplication.Worbooks(“Libro1.xlsx”).Worksheets(“Hoja1”)
Se usa Worksheets(índice), donde índice es el nombre o número índice de la hoja de cálculo, para obtener un solo objeto Worksheet. El número de índice de la hoja de cálculo representa la posición de la hoja en la barra de fichas del libro. Worksheets(1) es la primera hoja (en el extremo izquierdo) del libro y Worksheets(Worksheets.Count) es la última.
Propiedades del objeto Worksheets
Las principales propiedades y su descripción se encuentran en la Ayuda Excel y son: Aplication, Count, HpageBreaks, Item, Parent, Visible y VpageBreaks
Detalle de uso de:
Worksheets.Visible (propiedad)
Devuelve o establece un valor de tipo Variant que determina si el objeto es visible.
Sintaxis
expresión.Visible
expresión: Variable que representa un objeto Worksheet.
Ejemplo: Con el siguiente código se oculta la hoja de cálculo 1 de un libro activo:
Worksheets(1).Visible=False
Métodos del objeto Worksheets
Las principales métodos y su descripción se encuentran en la Ayuda Excel y son: Add, Copy, Delete, FillAcrossSheets, Move, PrintOut, PrintPreview y Select.
Detalle de uso de :
Worksheets.Add (método)
Crea una hoja de cálculo, un gráfico o una hoja de macros. La nueva hoja de cálculo se convierte en la hoja activa.
Sintaxis
expresión.Add(Before, After, Count, Type)
expresión : Variable que representa un objeto Worksheets.
Los parámetros son opcionales (Before/After especifica las hoja antes/después de la cual se agregará la hoja, Count por default es 1 y Type por default es una hoja de cálculo)
Ejemplo: Se creará una nueva hoja en el libro activo y que será colocada a la derecha de todas las demás hojas, mediante la siguiente sintaxis:
Sub Agregar()
Dim Hoja As Worksheet
Set Hoja = Worksheets.Add(After:=Sheets(Worksheets.Count))
End Sub
Esta macro crea una nueva hoja y la coloca después de la última hoja, a la cual hacemos mención con "Sheets(Worksheets.Count)".
Elaborado por: Fernando Ventura Fernández
15/06/2017 a las 8:55 pm
hice un formulario sencillo que solo te envía a diferentes hojas con botones, cada botón es para una hoja diferente, pero cuando presionas un botón cualquiera y te manda a cierta hoja ya estando en dicha hoja no te deja escribir ni copiar ni nada todo lo que escribas o copies lo manda a la hoja principal. porque?????
15/06/2017 a las 11:58 pm
Pruebe cerrando el formulario que dejó de utilizar, pruebe con usando:
unload userform1
Colocando el nombre correspondiente al formulario que cierre.
10/07/2017 a las 6:25 pm
esto es correcto Sub LIMPIAR()
Application.ScreenUpdating = False
Dim wb As Workbook: Set wb = ThisWorkbook
Dim Res As Worksheet: Set Res = wb.Sheets("RESUMEN")
wb.Sheets(Res).Range(Range("A4"), Range("A4").End(xlToRight)).Copy
wb.sheets(Res).Range("A47511").PasteSpecial Paste:=xlPasteValues
22/07/2017 a las 8:23 am
Buenos días!
Felicidades por tu página, muy útil!
Estoy programando en Visual Basic -aprendiendo- dentro de un libro Excel. Este libro tiene varias hojas.
Una de ellas se llama Nombres que tiene 3 columnas.
Quiero hacer una función que me busque, en la columna 1 de la Hoja Nombres, un valor que tengo en una variable. Si lo encuentra en la columna 1, que me devuelva lo que hay en la columna 3 para guardarlo una variable.
¿Me podrías ayudar?
Muchas gracias
Max
24/07/2017 a las 4:06 am
Ya lo he resuelto. Muchas gracias por tu ayuda, me vino genial.
13/01/2020 a las 3:50 pm
Set hoja = ActiveWorkbook.Sheet.Add como arreglar
ayuda por favor