Encontrar Valores

16/03/2010 - 19:35 por JForero | Informe spam
Buenos días grupo

deseo que de acuerdo con la seleccion de 2 combobox me haga lo siguiente:

en la hoja Formulario tengo los combobox

cmbGrupo
cmbTarea

en la hoja tareas en:
columna A los valores que alimentan el cmbGrupo
columna B los valores que alimentan el cmbTarea

eso lo hago con el siguiente codigo:
Private Sub Actualiza(Control As MSForms.ComboBox, Col As String)
'Llena todos los combobox
With Worksheets("Tareas")
Control.ListFillRange = _
.Name & "!" & .Range(.Range(Col & 3), .Range(Col &
3).End(xlDown)).Address
End With
End Sub
Private Sub cmbGrupo_DropButtonClick()
Actualiza cmbGrupo, "a"
End Sub
Private Sub cmbTarea_DropButtonClick()
Actualiza cmbTarea, "b"
End Sub

en la hoja Bitacora tengo
columna A los valores de grupo
columna B los valores de tarea
Columna C el valor en tiempo que dura la tarea en formato hora ejemplo 13:00

en la celda g11 de la hoja Formulario deseo que me traiga el valor de la
columna C de la hoja Bitacora de acuerdo a lo elegido el los combos Grupo y
Tarea ejemplo:
Hoja Bitacora:
fila 1 titulos
Celda a2 = Grupo1 Celda B2 = tarea 1 para grupo 1 Celda c2 = 2:00
Celda a3 = Grupo1 Celda B3 = tarea 2 para grupo 1 Celda c3 = 5:00
Celda a4 = Grupo2 Celda B4 = tarea 1 para grupo 2 Celda c4 = 1:00
Celda a5 = Grupo3 Celda B5 = tarea 1 para grupo 3 Celda c5 = 8:00

y así sucesivamente por grupos y tareas

entonces ...
si el cmbGrupo = Grupo1 y cmbTarea = tarea 2 para grupo 1, en la celda g11
de la hoja Formulario debe traer 5:00

y otra de ser posible...
teniendo en cuenta el caso plateado con los nombres de las hojas y celdas en
las que quiero que me traiga los valores:
cuando hay n combos, es decir por ejemplo combo1 combo2 combo3 combo4 en la
hoja Formulario y en la hoja Bitacora sus respectivos valores en las
columnas 1, 2, 3 y 4 y en la siguiente columna el valor que debe calcular en
la hoja Bitacora.
como se podria realizar??

Muchas gracias por la colaboración

Jorgef
 

Leer las respuestas

#1 Héctor Miguel
17/03/2010 - 05:26 | Informe spam
hola, Jorge !

1) agrega estos tres procedimientos en el modulo de la hoja "formulario"...

Private Sub cmbGrupo_Change()
Actualiza2
End Sub
Private Sub cmbTarea_Change()
Actualiza2
End Sub
Private Sub Actualiza2()
Dim Hoja As String, Rng1 As String, Rng2 As String, Rng3 As String
With Worksheets("bitacora").Range("a1").CurrentRegion
Hoja = "'" & .Parent.Name & "'!"
With .Offset(1).Resize(.Rows.Count - 1)
Rng1 = Hoja & .Columns(1).Address
Rng2 = Hoja & .Columns(2).Address
Rng3 = Hoja & .Columns(3).Address
End With
End With
On Error GoTo Fin
Range("g11") = Evaluate("sumproduct(--(" & _
Rng1 & "=""" & cmbGrupo & """),--(" & _
Rng2 & "=""" & cmbTarea & """)," & Rng3 & ")")
Exit Sub
Fin:
Range("g11").ClearContents
End Sub

2) analiza el codigo anterior y adapta para mas de dos "combos" (???)

saludos,
hector.

__ 1 __
en la hoja Formulario tengo los combobox
cmbGrupo
cmbTarea

en la hoja tareas en:
columna A los valores que alimentan el cmbGrupo
columna B los valores que alimentan el cmbTarea
eso lo hago con el siguiente codigo:
Private Sub Actualiza(Control As MSForms.ComboBox, Col As String)
'Llena todos los combobox
With Worksheets("Tareas")
Control.ListFillRange = _
.Name & "!" & .Range(.Range(Col & 3), .Range(Col & 3).End(xlDown)).Address
End With
End Sub
Private Sub cmbGrupo_DropButtonClick()
Actualiza cmbGrupo, "a"
End Sub
Private Sub cmbTarea_DropButtonClick()
Actualiza cmbTarea, "b"
End Sub

en la hoja Bitacora tengo
columna A los valores de grupo
columna B los valores de tarea
Columna C el valor en tiempo que dura la tarea en formato hora ejemplo 13:00

en la celda g11 de la hoja Formulario deseo que me traiga el valor de la columna C de la hoja Bitacora
de acuerdo a lo elegido el los combos Grupo y Tarea ejemplo:
Hoja Bitacora:
fila 1 titulos
Celda a2 = Grupo1 Celda B2 = tarea 1 para grupo 1 Celda c2 = 2:00
Celda a3 = Grupo1 Celda B3 = tarea 2 para grupo 1 Celda c3 = 5:00
Celda a4 = Grupo2 Celda B4 = tarea 1 para grupo 2 Celda c4 = 1:00
Celda a5 = Grupo3 Celda B5 = tarea 1 para grupo 3 Celda c5 = 8:00
y asi sucesivamente por grupos y tareas

entonces ...
si el cmbGrupo = Grupo1 y cmbTarea = tarea 2 para grupo 1, en la celda g11 de la hoja Formulario debe traer 5:00



__ 2 __
y otra de ser posible...
teniendo en cuenta el caso plateado con los nombres de las hojas y celdas en las que quiero que me traiga los valores:
cuando hay n combos, es decir por ejemplo combo1 combo2 combo3 combo4 en la hoja Formulario
y en la hoja Bitacora sus respectivos valores en las columnas 1, 2, 3 y 4
y en la siguiente columna el valor que debe calcular en la hoja Bitacora.
como se podria realizar??

Preguntas similares