Buenas tardes:
Estoy intentando crear una función que busque en tablas de doble entrada a
partir de indicarle
1 el nombre de la tabla
2 el nombre a buscar en la columna de la izquierda de dicha tabla
3 el nombre a buscar en la fila superior de dicha tabla
El principal problema es que puedo usar la función en una hoja y la tabla a
buscar puede estar en otra hoja, esto da algún problema con los rangos.
os adjunto el código que he desarrollado hasta el momento, el problema surge
cuando asigno "Set = FilaSupeior" y "Set ColumnaIzda", la asignación
resultante es "nothing" y el código no funciona, he probado algunas otras
cosas y nada funciona.
Agradezco por adelantado vuestra ayuda, adjunto debajo el código tal cual
está hasta ahora.
Function BuscarEnTabla(NombreTabla As String, DatoColumnaIzda As Variant,
DatoFilaSuperior As Variant) As Variant
Dim RangoTabla As Range
Dim FilaSuperior As Range
Dim ColumnaIzda As Range
Set RangoTabla =
worksheets(Range(NombreTabla).Parent.Name).Range(NombreTabla)
Set FilaSuperior = RangoTabla.Range(Cells(1, 1), Cells(1,
RangoTabla.Columns.Count))
Set ColumnaIzda = RangoTabla.Range(Cells(1, 1), Cells(RangoTabla.Rows.Count,
1))
BuscarEnTabla = WorksheetFunction.Index(RangoTabla, _
WorksheetFunction.Match(DatoFilaSuperior, _
FilaSuperior, _
0), _
WorksheetFunction.Match(DatoColumnaIzda, _
ColumnaIzda, _
0))
End Function
Leer las respuestas