Saltar al contenido

VBA en Hoja Nueva


Recommended Posts

publicado

Hola buenas,

Me ha surgido la duda y no he encontrado ningún tema al respecto, 

Se puede introducir código VBA para cualquier evento de hoja, por ejemplo el changes, para una hoja que no existe?

Es decir, imaginaros que tengo una única hoja en el libro simulando la portada (Hoja 1), y en ella un botón para que a través de VBA, se origine una hoja nueva (Hoja 2) en la que haya una serie de datos.

Hay alguna manera de poder programar para que en esa hoja nueva (Hoja 2), se desarrollé código? Que salte el código por ejemplo con el evento Changes?

Un saludo y muchas gracias de antemano.

publicado
hace 3 horas, sergiovieri dijo:

Se puede introducir código VBA para cualquier evento de hoja, por ejemplo el changes, para una hoja que no existe?

Sí, es posible.

Atendiendo tu explicación un código como este debería bastar:

Sub CrearHojaConCodigo()

    ' Crear una nueva hoja
    Dim nuevaHoja As Worksheet
    Set nuevaHoja = ThisWorkbook.Sheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))

    ' Agregar código a la nueva hoja
    Dim VBProj As Object
    Dim VBComp As Object
    Dim CodeMod As Object

    Set VBProj = ActiveWorkbook.VBProject
    Set VBComp = VBProj.VBComponents(nuevaHoja.Name)
    Set CodeMod = VBComp.CodeModule

    ' Definir el código a insertar
    Dim LineNum As Long
    Dim CodeLines As String

    CodeLines = "Private Sub Worksheet_Change(ByVal Target As Range)" & vbCrLf & _
                "    MsgBox ""Hola mundo""" & vbCrLf & _
                "End Sub"

    ' Insertar el código en la hoja
    LineNum = CodeMod.CountOfLines + 1
    CodeMod.InsertLines LineNum, CodeLines

End Sub

En esta sentencia tiene un botón en la Hoja 1 y cada que le das clic crea una nueva hoja y cuando cambia te manda un "Hola Mundo", así que deberías poder editar a tus necesidades.

Es con lo que podría participar, saludines.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.