error hlookup en do while
Publicado por DIEGO (2 intervenciones) el 06/03/2019 01:01:51
Buenas tardes
tengo una serie de columnas
estas hacen un lookup horizontal en la siguiente tabla
como se puede ver en la fila 3 aparece una nueva forma en la que se acomodan los campos de búsqueda por lo que esta tiene que tomarse como referencia para las filas 4 y 6. Lo mismo pasa para la fila 8 que tiene que usar a la 7 como referencia. el resultado final que pretendo es el siguiente:
para esto he hecho el siguiente código, aclaro que no soy programador y que seguramente hay cosas que se pueden mejorar
Al correrla me hace la búsqueda de la primera fila correctamente
Pero después me marca error 1004 tiempo de ejecusión, usando F8 encontré el problema en
Cells(x, n).Value = WorksheetFunction.HLookup(Cells(1, n).Value, ran, x, 0)
Espero alguien pueda ayudarme, saludos
tengo una serie de columnas
estas hacen un lookup horizontal en la siguiente tabla
como se puede ver en la fila 3 aparece una nueva forma en la que se acomodan los campos de búsqueda por lo que esta tiene que tomarse como referencia para las filas 4 y 6. Lo mismo pasa para la fila 8 que tiene que usar a la 7 como referencia. el resultado final que pretendo es el siguiente:
para esto he hecho el siguiente código, aclaro que no soy programador y que seguramente hay cosas que se pueden mejorar
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Sub LookUp()
Dim ran As Range
Dim w As String
Dim x As Integer
Dim y As Integer
Dim m As Integer
Dim r As Integer
Worksheets("1").Select
Range("A1").Select
Range(Selection, Selection.End(xlDown)).Select
y = Selection.count
x = 1
For x = 1 To y
w = Left(Cells(x, 1), 1)
If w = "/" Then
Cells(x, 5).Value = "/"
End If
Next x
For x = 1 To y
Worksheets("1").Select
w = Left(Cells(x, 1), 1)
If w <> "/" Then
Cells(x, 5).Select
Range(Selection, Selection.End(xlUp)).Select
m = Selection.count
r = x - m + 1
Set ran = Worksheets("1").Range(Cells(r, 1), Cells(x, 4))
Worksheets("2").Select
Dim n As Integer
n = 1
Do While Cells(1, n).Value <> ""
Cells(x, n).Value = WorksheetFunction.HLookup(Cells(1, n).Value, ran, x, 0)
n = n + 1
Loop
End If
Next x
End Sub
Al correrla me hace la búsqueda de la primera fila correctamente
Pero después me marca error 1004 tiempo de ejecusión, usando F8 encontré el problema en
Cells(x, n).Value = WorksheetFunction.HLookup(Cells(1, n).Value, ran, x, 0)
Espero alguien pueda ayudarme, saludos
Valora esta pregunta
0