crear cadena de texto de consulta a otra hoja
Publicado por kingreload (2 intervenciones) el 16/04/2010 19:42:39
Tengo un archivo con una hoja llamada "deta" con el contenido siguiente:
A B C D
1 tda enc val1 val2
2 1 1 FALSO FALSO
3 4 manzana FALSO
4 6 1 piña FALSO
5 4 1 manzana FALSO
6 4 1 manzana FALSO
7 1 cereza FALSO
8 9 1 melocoton FALSO
9 2 pera FALSO
10 2 1 pera FALSO
y en la hoja identificada como "resu", lo siguiente:
A B C
1
2 3
3
4 val1
5
6 val2
un comboBox de resu!B3 me permite elegir de una lista de codigos. Agregue un boton al cual asigne una macro que revise la condicion seleccionada del comboBox en deta!A:A, asi como que en deta!B:B tome datos de los que presenten valor "1". Necesito que se genere una cadena con los valores de esa consulta (de celdas que no esten vacias) en resu!$b$4 y en resu!$B$6. Yo cree esta macro que parece hacer el recorrido pero no escribe ninguna cadena:
Sub cadena()
'crear variables
Dim cod As Integer
Dim res1 As String
Dim res2 As String
'seleccionar hoja con valor a buscar
Sheets("resu").Select
'asignar valor a buscar en variable
cod = Range("c2").Value
'asignar rango de busqueda
Sheets("deta").Select
Range("a:a").Select
For x = 1 To 10
Selection.Find(What:=cod, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False).Activate
Similar = Len(ActiveCell.Text)
If Len(cod) = Similar Then
ActiveCell.Select
If ActiveCell.Offset(0, 2) = 1 Then
If ActiveCell.Offset(0, 3) <> 0 Then
res1 = res1 + ActiveCell.Offset(0, 3).Value + ", "
ElseIf ActiveCell.Offset(0, 4) <> 0 Then
res2 = res2 + ActiveCell.Offset(0, 4).Value + ", "
End If
End If
End If
Next x
Sheets("resu").Select
Range("c4").Value = res1
Range("c6").Value = res2
End Sub
Podrían por favor darme soporte con esto? Gracias de antemano
A B C D
1 tda enc val1 val2
2 1 1 FALSO FALSO
3 4 manzana FALSO
4 6 1 piña FALSO
5 4 1 manzana FALSO
6 4 1 manzana FALSO
7 1 cereza FALSO
8 9 1 melocoton FALSO
9 2 pera FALSO
10 2 1 pera FALSO
y en la hoja identificada como "resu", lo siguiente:
A B C
1
2 3
3
4 val1
5
6 val2
un comboBox de resu!B3 me permite elegir de una lista de codigos. Agregue un boton al cual asigne una macro que revise la condicion seleccionada del comboBox en deta!A:A, asi como que en deta!B:B tome datos de los que presenten valor "1". Necesito que se genere una cadena con los valores de esa consulta (de celdas que no esten vacias) en resu!$b$4 y en resu!$B$6. Yo cree esta macro que parece hacer el recorrido pero no escribe ninguna cadena:
Sub cadena()
'crear variables
Dim cod As Integer
Dim res1 As String
Dim res2 As String
'seleccionar hoja con valor a buscar
Sheets("resu").Select
'asignar valor a buscar en variable
cod = Range("c2").Value
'asignar rango de busqueda
Sheets("deta").Select
Range("a:a").Select
For x = 1 To 10
Selection.Find(What:=cod, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False).Activate
Similar = Len(ActiveCell.Text)
If Len(cod) = Similar Then
ActiveCell.Select
If ActiveCell.Offset(0, 2) = 1 Then
If ActiveCell.Offset(0, 3) <> 0 Then
res1 = res1 + ActiveCell.Offset(0, 3).Value + ", "
ElseIf ActiveCell.Offset(0, 4) <> 0 Then
res2 = res2 + ActiveCell.Offset(0, 4).Value + ", "
End If
End If
End If
Next x
Sheets("resu").Select
Range("c4").Value = res1
Range("c6").Value = res2
End Sub
Podrían por favor darme soporte con esto? Gracias de antemano
Valora esta pregunta


0