Excel - Ayuda con Macro & Funcion VLookUp

 
Vista:

Ayuda con Macro & Funcion VLookUp

Publicado por Julio (3 intervenciones) el 20/03/2012 20:14:26
Buen dia a todos los miembros de esta comunidad.

Solicito ayuda para elaborar una Macro que busque en una matriz de datos y traslade a otra Hoja del mismo Libro una serie de valores como resultado de dicha busqueda.

He estado codificando el procedimiento pero no encuentro por donde entrarle.

Sub Button2_Click()
Dim sAccount As String
Dim sAddress As String
Dim sCity As String
Dim sState As String
Dim sZipCode As String
Dim sPhone As String
Dim sFax As String
Dim seMail As String

Dim sValue As String
Dim sWorkbookName As String
Dim sSheetName As String
Dim sRange As String

sWorkbookName = ActiveWorkbook.Name
sSheetName = "ContactList"
sRange = ("a2:g128")

sValue = InputBox("Introduzca valor a Buscar:")

If sValue > " " Then
Application.WorksheetFunction.VLookup(sValue, "'[" & sWorkbookName & "]" & sSheetName & "'!" & sRange, "1,0")
'sAccount =
'sAddress =
'sCity =
'sState =
'sZipCode =
'sPhone =
'sFax =
'seMail =

Else
'MsgBox vbInformation, "VALOR NO ENCONTRADO"
End If

End Sub


Espero contar con algun tips para continuar con el desarrollo de esta macro.

Julio
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JuanC

Ayuda con Macro

Publicado por JuanC (1237 intervenciones) el 24/03/2012 14:10:47
en lugar de VLookup yo usaría un ciclo For Each ... In ... Next si se trata de encontrar varios valores

algo así...

Dim c As Range
For Each c In Range("A2:A128")
If c.Value = valor_buscado Then
copiar_datos_a_otra_hoja
End If
Next

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con Macro

Publicado por Julio (3 intervenciones) el 27/03/2012 17:11:03
Gracias Juan

Lo que pasa es que los datos que leo son practicamente registros y debo ubicar la fila en la que se encuentra dicha informacion y obtener cada celda de esa fila.

Julio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JuanC

Ayuda con Macro

Publicado por JuanC (1237 intervenciones) el 27/03/2012 21:35:13
de la forma que propuse el código se puede hacer perfectamente...

Saludos, desde Baires, JuanC
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gonzalo Quintana
Val: 13
Ha disminuido su posición en 50 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ayuda con Macro

Publicado por Gonzalo Quintana (73 intervenciones) el 17/04/2012 20:06:14
Julio:

Me parece que te ayudaría lo siguiente:

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 Button2_Click()
 
Dim BuscaDoc as Variant
Dim sAccount As String, sAddress As String, sCity As String, sState As String, _
sZipCode As String, sPhone As String, sFax As String, seMail As String, _
sValue As String, sWorkbookName As String, sSheetName As String, _
sRange As String
 
sWorkbookName = ActiveWorkbook.Name 'Esto no lo necesitarías
sSheetName = "ContactList" 'Esto no lo necesitarías
sRange = ("A2:G128") 'Esto no lo necesitarías
 
sValue = InputBox("Introduzca valor a Buscar:")
 
If sValue <> "" Then
 
Set BuscaDoc = Cells.Find(What:=svalue, After:=ActiveCell, _
LookIn:=xlFormulas, LookAt:=xlPart, _
SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False)
 
'Para búsqueda exacta cambiar LookAt:=xlPart por LookAt:=xlWhole
 
If BuscaDoc Is Nothing Then
 
msgbox "Valor no encontrado", vbInformation
 
Else
 
BuscaDoc.Activate 'Se para en la celda donde encontró el valor
'Tu macro
 
'sAccount = 'Activecell.Offset(0,1).Value
'sAddress = 'Activecell.Offset(0,2).Value
'sCity = 'Activecell.Offset(0,3).Value
'sState = 'Activecell.Offset(0,4).Value
'sZipCode = 'Activecell.Offset(0,5).Value
'sPhone = 'Activecell.Offset(0,6).Value
'sFax = 'Activecell.Offset(0,7).Value
'seMail = 'Activecell.Offset(0,8).Value
 
End Sub


Espero te sirva...

Saludos,

Gonzalo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Gonzalo Quintana
Val: 13
Ha disminuido su posición en 50 puestos en Excel (en relación al último mes)
Gráfica de Excel

Ayuda con Macro

Publicado por Gonzalo Quintana (73 intervenciones) el 17/04/2012 20:08:32
Me confundi al poner

1
Dim BuscaDoc as Variant


Debí escribir

1
Dim BuscaDoc as Range


Favor modificalo...

Saludos y perdón,

Gonzalo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Ayuda con Macro

Publicado por Julio (3 intervenciones) el 17/04/2012 20:12:45
Gracias, hare la prueba y comento los resultados.

Julio
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar