Asignar nombre desde el nombre de una hoja a un línea de código de VBA

Tengo una macro que para que funcione debe ir en la hoja propiamente en visual basic (Microsoft Excel Objetos). Lo que realiza es traer datos de una hoja base de acuerdo al valor dentro de una celda. Lo que quisiera es que tome en forma dincamica el nombre de la solapa pues al duplicar la hoja no lo hace. Las hojas duplicadas siempre se llamaran Fecha 1, Fecha 2 hasta el valor 20. Pues sino cada vez que duplico la hoja debo ingresar a VBA y realizar el cambio de nombre.

El nombre de las solapas lo tengo en forma dinámica en la celda B2 con la siguiente fórmula

=DERECHA(CELDA("nombrearchivo";A1);LARGO(CELDA("nombrearchivo";A1))- ENCONTRAR("]";CELDA("nombrearchivo";A1);1))

La macro que trae la información de la hoja FORMACIÓN a la hoja llamada Fecha 1 es:

Private Sub ComboBox1_Change()
'Sheets("Fecha 1").Select
'ActiveSheet.Unprotect Password:="1234"
Dim w As String
Sheets("Fecha 1").[A9:G24].Clear  'Borra datos en hoja1
w = Sheets("Fecha 1").[E4].Value  'Variable w que es la fecha
With Sheets("FORMACION").[A2]
  .AutoFilter 1, w       'Aplica autofiltro
  .CurrentRegion.Copy Sheets("Fecha 1").[A9]  'Copia y pega lo filtrado
  .AutoFilter         'Quita el autofiltro
End With
'Sheets("Fecha 1").Select
'ActiveSheet.Protect Password:="1234"
End Sub

1 respuesta

Respuesta
1

En lugar de usar el código

Sheets("Fecha 1"). ...

Prueba con

ActiveSheet. ...

Salu2

Hola! Gustavo. Hice el cambio sugerido y quedo de la siguiente forma

Private Sub ComboBox1_Change()
'Sheets("Fecha 1").Select
'ActiveSheet.Unprotect Password:="1234"
Dim w As String
ActiveSheet.[A9:G24].Clear  'Borra datos en hoja1
w = ActiveSheet.[E4].Value  'Variable w que es la fecha
With Sheets("FORMACION").[A2]
  .AutoFilter 1, w       'Aplica autofiltro
  .CurrentRegion.Copy Sheets("Fecha 1").[A9]  'Copia y pega lo filtrado
  .AutoFilter         'Quita el autofiltro
End With
'Sheets("Fecha 1").Select
'ActiveSheet.Protect Password:="1234"
End Sub

Sin embargo no esta funcionando, ¿hay algo más por cambiar?

Veo que en la instrucción de CurrentRegion sigues haciendo referencia a la hoja "Fecha 1"

Mas allá de eso, ¿te marca algún error o por qué decís que no funciona?

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas