MS Excel 2003: recuperar valores de la tabla usando dos cuadros combinados

Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.

MS Excel 2003: recuperar valores de la tabla usando dos cuadros combinados

P: En Microsoft Excel 2003/XP/2000/97, mi libro de trabajo tiene dos hojas de trabajo. En la primera tabla, hay una tabla con tres años de indicadores financieros y sus valores. Entonces la tabla tiene cuatro columnas y cinco filas. En la segunda hoja de trabajo, estoy tratando de crear dos cuadros combinados y un cuadro de texto que mostrará los valores de la tabla cuando seleccione el indicador deseado y el año de estos dos cuadros combinados.

R: Veamos un ejemplo.

Descargue la hoja de cálculo de Excel (que se muestra a continuación)

En Sheet1, tenemos una tabla con métricas financieras para cada año.

En Sheet2, creamos dos cuadros combinados. El primero enumera los años en la Hoja 1 y el segundo cuadro combinado enumera las métricas financieras disponibles para cada año.

A continuación, el usuario seleccionará el año y el valor de la métrica en el cuadro combinado, y el valor correspondiente en la Hoja 1 se mostrará en la celda B5 mediante la siguiente fórmula, que utiliza las funciones ESERROR, BUSCARV, INT y COINCIDIR:

=IF(ISERROR(VLOOKUP(INT(B1),Sheet1!$A$1:$D$6, MATCH(B3,Sheet1!$A$1:$D$1,0),FALSE)),"", VLOOKUP(INT(B1),Sheet1!$A$1:$D$6,MATCH(B3,Sheet1!$A$1:$D$1,0),FALSE))

Ahora, es importante tener en cuenta que el cuadro combinado se completa con código VBA en el evento de apertura del libro de trabajo, así:

Private Sub Workbook_Open()

   'Populate ComboBox1 on Sheet1 with year values
   Sheet2.ComboBox1.AddItem Range("Sheet1!A2").Value
   Sheet2.ComboBox1.AddItem Range("Sheet1!A3").Value
   Sheet2.ComboBox1.AddItem Range("Sheet1!A4").Value
   Sheet2.ComboBox1.AddItem Range("Sheet1!A5").Value
   Sheet2.ComboBox1.AddItem Range("Sheet1!A6").Value

   'Populate ComboBox2 on Sheet1 with the indicator values
   Sheet2.ComboBox2.AddItem Range("Sheet1!B1").Value
   Sheet2.ComboBox2.AddItem Range("Sheet1!C1").Value
   Sheet2.ComboBox2.AddItem Range("Sheet1!D1").Value

End Sub
(Visited 6 times, 1 visits today)