Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Tu explorador no es compatible

Debes actualizar tu explorador para usar el sitio.

Actualiza a la versión más reciente de Internet Explorer

Macro para localizar valores en otra hoja del mismo libro

Este artículo se publicó anteriormente con el número E10371
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.
Resumen
El siguiente artículo muestra un procedimiento con código en Español e Inglés, que permite localizar los valores de la hoja1 en la hoja2, mostrando un mensaje informando de a quién corresponde cada valor. Si un dato no se encuentra en hoja2, la macro muestra un mensaje de no encontrado.
Más información
Las líneas precedidas por un apóstrofe son comentarios del código, los comentarios explican qué está haciendo el código en un punto determinado en el procedimiento. El carácter guión bajo (_) indica que una línea de código continúa en la siguiente línea. Es decir, una línea extensa se puede dividir mediante el guión bajo en varias líneas de código.

Para más información sobre estilo de programación en Visual Basic para Aplicaciones, consulte el apartado "Estilo de programación de este manual" en la sección "Convenciones para el documento" en el "Manual de usuario de Visual Basic"

En este ejemplo supondremos que la hoja1 contiene nombres de colores
   COLORES   -----------   Rojo   Verde   Azul   Violeta   Naranja   Rosa


La hoja2 contiene nombres de personas a las que les corresponde un color:
   NOMBRE      COLOR   ----------------------   Juan       Amarillo   Luis       Verde   Eva        Rosa   Sonia      Morado   Diego      Blanco    Enrique    Negro   Begoña     Rojo   Elena      Violeta   Julia      Marrón   Esteban    Gris


El procedimiento siguiente mostrará mensajes informando a qué persona ha sido asignado cada color. Para los colores que no pertenecen a ninguna persona se presentará un mensaje indicando que ese color no se ha encontrado en la lista.

Para iniciar la ejecución de la macro debe seleccionar el rango de datos a buscar. En el ejemplo será el rango A2:A7 de la hoja1.

Procedimiento en Español:
   Proced Buscar_Valor()   'bucle para buscar cada valor   Para Cada celda En Selección      Hojas("hoja2").Activar      Definir resultado = _         Celdas.Buscar(celda.Valor;Después:=CeldaActiva; _         BuscarDentroDe:=xlValores; BuscarComo:=xlParte; _         OrdenBúsqueda:=xlPorFilas; DirecciónBúsqueda:=xlSiguiente; _         CoincidirMayMin:=Falso)          'comprueba si la búsqueda ha devuelto algún valor          Si resultado Es Nada Entonces         CuadroMsj "El color " & celda.Valor & " no se ha encontrado"          SiOtro         Celdas.Buscar(celda.Valor; Después:=CeldaActiva; _            BuscarDentroDe:=xlValores; BuscarComo:=xlParte; _            OrdenBúsqueda:=xlPorFilas; DirecciónBúsqueda:=_             xlSiguiente; CoincidirMayMin:=Falso).Activar            CuadroMsj "El color " & celda.Valor & _            " corresponde a " & CeldaActiva.Desviar(0; -1).Valor     Fin Si             Siguiente   Fin Proced


Procedimiento en Inglés:
   Sub Buscar_Valor()      'bucle para buscar cada valor      For Each celda In Selection         Sheets("hoja2").Activate         Set resultado = Cells.Find(celda.Value, After:=ActiveCell, _             LookIn:=xlValues, LookAt:=xlPart, SearchOrder:= _             xlByRows, SearchDirection:=xlNext, MatchCase:=False)         'comprueba si la búsqueda ha devuelto algún valor         If resultado Is Nothing Then            MsgBox "El color " & celda.Value & " no se ha encontrado"         Else            Cells.Find(celda.Value, After:=ActiveCell, _                LookIn:=xlValues, LookAt :=xlPart, _                SearchOrder:=xlByRows, SearchDirection:=xlNext, _               MatchCase:=False).Activate               MsgBox "El color " & celda.Value & " corresponde a " &_                   ActiveCell.Offset(0, -1).Value         End If      Next   End Sub
Propiedades

Id. de artículo: 550370 - Última revisión: 04/19/1997 10:30:00 - Revisión: 1.0

  • Microsoft Excel 5.0 Standard Edition
  • dato excel libro localizar valor KB550370
Comentarios
ment.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?"> y>ow.location.protocol) + "//c.microsoft.com/ms.js'><\/script>"); &t=">