Macro para localizar valores en otra hoja del mismo libro

Id. de artículo: 550370 - Ver los productos a los que se aplica este artículo
Este artículo se publicó anteriormente con el número E10371
Expandir todo | Contraer todo

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: sábado, 19 de abril de 1997 - Versión: 1.0
La información de este artículo se refiere a:
  • Microsoft Excel 5.0 Standard Edition
Palabras clave: 
dato excel libro localizar valor KB550370
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.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com