Saltar al contenido
View in the app

A better way to browse. Learn more.

Ayuda Excel

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

VBA en Hoja Nueva

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.

Featured Replies

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.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.