busqueda en dos hojas

24/02/2007 - 02:05 por Israel | Informe spam
Mi pregunta es la siguiente por mas que lo intento no encuentro
solucion:
HOJA "Matrix"
columna b Columna c columna
d columna e
ARDIA5SPORTPIEL 1K5882021ABJTB 1K5882021ABSNR 1K5882021ABRCW
coulmna f columna g
1K5882021ABYUT 1K5882021ABETF

columna b Columna c columna
d columna e
ARDIA5COMFORTTELA 1K5882021AMULR 1K5882021AMULS
1K5882021AMULT
coulmna f columna g
1K5882021ABYUT 1K5882021ABETF


la columna b inicia en fila 2 y todo el listado termina en la fila
6000


hoja "Proc.base"
columna a columna b columna c
columna d columna e
2ATCORRIDOCOMFORTPIEL
3 AA 22.02.07 600100 9620 AUTO SEAT
4 AA 22.02.07 600100 9620 AUTO SEAT
5 AA 22.02.07 600100 9620 AUTO SEAT
6 AA 22.02.07 600100 9620 AUTO SEAT
7 AA 22.02.07 600100 9620 AUTO SEAT
8 AA 22.02.07 600100 9620 AUTO SEAT


9ATCORRIDOSPORTPIEL
10 AA 22.02.07 600100 9620 AUTO SEAT
11 AA 22.02.07 600100 9620 AUTO SEAT
12 AA 22.02.07 600100 9620 AUTO SEAT
13 AA 22.02.07 600100 9620 AUTO SEAT
la filas 3,4,5,6,7,8 y asi sucesivamente hasta 20000 son completas es
decir(fila completa todas las columnas de excel) y este listado
termina en la hoja 20000


ahora mi duda
quiero automatizar este proceso el cual consiste en que la hoja
"matrix" busque la palabra "ARDIA5SPORTPIEL" (columna b2) la busque
en
la hoja "Proc.base" y si la encuentra que copie todo el
contenido(filas completas 3,4,5,6 y asi sucesivamente) en una hoja
nueva que la abra automaticamente, toda la busqueda la quiero que la
realize para todo la columna b(hasta la fila 6000) y si no lo
encuentra que muestre un mensaje "no se encuentra"..
despues de que termino de buscar y pegar toda la informacion en la
hoja nueva
quiero que en la columna D coloque los datos correspondientes a la
busqueda(los que correspondan a:"ARDIA5SPORTPIEL"de la columna
c,d,e,f,g de forma transpuesta (que las convierta en columna.
ejemplo:
columna a columna b columna c
columna d columna e
2 AA 22.02.07 600100 9620 AUTO SEAT
1K5882021ABJTB
3 AA 22.02.07 600100 9620 AUTO SEAT
1K5882021ABSNR
4 AA 22.02.07 600100 9620 AUTO SEAT
1K5882021ABRCW
5 AA 22.02.07 600100 9620 AUTO SEAT
1K5882021ABYUT
6 AA 22.02.07 600100 9620 AUTO SEAT
1K5882021ABRCW


Les agradeceria muchiiiiiiiiiiiisimo
mucho que me pudieran ayudar llevo casi un mes pudiendo resolver este
problema pero pues no doy con la solucion para automatizar este libro
qusiera que me ayudaran al codio para el macro
GRACIAS

Preguntas similare

Leer las respuestas

#1 Francisco Parrilla
24/02/2007 - 04:45 | Informe spam
Te adjunto a manera de ejemplo una converzacion en el foro de excelusiones
semejante a lo que buscas:
Es solo para que te des una idea de como lo puedes intentar hacer con
ligeras modificaciones.
Esperamos tus comentarios.
http://www.exceluciones.com/portal/...c.php?tv88
-

Buen día, tengo un libro con varias hojas, cada hoja tienen en la columna A
una seríe de códigos de productos, como puedo hacer para saber si un código
ya existe en cualquiera de las hojas y si existe también saber en que hoja
esta??? La idea es poner en la columna B (frente a cada código), el nombre
de la hoja donde esta y si no esta dejar en blanco.
Muchas gracias y que DIOS les bendiga

Sub busca()
Sheets(1).Select
i = 1
Do Until i = 100
Cells(i, 1).Select
valor = ActiveCell.Value
For sh = 2 To Sheets.Count
Set fc = Worksheets(sh).Columns("a").Find(What:=valor, MatchCase:=False)
If Not fc Is Nothing Then ActiveCell.Offset(0, 1).Value = Sheets(sh).Name &
" " & fc.Address
Next sh
i = i + 1
Loop
End Sub

Esta rutina solo llena de valores la primera hoja para las pruebas

Sub llena()
Sheets(1).Select
For i = 1 To 100
Cells(i, 1).Value = Int(100 * Rnd(100)) + 1
Next i
End Sub

Esta rutina llena las hojas siguientes para colocar valores posibles y hacer
la busqueda como sugieres:)

Sub hojas()
If Sheets.Count < 2 Then Exit Sub
For i = 2 To Sheets.Count
Sheets(i).Select
For fi = 1 To 100
Cells(fi, 1).Value = Int(100 * Rnd(100)) + 1
Next fi
Next i
End Sub



opermty, perfecto muchas gracias, esto era lo que tanto andaba buscando!!!!
Pero necesito una ayudita más, esta macro sirve siempre y cuando los códigos
esten en la primera hoja!!! Como podría hacer para que no importa la
posición en que este la hoja (es decir segunda, tercera, etc) vaya y busque
en las demás hojas (en las anteriores también), excepto la hoja en la que
estan los códigos???
Muchas gracias,



En un modulo normal:

Sub busca_valores()
Dim nombres()
Dim num
With ActiveSheet
num = Sheets(.Name).Index 'Numero de la hoja activa
End With
n = Sheets.Count
ReDim nombres(n)
i = 0
For Each sh In Sheets
If sh.Name <> Sheets(num).Name Then nombres(i) = sh.Name
i = i + 1
Next sh
For oja = LBound(nombres) To UBound(nombres)
Sheets(num).Select
If nombres(oja) <> Empty Then
i = 1
Do Until i = 100
Cells(i, 1).Select
valor = ActiveCell.Value
Set fc = Worksheets(nombres(oja)).Columns("a").Find(What:=valor,
MatchCase:=False)
If Not fc Is Nothing Then ActiveCell.Offset(0, 1).Value = nombres(oja) & " "
& fc.Address
i = i + 1
Loop
End If
Next oja
End Sub


Para que funcione desde cualquier hoja.
En el modulo de Thisworkbook:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Application.ScreenUpdating = False
s = 1
Call busca_valores
s = s + 1
If s <> "1" Then Application.ScreenUpdating = True: End
End Sub

En caso de algun detalle con el codigo puedes usar la combinacion de teclas
ctrl + pausa(inter) para entrar a modo depuracion.

Saludos

-


Atte.
?T Francisco T?
http://groups.msn.com/ExcelVbaMacrosOffice

El verdadero buscador crece y aprende, y descubre que siempre es el
principal responsable de lo que sucede.
Jorge Bucay

La oscuridad nos envuelve a todos, pero mientras el sabio tropieza en alguna
pared, el ignorante permanece tranquilo en el centro de la estancia.
Anatole France


begin 666 icon_smile.gif
M1TE&.#EA$P`3`/<``$$Q$%I*$%)!(%)**6)*&&I2(&I:*7MB"'MB*7MJ*7-B
M2G-J4GMS6H-S"(MS")1B")QJ$)QS")1S&)1[&)QS$(-J*8-J,:1S$*Q[$+U[
M`(-S2H-S4H-[4HM[4HM[6O\`_Z2+"*2#$+V#`+24$(N#<\6#`,6+`,V+`,64
M`,6<`-6+`-64`-Z4`-6D`-6L"-ZD`-ZT`-ZT".:D`.ZL`.ZT`.Z]`.[-"/;%
M`/_5"/_5$/_>&/_F(*2<@Z2DB[2LE-75SuU>;FWN;FYO;V]O____\`_P``
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M````````````````````````````````````````````````````````````
M`````````````````````"'Y! $``$4`+ `````3`!,```C^`(L(+"+DAP\&
M!@@8\.#CQY"!$(7XL# A18P:+E!(L-!#",0B0#Q,<&'#1HX<)6NDD. AR, @
M'$;$R*&C9LT<-VZTP*#!91$>$V+4W$&TJ Z<+23P&/(:`*(@T4
M" Q&L#&TJ%<=-FZ\@.!C0PJ:.ZA.!7#&PS 0$L4P%2B*&F<,!"@!EVO
M1G'.6%% +@X==@$3U1'@AHR]9DT.6*" <F4%E074D)%A0P\*-7" 8#"$B&G3
M0TB$F,'B04,$+4(WZ'':= \'-&24R"J$!P47H0\P&#[\0&X5$)86":(!0XL8
M.7/6J#%#AHH+/0>&E&#BQ0P:-*HBL\A0H0.0CQ(1/!"*# \0^/#XL0C3
,LGP-;&CX<&! ```[
`
end
Respuesta Responder a este mensaje
#2 Héctor Miguel
24/02/2007 - 05:37 | Informe spam
hola, Israel !

Mi pregunta es la siguiente por mas que lo intento no encuentro solucion: [...]
Les agradeceria muchiiiiiiiiiiiisimo mucho que me pudieran ayudar llevo casi un mes pudiendo resolver este problema
pero pues no doy con la solucion para automatizar este libro qusiera que me ayudaran al codio para el macro...



[primero]: disculpa que 'omita' la transcripcion de tu consulta
-> es la misma de la consulta 'pasada' y ademas ambas estan igual de confusas
-> [ademas] el 'pase' de los datos al cuerpo del mensaje aparece 'distorsionado' [lo que confunde aun mas] :-(

[segundo]: mientras persistas en preguntar 'lo mismo'... y expuesto de la misma manera...
-> seguiras 'recibiendo' [que crees ?]... -> la misma 'respuesta'... -> NADA !!!

[tercero]: dejame ver si logro 'hacerte ver' algunas de las situaciones que causan dudas [al menos por la forma de exponerlas]
-> ya ves, a tu consulta anterior [posteada como 'shelby...'] le hice alguna propuesta... que ya no tuvo respuesta/seguimiento/...
asumo que mis 'supuestos' quedaron igual que la 'exposicion' de tus motivos... -> totalmente fuera de la realidad :-((

a) en 'B2' de la hoja 'Matrix' -> ARDIA5SPORTPIEL
en 'B9' de la hoja 'Proc.base' -> ATCORRIDOSPORTPIEL
que relacion existe [o quieres que se busque/adivine/...] entre el dato en 'Matrix' y alguno otro en 'Proc.base' ?
por que se debe 'casar' uno con otro ?... algun 'patron' en el nombre ?... similitudes que ocasionen errores ?... ???

b) si 'se entiende' que en la hoja 'Matrix' existen SIEMPRE 5 numeros economicos/seriales/... de cada vehiculo
por que en la hoja 'Proc.base' hay 6 codigos para ATCORRIDOCOMFORTPIEL y 4 para ATCORRIDOSPORTPIEL ???

espero que no te 'cambies de foro' [solo] porque de este lado no seamos capaces de entender lo que no se ha comentado :))
y... si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida