Excel VBA para encontrar el valor en la columna (6 ejemplos adecuados)

  • Compartir Este
Hugh West

En MS Excel a menudo necesitamos buscar o encontrar valores en el conjunto de datos. Puede ser encontrar datos en las filas o en la columna. Afortunadamente, Excel proporciona diferentes funciones y fórmulas para realizar este tipo de tareas. Con la ayuda del código VBA de Excel, podemos automatizar esta tarea de buscar o encontrar valores. En este artículo, veremos diferentes formas de buscar valor en una columna en Excel VBA.

Descargar el cuaderno de prácticas

Buscar valor en columna.xlsm

6 Ejemplos de VBA para encontrar el valor en la columna en Excel

Dispongamos de un conjunto de datos de información sobre productos con su Identificación del producto , Marca , Modelo , Precio unitario y Número de pedido Nuestra tarea es encontrar el emparejado... Número de pedido Ahora nuestra tarea es averiguar el Número de pedido asociada a la Identificación del producto .

1. Buscar un valor en una columna utilizando la función Buscar de VBA

En el primer ejemplo, utilizaremos la función Función Buscar en VBA para buscar un valor en una columna.

📌 Pasos:

  • Vaya al nombre de la hoja en la parte inferior de la hoja.
  • Pulsa el botón derecho del ratón.
  • Elija el Ver Código de la lista.

  • Se abre la ventana VBA. A continuación, seleccione Módulo del Inserte opción

  • Ahora escribe el siguiente código en la consola VBA
 Sub Find_Value() Dim ProductID As Range Range("D4").ClearContents Set ProductID = Range("B8:B19").Find(What:=Range("C4").Value, _ LookIn:=xlValues, LookAt:=xlWhole) If Not ProductID Is Nothing Then Range("E5").Value = ProductID.Offset(, 4).Value Else MsgBox "No Matched Data Found !!" End If End Sub 

  • Ahora Inserte un botón en el conjunto de datos.
  • Ir a la Desarrollador ficha.
  • Elija Botón ( Control de formularios ) del Inserte sección.

  • Dar cualquier nombre del botón. Como lo estoy dando como Buscar en .

  • Asigne el código a este botón.
  • Seleccione el botón y pulse el botón derecho del ratón.
  • Elija Asignar macro de la lista.

  • Seleccione la macro deseada en el menú Asignar macro ventana.
  • A continuación, pulse OK .

  • Ahora escribe cualquier Identificación del producto y haga clic en el botón Buscar en botón.

Vemos que no aparece ninguna coincidencia, ya que este número de producto no está en la lista.

  • Pon otra Identificación del producto y pulse de nuevo la tecla Buscar en botón.

Obtenemos el número de pedido del Identificación del producto .

Más información: Cómo obtener el valor de la celda por fila y columna en Excel VBA

2. VBA para encontrar el valor de diferentes hojas de cálculo

Ahora en esta sección, haremos lo mismo anterior pero para diferentes hojas de trabajo. Supongamos que la información de nuestro producto está en Hoja 2 y el cuadro de búsqueda está en Ficha 3 Ahora escribiremos el código VBA para que podamos buscar el ID de pedido utilizando el ID de producto de Ficha 3 .

Hoja 2:

Hoja3:

📌 Pasos:

  • Siga los mismos pasos de paso 1 a paso 2 del método anterior para abrir la consola VBA
  • Ahora escribe el siguiente código en la consola VBA
 Sub Find_Value_from_worksheets() Dim rng As Range Dim ProductID As String Dim rownumber As Long ProductID = Sheet3.Cells(4, 3) Set rng = Sheet2.Columns("B:B").Find(What:=ProductID, _ LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _ SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False) rownumber = rng.Row Sheet3.Cells(5, 5).Value = Sheet2.Cells(rownumber, 6).Value End Sub 

  • Ahora inserta de nuevo un botón como el anterior.
  • A continuación, asigne el código de macro al botón.

  • Introduzca cualquier Identificación del producto y haga clic en el botón Ejecute botón

Más información: Buscar Valor en Columna y Devolver Valor de Otra Columna en Excel

3. Buscar y marcar el valor en la columna

Veamos cómo podemos averiguar los valores de una columna marcándolos. Para ello, supongamos el mismo conjunto de datos anterior con una columna adicional denominada Estado de la entrega Ahora nuestra tarea consiste en marcar los valores en el campo Estado de la entrega columna que son Pendiente .

📌 Pasos:

  • Siga el mismo paso de paso 1 a paso 2 como el método anterior para abrir la consola VBA
  • Ahora escribe el siguiente código en la consola VBA
 Sub Find_and_Mark() Dim strAddress_First As String Dim rngFind_Value As Range Dim rngSrch As Range Dim rng_Find As Range Set rng_Find = ActiveSheet.Range("G1:G16") Set rngSrch = rng_Find.Cells(rng_Find.Cells.Count) Set rngFind_Value = rng_Find.Find("Pendiente", rngSrch, xlValues) If Not rngFind_Value Is Nothing Then strAddress_First = rngFind_Value.Address rngFind_Value.Font.Color = vbRed Do SetrngFind_Value = rng_Find.FindNext(rngFind_Value) rngFind_Value.Font.Color = vbRed Loop Until rngFind_Value.Address = strAddress_First End If End Sub 

  • Ahora ve a la hoja de cálculo y ejecuta el código.
  • Vea el resultado en la tabla.

Más información: Cómo encontrar el valor más alto en una columna de Excel (4 métodos)

4. VBA para Buscar Valores en Columna Usando Comodines

Por último, veremos cómo podemos buscar o encontrar valores en columnas utilizando caracteres comodín en Excel VBA. Una vez más, utilizaremos el mismo conjunto de datos anterior para este método. Nuestra tarea consiste en encontrar los precios de los productos utilizando su Modelo. Podríamos escribir el nombre completo o los caracteres del apellido/primero del Identificación del producto .

📌 Pasos:

  • Siga el mismo paso de paso 1 a paso 2 como el método anterior para abrir la consola VBA
  • Ahora escribe el siguiente código en la consola VBA
 Sub Find_Using_Wildcards() Set myerange = Range("B5:G16") Set ID = Range("D19") Set Price = Range("F20") Price.Value = Application.WorksheetFunction.VLookup _ ("*" & Range("D19") & "*", myerange, 4, False) End Sub 

  • De nuevo, inserta un botón como el anterior.
  • Ahora asigna el código de la macro al botón.

  • Introduzca ahora cualquier Identificación del producto y pulse la tecla Ejecute botón.

Más información: Cómo encontrar el valor más bajo en una columna de Excel (6 maneras)

5. Excel VBA para encontrar el valor máximo en la columna

Aquí, queremos encontrar el valor máximo de una columna utilizando el código VBA.

📌 Pasos:

  • Queremos averiguar el precio máximo.

  • Ahora, pon el siguiente código VBA en un nuevo módulo.
 Sub Column_Max() Dim range_1 As Range Set range_1 = Application.InputBox(prompt:="Select Range", Type:=8) Max_Column = WorksheetFunction.Max(range_1) MsgBox Max_Column End Sub 

  • A continuación, pulse la tecla F5 para ejecutar el código VBA.
  • En Entrada aparece el cuadro de diálogo.
  • Seleccione el intervalo del conjunto de datos.

  • Por último, pulse la tecla OK botón.

Podemos ver que el valor máximo se muestra en el cuadro de diálogo.

6. Excel VBA para encontrar el último valor de la columna

Aquí queremos conocer el valor de la última fila o celda de una columna concreta. Por ejemplo, queremos conocer el último producto de la columna Producto

📌 Pasos:

  • Introduzca el VBA en el módulo.
 Sub last_value() Dim L_Row As Long L_Row = Cells(Rows.Count, "B").End(xlUp).Row MsgBox Cells(L_Row, 2).Value End Sub 

  • A continuación, ejecute el código pulsando la tecla F5 botón.

El último valor se muestra en el cuadro de diálogo.

Más información: Cómo Encontrar la Última Ocurrencia de un Valor en una Columna en Excel (5 Métodos)

Cosas para recordar

Algunos errores comunes:

  • Error: Un valor a la vez. Porque el ENCONTRAR sólo puede encontrar un valor a la vez.
  • Error: #NA en VLOOKUP Si el valor buscado no está presente en el conjunto de datos dado, esta función devolverá lo siguiente #NA error.
  • Rango("Número_Celda").BorrarContenido se utiliza para borrar el valor anterior de la celda. De lo contrario, el valor anterior debe eliminarse manualmente.

Conclusión

Estas son algunas formas de encontrar valores en columnas utilizando código VBA en Excel. He mostrado todos los métodos con sus respectivos ejemplos, pero puede haber muchas otras iteraciones. También he discutido los fundamentos de las funciones utilizadas. Si usted tiene cualquier otro método para lograr esto, entonces no dude en compartirlo con nosotros. Visite nuestro sitio web ExcelWIKI para más artículos interesantes sobre Excel.

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.