Estoy tratando de crear un evento de tipo Worksheet_Activate de tal manera que cada vez que un usuario activa la hoja, el evento reconozca si existe una tabla dentro de la hoja activa (en caso contrario, insertar la tabla).
Se me ocurre algo así...
Private Sub Worksheet_Activate()
Const HOJA As String = "CALENDARIO"
Const TABLA As String = "CALENDARIO"
Dim contador As Byte
For contador = 1 To ActiveSheet.ListObjects.Count
' Si la tabla no existe dentro de la hoja, entonces...
If ActiveSheet.ListObjects(contador).Name <> TABLA Then
' Insertamos la nueva tabla...
ActiveSheet.ListObjects.Add(xlSrcRange, Sheets(HOJA).Cells(1, 1).CurrentRegion, , xlYes).Name = TABLA
MsgBox "La tabla se ha creado con éxito dentro de la " & HOJA & "."
' En caso contrario...
Else
MsgBox "La tabla ya existe dentro de la " & HOJA & "."
End If
Next
End Sub
Pero este código no me funciona. Si me podéis echar una mano, os lo agradecería mucho.
Saludos.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Hola compañeros,
Estoy tratando de crear un evento de tipo Worksheet_Activate de tal manera que cada vez que un usuario activa la hoja, el evento reconozca si existe una tabla dentro de la hoja activa (en caso contrario, insertar la tabla).
Se me ocurre algo así...
Private Sub Worksheet_Activate() Const HOJA As String = "CALENDARIO" Const TABLA As String = "CALENDARIO" Dim contador As Byte For contador = 1 To ActiveSheet.ListObjects.Count ' Si la tabla no existe dentro de la hoja, entonces... If ActiveSheet.ListObjects(contador).Name <> TABLA Then ' Insertamos la nueva tabla... ActiveSheet.ListObjects.Add(xlSrcRange, Sheets(HOJA).Cells(1, 1).CurrentRegion, , xlYes).Name = TABLA MsgBox "La tabla se ha creado con éxito dentro de la " & HOJA & "." ' En caso contrario... Else MsgBox "La tabla ya existe dentro de la " & HOJA & "." End If Next End Sub
Pero este código no me funciona. Si me podéis echar una mano, os lo agradecería mucho.
Saludos.