Excel VBA para Emparejar Valores en un Rango (3 Ejemplos)

  • Compartir Este
Hugh West

Mientras trabajaba con Microsoft Excel , a veces necesitamos encontrar el valor coincidente en un rango. Esto lo podemos hacer fácilmente con funciones de excel. Hay funciones en VBA que podemos utilizar, pero ninguna de ellas es igual a MATCH En este artículo, aprenderemos a hacer coincidir un valor en un rango con Excel VBA .

Descargar el cuaderno de prácticas

Puedes descargarte el cuaderno de ejercicios y practicar con ellos.

VBA Coincidir Valor en Rango.xlsm

Introducción a la función de coincidencia de Excel VBA

En Función Match en Excel VBA es una útil función de búsqueda construida que, como VLOOKUP , HLOOKUP y el ÍNDICE devuelve la localización de coincidencias idénticas o comparables de los valores de búsqueda obtenidos en matrices o en una base de datos. Al tratarse de una función de hoja de cálculo, los parámetros de la función Coincidir son similares a los de la función de hoja de cálculo.

3 Ejemplos de Excel VBA para que coincida con el valor en el rango

1. Coincidir Valor en Rango con la Función Coincidir de VBA en Excel

Para utilizar la función Match de Excel VBA para encontrar el valor coincidente en un rango, vamos a utilizar el siguiente conjunto de datos, que contiene los nombres de algunos alumnos en la columna C sus notas en una asignatura específica en la columna D y el número de serie de cada alumno en la columna B Supongamos ahora que queremos encontrar la posición de coincidencia en la celda G5 de una marca específica, y la marca que queremos que coincida está en la celda F5 .

Demostremos el procedimiento para encontrar valores coincidentes en un rango utilizando la función Match de Excel VBA .

PASOS:

  • En primer lugar, vaya a la página Desarrollador de la cinta de opciones.
  • En segundo lugar, haga clic en Visual Basic para abrir el Editor de Visual Basic donde escribimos el código. O bien, pulse Alt + 11 para abrir el Editor de Visual Basic .

  • Otra forma de abrir Editor de Visual Basic es sólo para haga clic con el botón derecho del ratón en en la hoja de cálculo y haga clic en Ver Código .

  • Se abrirá la ventana Editor de Visual Basic Ahora, escribe el código allí.

Código VBA:

 Sub example1_match() Rango("G5").Valor = WorksheetFunction.Match(Rango("F5").Valor, Rango("D5:D10"), 0) End Sub 
  • Después, para ejecutar el código, pulse la tecla F5 de su teclado o haga clic en el botón Rub Sub botón.

  • Por último, puede ver que la coincidencia se encuentra en la posición 5 .

🔎 ¿Cómo funciona el código VBA?

  • Sub ejemplo1_pareja() : Esto significa que definimos un subprocedimiento dando el nombre de la macro.
  • Rango("G5").Valor : Queremos que la salida se almacene en la celda G5 .
  • Hoja de cálculoFunción : Utilizando este código podremos acceder a las funciones VBA.
  • Match(Rango("F5").Valor, Rango("D5:D10"), 0) : Aquí utilizamos la función Match en VBA. Como queremos tomar el valor de la celda F5 y averiguar la posición en el rango D5:D10 .
  • Fin Sub : Esto significa que terminamos el procedimiento.

Read More: Excel VBA para que coincida con la cadena en la columna (5 Ejemplos)

2. Utilizar Excel VBA para Igualar el Valor de Otra Hoja de Cálculo

Podemos encontrar valores coincidentes en el rango desde otra hoja de cálculo, utilizando la función VBA Match en Excel Supongamos que, tenemos un conjunto de datos en una hoja llamada " Datos " y queremos el resultado en el nombre de la hoja " Resultado ". Y estamos utilizando el mismo conjunto de datos. Ahora, vamos a seguir los pasos para hacerlo.

PASOS:

  • Al principio, por la misma razón que en el ejemplo anterior, vaya a la sección Desarrollador de la cinta de opciones.
  • A continuación, haga clic en Visual Basic o pulse Alt + F11 para abrir el Editor de Visual Basic .
  • En lugar de esto, para abrir el Editor de Visual Basic basta con hacer clic con el botón derecho del ratón en la hoja y seleccionar Ver Código .

  • Ahora, escriba el código VBA.

Código VBA:

 Sub example2_match() Hojas("Resultado").Rango("C5").Valor = WorksheetFunction.Match(Hojas("Resultado").Rango("C5").Valor, Hojas("Datos").Rango("D5:D10"), 0) End Sub 
  • A continuación, ejecute el código pulsando la tecla F5 o pulsando la tecla Ejecutar Sub botón.

  • Y, el resultado se encuentra en el " Resultado ".

Más información: Cómo Emparejar Datos en Excel a partir de 2 Hojas de Cálculo

Lecturas similares

  • Sumar Todas las Coincidencias con VLOOKUP en Excel (3 Formas Fáciles)
  • Cómo Encontrar Coincidencia Sensible a Mayúsculas y Minúsculas en Excel ( 6 Fórmulas)
  • Cómo hacer coincidir nombres en Excel cuando la ortografía difiere (8 métodos)

3. Excel VBA bucles para obtener el valor coincidente en el rango

Supongamos que queremos que varias marcas coincidan con el valor, para ello utilizaremos los bucles de VBA. Estamos utilizando el mismo conjunto de datos que antes. Ahora, queremos la posición de coincidencia en la columna G y las marcas con las que queremos encontrar la coincidencia están en la columna F Veamos los escalones hacia abajo.

PASOS:

  • En primer lugar, desde la cinta, vaya a la sección Desarrollador ficha.
  • En segundo lugar, para abrir el Editor de Visual Basic haga clic en Visual Basic o pulse Alt + F11 .
  • También puede hacer clic con el botón derecho del ratón en la hoja y seleccionar Ver Código .

  • Se abrirá la ventana Editor de Visual Basic .
  • Ahora, escribe el código allí.

Código VBA:

 Sub example3_match() Dim i As Integer For i = 5 To 8 Cells(i, 7).Value = WorksheetFunction.Match(Cells(i, 6).Value, Range("D5:D10"), 0) Next i End Sub 
  • A continuación, pulse la tecla F5 o pulsando la tecla Ejecutar Sub ejecutará el código.

  • Y, podrá ver el resultado en la columna G .

🔎 ¿Cómo funciona el código VBA?

  • Para i = 5 a 8 : Esto significa que queremos que el bucle se ejecute empezando por la fila 5 y terminando con la fila 8 .
  • Cells(i, 7).Valor : Esto guarda el valor de las ubicaciones resultantes en cada fila de 5 a 8 filas en la columna G que es el número de columna 7 .
  • Match(Cells(i, 6).Value, Range("D5:D10"), 0) : Las celdas se pueden emparejar utilizando la función Partido (i, 6). Los valores buscan cada valor Lookup encontrado en las filas 5 a través de 8 de la Sexto Luego se busca en la matriz D5:D10 en una hoja Excel en la que haya datos disponibles.

Más información: Excel Buscar Valores Coincidentes en Dos Columnas

Aspectos a tener en cuenta

  • Si falta el tipo de coincidencia o no se especifica, se asume que es 1 .
  • Si no se detecta ninguna coincidencia, el campo Excel relacionado quedará en blanco.
  • El valor de búsqueda puede ser un dato numérico, de carácter o lógico, o una referencia de celda a una cantidad, texto o significado lógico.

Conclusión

Los métodos anteriores le ayudará a igualar los valores en un rango en Excel VBA. Espero que esto le ayudará! Si usted tiene alguna pregunta, sugerencia o comentario, por favor háganoslo saber en la sección de comentarios. O usted puede tener un vistazo a nuestros otros artículos en el ExcelWIKI.com ¡blog!

Hugh West es un capacitador y analista de Excel altamente experimentado con más de 10 años de experiencia en la industria. Tiene una Licenciatura en Contabilidad y Finanzas y una Maestría en Administración de Empresas. Hugh tiene una pasión por la enseñanza y ha desarrollado un enfoque de enseñanza único que es fácil de seguir y comprender. Su conocimiento experto de Excel ha ayudado a miles de estudiantes y profesionales en todo el mundo a mejorar sus habilidades y sobresalir en sus carreras. A través de su blog, Hugh comparte su conocimiento con el mundo, ofreciendo tutoriales gratuitos de Excel y capacitación en línea para ayudar a las personas y empresas a alcanzar su máximo potencial.