Saludos a todos. Muy brevemente me presento como una persona ya jubilada que me entretiene y distrae programar macros en VBA para Excel.
El problema que trato de consultar en este post es el siguiente:
En una macro dentro de un formulario intento acceder a una tabla en una hoja de su correspondiente libro , y no tengo problema alguno. El problema aparece cuando ejecuto la misma macro pero el libro activo -que no contiene ninguna hoja con la tabla que se intenta accesar- es otro diferente. Entonces obtengo el error siguiente : "Error en el metodo 'Select' del objeto 'Worsheet'. Creo que se produce porque el libro activoal ser otro, y no ppoder encontrar la Hoja que contiene la Tabla, la el error indicado.
Pongo el codigo que estoy utilizando.
Private Sub CBX_Activo_Change()
Dim HojaDatos As Worksheet
Dim Tabla As ListObject
Set HojaDatos = Workbooks("Cartera de Valores.xlsm").Sheets("Listas")
Set Tabla = HojaDatos.ListObjects("TablaActivos")
HojaDatos.Select
Tabla.DataBodyRange.Columns(1).Find(What:=Me.CBX_Activo.Value, LookAt:=xlWhole).Activate
LBL_Nombre_Activo = ActiveCell.Offset(0, 1).Value
End Sub
Caso de precisar alguna informacion adicional, no duden en pedirmela.
Agradecido de antemano.
Saludos,
José Miguel.
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Saludos a todos. Muy brevemente me presento como una persona ya jubilada que me entretiene y distrae programar macros en VBA para Excel.
El problema que trato de consultar en este post es el siguiente:
En una macro dentro de un formulario intento acceder a una tabla en una hoja de su correspondiente libro , y no tengo problema alguno. El problema aparece cuando ejecuto la misma macro pero el libro activo -que no contiene ninguna hoja con la tabla que se intenta accesar- es otro diferente. Entonces obtengo el error siguiente : "Error en el metodo 'Select' del objeto 'Worsheet'. Creo que se produce porque el libro activoal ser otro, y no ppoder encontrar la Hoja que contiene la Tabla, la el error indicado.
Pongo el codigo que estoy utilizando.
Private Sub CBX_Activo_Change()
Dim HojaDatos As Worksheet
Dim Tabla As ListObject
Set HojaDatos = Workbooks("Cartera de Valores.xlsm").Sheets("Listas")
Set Tabla = HojaDatos.ListObjects("TablaActivos")
HojaDatos.Select
Tabla.DataBodyRange.Columns(1).Find(What:=Me.CBX_Activo.Value, LookAt:=xlWhole).Activate
LBL_Nombre_Activo = ActiveCell.Offset(0, 1).Value
End Sub
Caso de precisar alguna informacion adicional, no duden en pedirmela.
Agradecido de antemano.
Saludos,
José Miguel.