Cómo hacer una búsqueda en una macro de Excel con VBA (Visual BASIC for Applications)
Hoy recibí una pregunta interesante de parte de Jesús Reyes. ¿Cómo puedo hacer un VLOOKUP en VBA?
Aquí les anexo el código. Cuando lo intenté por primera vez me volvía loco porque trataba de usar Application.Worksheetfunction.Vlookup y si no lo encontraba, el programa tronaba y se iba al editor. La solución es usar Application.Vlookup (no importa el idioma en que tengan Excel, se usa VLOOKUP), guardar el resultado en una variable de tipo variante, y revisar si hay error antes de procesarlo.
Espero que les sirva. Esto es equivalente a:
=vlookup(buscar, a1:a5, 2, 0)
Option Explicit Sub Buscador() Dim Resultado As Variant Dim Buscar As String Buscar = InputBox("Buscar") Resultado = Application.VLookup(Buscar, Range("a1:b5"), 2, 0) If IsError(Resultado) Then MsgBox "No lo encontré" Else MsgBox Resultado End If End Sub
Hola buenas noches.
Disculpa si tienes una gran cantidad de información de números de partes y cada uno tiene sus características ninguna tienen las mismas dimensiones pero quieres hacer que cuando selecciones un numero de parte te aparezca solo las dimensiones de ese numero de parte sin que aparezcan las demás columnas.
Como se puede hacer ?????
Se necesita usar VLOOKUP / BUSCARV / CONSULTAV.
http://www.auval.com.mx/notas/guia-rapida-para-usar-vlookup-buscarv-consultav/
Cordial saludo,
Buscarv o ConsultarV o vhlookup realizan una búsqueda en una matriz basándose en un dato ingresado el cual por defecto lo busca en una matriz en su primer columna, ¿qué pasa si no tengo el valor de la primer columna sino de la 2a o 3ra?… ejemplo
columna1 colmna2 columna3 columna4
nombre apellido edad color
JUAN PEREZ 40 VERDE
MARIA RAMIREZ 30 BLANCO
LUIS PEREZ 50 NEGRO
Si quiero que me traiga el nombre que pertenzca a los apellidos PEREZ como lo busco…la idea es que sea en código vba y no en fórmulas como «desref coincidir»
agradezco de antemano tu atención.
Saludos
Hola Mauricio.
Una manera de hacerlo es grabar una macro y usar CTRL-F (en inglés) o CTRL-B (en español) para buscar.
Eso generará la instrucción:
Cells.Find(What:=»lo que buscas«, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False).Activate
y se puede modificar para que encuentre lo que se necesita.
Saludos.
hola buenas tardes quiero crear un buscador en visual basic 2017 para que me busque la palabra o numero que desee en un documento de excel, y como soy nuevo en esto no tengo gran conocimiento sobre el tema agradecería su ayuda gracias.
Necesito más detalles. ¿Te sirve la función de búsqueda de Excel que se accesa con Ctrl F en inglés y Ctrl B en español? De no ser así, ¿qué es lo que se tiene que hacer en Visual Basic?
BUENAS PARA ESA FUNCIÓN EN LA PARTE «LO QUE BUSCAR» QUE VALOR VENDRÍA SI NECESITO BUSCAR VALORES DIFERENTES DEPENDIENDO DEL USUARIO ??
Supongo que sería necesario buscar la clave de usuario.
Hola Armando
yo tengo un problema con la busqueda de datos me sale este error que a continuacion te muestro, no soy experto en el tema ojala me pudieran ayudar los campos que manejo son:
N° DE ORDEN PARTIDA N° NOMBRES APELLIDOS FECHA DE NACIMIENTO FOLIO TOMO
Sheets(«REG NAC»).Range(«A1:G5000»).AdvancedFilter Action:=xlFilterCopy, _
CriteriaRange:=Range(«BUSCAR!Criteria»), CopyToRange:=Range( _
«BUSCAR!Extract»), Unique:=False
Hola Cali.
Necesitaría conocer también el texto del mensaje de error, porque ese nada más es el código de la macro, y no sé por qué está fallando.
Hola Senor Armando estoy viendo su blog con algunos ejemplos desearía que me ayudara lo siguiente:
Hoja1 celda B2 tengo consecutivo (0001), y en la hoja2 tengo varios registros desde B2 hasta P50, en la hoja2 el consecutivo se graba a partir de la celda B2, va en 0050 (001-002-003- hasta llegar a 0050) quiero realizar una macro que si borro un registro o consecutivo de la hoja2 (ejemplo l consecutivo 0010) en la hoja1 el consecutivo se devuelva a 49 por que se elimino 1, es decir el consecutivo en ambos hojas debe ser igual muchas gracias…
espero lo publique aquí en su blog
Hola Carlos.
Normalmente, si fueran empleados de una compañía, si sale el empleado 23 no quiero que el empleado 24 tenga el número 23, porque esto me traería problemas.
¿Cuál es el uso de esta aplicación?
quice decir en la hoja1 el consecutivo inicia con (0001) con los ceros izquierda en este momento son iguales hoja1(0050) hoja2(0050) el problema es que si lo elimino hoja2 no se como hacer para que en ambas se vea (0049) si grabo un nuevo registro debe ser (0050) de nuevo ambas hojas gracias de nuevo.
Hola me gustaría un poco de ayuda tengo una base de datos que cuenta con los siguientes campos, Id Empleado, Apellido, Nombre, Sección, facultad, Cargo, Salario, Fecha Comienzo y Fecha Nacimiento, quiero hace una macro que realiza las consultas cuando elegía el código del empleado y que me mande a mostrar sus datos luego otra macro que me genere un informe o reporte de los datos encontrados
Hola.
Prueba a ver si algo como esto te sirve:
https://www.youtube.com/watch?v=yboThWR04V4
Saludos.
Armando.
COMO PUEDO ENCONTRAR EL ULTIMO REGISTRO DE UN TRABAJADOR PERO QUE EN LA COLUMNA DE RECIBOS NO ESTE CANCELADO.
¡Qué buena pregunta! Se puede hacer con fórmulas matriciales.
Supongamos que tienes una tabla llamada «Recibos». Esta tabla tiene tres columnas: Clave (del trabajador), Estatus y Recibo. Puede tener más columnas pero no nos interesan.
Usarías esta fórmula:
=INDICE(recibos[Recibo],MAX(SI((recibos[Clave]=F2)*(recibos[Estatus] <> "cancelado"),FILA(recibos[Estatus]))))
o en inglés:
=INDEX(recibos[Recibo],MAX(IF((recibos[Clave]=F2)*(recibos[Estatus] <> "cancelado"),ROW(recibos[Estatus]))))
Regresará el valor del Recibo que esté en el último renglón que coincida con el número de empleado que escribas en F2 y que no diga «Cancelado» en la columna de Estatus.
Saludos.
Armando
Hola!
Me podrías ayudar, quiero jalar datos de un archivo a otro, pero ponerlos en la fila que de el folio que corresponde…Como le hago?
Gracias!!
Hola Montserrat.
¿Me puedes dar más detalles, por favor? Me parece que lo que mencionas es justamente el VLOOKUP. ¿Qué falta?
Saludos.
Armando.
Buenas soy nueva en hacer macros pero voy a intentarlo, lo que pasa es que tengo una base de datos con libros donde tengo ahi casillas como: editorial, referencia, nombre del libro, autor, precio colombiano, y cuantos hay en existencia. en otra hoja tengo las ordenes de pedido con casillas como: numero de orden de pedido, fecha de requisicion, correo electrónico, dirección, celular, estudiante, descuento por ser adulto mayor, o descuento por ser estudiante, nombre del libro, y total con descuento, lo que yo quiero hacer es que cuando yo coloque el nombre del libro me lleve a la base de datos , mire la existencia y me vaya descontando el numero de libros a medida que yo hago el pedido, me coja la referencia y me la traiga a mi hoja numero dos de pedidos, y el nombre de autor. como podría hacer?
Hola Dani.
¿Tienes Access? Te pregunto porque si en Access eliges Nueva – Base de datos te aparece un modelo de biblioteca de préstamos. Este ejemplo incluye una base de datos completa que me parece que hace lo que necesitas y más.
Es más sencillo hacerlo ahí que en Excel.
Saludos.
Armando.
Hola Armando, soy nuevo en macros y necesito tu ayuda.
Tengo una tabla desde V1(DNI), W1(CLASE), X1(APELLIDO), Y1(NOMBRES).
En la celda B5 ingreso el dni y necesito que me busque en V$ y cargue el apellido & nombres en la celda C5, y así sucesivamente en las demás b$ y c$.
Todo tiene que ser en tiempo real, creería que es con Private Sub Worksheet_Change(ByVal Target As Range)
Desde ya, muchísimas gracias.
Hola.
¿Por qué necesitas una macro? Me parece que ese es el comportamiento normal del VLOOKUP / BUSCARV.
En C5 escribes la fórmula siguiente:
= iferror(vlookup(b5,V:Y,4,0) & » » & vlookup(b5,V:Y,3,0),»»)
= SI.ERROR(BUSCARV(b5,V:Y,4,0)& » » & BUSCARV(b5,V:Y,3,0),»»)
Los símbolos que aparecen como » deben ser comillas dobles. Me aparece a mí como otro símbolo.
Hola, muy buenas tardes Armando, mi nombre es Mauricio, una consulta, tengo una matriz en la cual se le han asignado en la columna A identificadores como D0001, D0002 y así consecutivamente, y a estos le siguen datos (para el ejemplo) usaremos A, B, etc en la columna B, el problema que tengo es que no logro dar con la forma de usar VLOOKUP, FOR o cualquier otra sentencia que salte de celda en celda buscando los identificadores en A y los datos en B para que sean copiados en otra hoja, en donde los identificadores no son concecutivos.
Agradecería tu ayuda. Saludos
Hola.
Prueba a ver si algo como esto te sirve:
https://www.youtube.com/watch?v=yboThWR04V4
Saludos.
Armando.
Buenas Tardes,necesito ayuda, tengo una planilla con DNI, Apellido y Código, y necesito copiar el código de cada uno de los dni y pagarlos en otra matriz general, se puede hacer una macro??
Sí, aunque eso suena a lo que puede hacer un BUSCARV / VLOOKUP normalmente.
Armando; buenas tardes
Quisiera saber si me puedes ayudar con una macro que ponga en mi listado de asistencias una marca,en donde la hoja uno contendrá el botón que marcará una «x» en una celda de la hoja 2, en la que la primer columna corresponde a un código único de estudiante y en la fila 1 están las fechas de la clase.
aclaro que ya en la hoja 1 tengo una celda en donde escribo el codigo del estudiante que es la A1 y en B1 las fechas correspondientes a la clase, en esta misma tengo buscarv para un resumen de los datos y al lado el boton que quiero que lleve la macro que registrara la asistencia teniendo en cuenta las dos variables A1 y B1.
muchas gracias.
En la hoja 1 tienes que usar una columna antes de la A que sea =A1&B1.
En la hoja 2 haces un vlookup así, suponiendo que tienes la fecha en el renglón 1 y los alumnos en la columna A:
=if(isna(vlookup($a2&b$1,hoja1!A:A,1,0)),»»,»x»)
=si(esnod(buscarv($a2&b$1,hoja1!A:A,1,0)),»»,»x»)
Buenas tardes, tengo una consulta, tengo un formulario donde hace una búsqueda de un dato, pero al no encontrar el dato me sale un error para depurar o finalizar, pero quisiera que me salga un mensaje que diga Dato no encontrado, pero no me sale, aquí le paso mi pequeña programación…
If CMBGRADO = «1pri» Then
TXTALUMNO.Value = WorksheetFunction.VLookup(TXTCODIGO.Text, Sheets(1).Range(«A2:B1000»), 2, False)
TXTASIST = «A»
Else
If CMBGRADO = «2pri» Then
TXTALUMNO.Value = WorksheetFunction.VLookup(TXTCODIGO.Text, Sheets(2).Range(«A2:B1000»), 2, False)
TXTASIST = «A»
Else
MsgBox «Selecciona un Grado»
end if
enf id
Podría ser algo como:
IF ISERROR(WorksheetFunction.VLookup(TXTCODIGO.Text, Sheets(2).Range(«A2:B1000»), 2, False)) THEN
TXTALUMNO = «NO ENCONTRADO»
ELSE
TXTALUMNO = WorksheetFunction.VLookup(TXTCODIGO.Text, Sheets(2).Range(«A2:B1000»), 2, False)
ENDIF
BUENAS TARDES QUIERO INGRESAR UNA MACRO PARA BUSCAR UN VALOR EN VARIAS HOJAS DEL LIBRO
La macro se coloca dentro de algo como esto:
sub buscar()
dim hoja
for each hoja in worksheets
hoja.select
' Lo que vas a buscar.
next hoja
end sub
Hola Buenas, te cuento que tengo una macro para buscar un valor en una tabla que tiene valores repetidos, ingreso los valores repetidos a un combobox como valores unicos y a partir de esos quiero cargar todos los datos relacionados a esos valores repetidos a otro combobox, mi problemas es que con la funcion vlookup solo ingresa el primer dato que encuentra, y yo quiero ingresarlos todos, este es mi codigo:
Mi macro es super simple, son dos combobox, el primero de nombre Rajo y el segundo de Nombre Fase y la tabla de la que sale la informacion es, el encabezado que esta en la celda A1 es el Rajo, que tiene TESORO TESORO ESPERANZA TESORO y el segundo encabezado de nombre Fase en B2 tiene 2204 2264 2164 2563 en ese mismo orden
Private Sub cbxRajo_Change()
On Error Resume Next
Dim celdaActual As Range
valor = Application.WorksheetFunction.VLookup(Me.cbxRajo.Value, Sheets(«Hoja2»).Range(«A:B»), 2, 0)
cbxFase.Clear
Me.cbxFase.AddItem valor
End Sub
y este es el del primer combobox:
Private Sub UserForm_Initialize()
‘Cargar datos en el combobox sin repetir
Dim ValorUnico As Collection
Dim rng As Range
Dim Cell As Range
Dim sh As Worksheet
Dim vNum As Variant
Set sh = ThisWorkbook.Worksheets(«Hoja2»)
Set rng = sh.Range(«A2», sh.Range(«A2»).End(xlDown))
Set ValorUnico = New Collection
On Error Resume Next
For Each Cell In rng.Cells
ValorUnico.Add Cell.Value, CStr(Cell.Value)
Next Cell
On Error GoTo 0
For Each vNum In ValorUnico
Me.cbxRajo.AddItem vNum
Next vNum
End Sub
Espero puedas ayudarme, gracias!
Con este código puedes buscar un valor todas las veces que aparezca. Pero VLOOKUP se queda corto. Por eso usé INDEX y MATCH.
Lo que hace es que si tienes datos de A1 hasta B4, primero busca de A1 hasta B4, si encuentra un valor en el renglón 2, busca de A3 a B4, y así va moviendo el rango de búsqueda.
Sub buscar()
Dim buscado, encontrado, lugar, inicio, ÚltimoRenglón
ÚltimoRenglón = ActiveCell.SpecialCells(xlCellTypeLastCell).Row
buscado = InputBox("¿cuál busco?")
inicio = 1
Do
lugar = Application.Match(buscado, Range(Cells(inicio, 1), _
Cells(ÚltimoRenglón, 1)), 0)
If Not IsError(lugar) Then
Debug.Print "Lugar " & lugar & " Inicio " & inicio & " fin " & ÚltimoRenglón
encontrado = Application.Index(Columns("B:B"), lugar + inicio - 1)
inicio = inicio + lugar
MsgBox encontrado
End If
Loop Until IsError(lugar) Or inicio > ÚltimoRenglón
End Sub
hOLA TENGO UN PROBLEMA AL BUSCAR EN UNA CELDA EN OTRA HOJA, PERO ESTA CELDA TIENES VARIOS VALORES EJ. (454612/64849/134579/134546/54263)
DEBO BUSCAR QUE EXISTA UNO DE ESOS VALORES Y TRAERME OTRO.
hE PROBADO CON BUSCARV, COINCIDIR, COINCIDIR +INIDCE Y NO ME DA, INCLUSO CON HALLAR. lE AGRADECERIA MUCHO, TODOS ME DAN ERROR. MI CORREO ES OTTNEIBER@GMAIL.COM Y OTTNEIBER.PENA@AGUSTINAMARKET.CL
Necesitas una fórmula matricial que use INDEX, SEARCH. Un problema que puedes tener es que esto te encontraría 4546 o 648 dentro de otro número. Tendrías que usar siempre el mismo número de dígitos para evitar este problema. 0000648, 064849, 454612 en vez de 648, 64849, 454612. Estoy muy saturado pero en una chanza hago un video.
Hola, ya pudiste resolver el error?
tengo el mismo inconveniente quiero buscar datos en otras hojas de excel y no se como?
Sería algo así.
application.vlookup(«algo», workbooks(«Archivo.xlsx»).sheets(«Hoja 1»).range(«$a$1:$h$100»), 4, 0)
Buenas tardes, estoy haciendo una base de datos que me permita a la hora de buscar por la cedula me traiga todos los insumos y la fecha de hojas anteriores (las cuales sus nombres son los meses del año).
mi base de datos tiene estos campos:
CEDULA, NOMBRES, APELLIDOS, EDAD, INSUMO Y FECHA (Donde se registro el insumo)
lo hice con buscar v y concadenando pero se quedo corto ya que si ingreso en febrero dos insumos con la misma persona y en el proximo mes ingreso otros dos insumos al momento de buscar solo me muestra lo que esta en febrero.
Agradezco su colaboración.
Revisa este video, por favor.
https://www.youtube.com/watch?v=yboThWR04V4
Hola, muy buenas!
Tengo una duda, para realizar una búsqueda en excel ingresando solamente un dato (como un número de identificación), me recopile todos los datos (Nombre, edad, etc) y me los plasme en una plantilla en Word?
Para eso se puede usar la función de Correspondencia. Hice este video que muestra más o menos como hace unos años.
https://www.youtube.com/watch?v=MpFgdPnfTOs
Buenas,
Esta muy buena la pagina, excelentes aportes.
Tengo la siguiente situación, tengo varias facturas de varios proveedores, y cuando proceso el asiento de pago, necesito agrupar las facturas por proveedor que ya seleccione para pago.
Factura Codigo Nombre
FA000153735 010100 GLARM
FA000153651 022022 MONTE DE SION
FA000153651 022022 MONTE DE SION
FA000153719 100022 SUPER LA ESQUINA
FA000153719 100022 SUPER LA ESQUINA
FA000153719 100022 SUPER LA ESQUINA
FA000153719 100022 SUPER LA ESQUINA
quedando de esta forma
Codigo Nombre Factura
010100 GLARM FA000153735
022022 MONTE DE SION FA000153651-FA000153651
100022 SUPER LA ESQUINA FA000153719-FA000153719-FA000153719-FA000153719
soy nuevo en esto de macros y me parece que por medio de una macro, se disminuye el tiempo…
agradezco la ayuda que me puedan brindar…
Te hice un video. No necesitas una macro. Power Pivot lo hace solo.
https://www.youtube.com/watch?v=62qg8Leb740
Hola Buenas Noches :
Tengo una Hoja llamada «Hola2»
A1 = Abierto
A2 = Cerrado
A3 = Cancelado
A4 = Pendiente
Cada una de las celdas tienen colores diferentes que de alguna manera identifican el estatus de una solicitud x, estos colores pueden cambiar a solicitud del cliente
En la Hoja «Hoja1» tengo una base de datos con las solicitudes y un campo de esta es el estatus, Quiero recorrer la base de datos y en el campo estatus poner el color que le corresponda dependiendo del color que encuentre en la lista de la Hoja «Hoja2» esto lo quiero hacer en una macro de vba.
Les agradecería su ayuda , tengo algo de conocimiento pero no mucho.
Saludos y Gracias
JAGG
Hola Javier.
Puedes hacerlo con formato condicional. Selecciona la columna que tiene los códigos y elige Inicio – Formato Condicional – Resaltar celdas – Igual a.
Eliges el valor y el color que quieras.
Si cambia, vas a Inicio – Formato Condicional – Modificar reglas y cambias el formato condicional para que tenga el color adecuado.
Saludos.
Armando
Buenos dias,
tengo que automatizar unas macros de Excel, ya que tengo lo que quiero pero ahora tengo que mejorarlo.
La idea es que en una hoja del libro que se llama Segmento tengo una listado con las siguientes columnas:
Pestaña, Division, Unidad, parcela,celda_fija,celda_inicio,celda_fin y Nombre_fichero
La idea es que si encuentro la coincidencia de la pestaña con una de las hojas existentes en el libro que segun la division me seleccione las celdas correspondientes y me las pegue en otro archivo que se llame como la columna de Nombre_fichero.
Y no logro la manera de automatizar esto….no se si habria que hacerlo con Buscarv o con que.
Muchas gracias
Parte de eso te lo da la función =offset o =desref.
=DESREF(celda inicial, desplazamiento vertical + = abajo, desplazamiento horizontal + = derecha, número de renglones, número de columnas)
=OFFSET(celda inicial, desplazamiento vertical + = abajo, desplazamiento horizontal + = derecha, número de renglones, número de columnas)
Por ejemplo, para seleccionar el rango hoja2!B10:C13, que mide 4 renglones de alto (10, 11, 12, 13) por 2 de ancho (c,d) y empieza 9 renglones abajo del renglón 1 y 1 columna a la derecha de la columna A, puedes usar:
=DESREF(«hoja2!a1», 4, 2, 9, 1)
Buenas tarde agradecido de antemano
tengo el siguiente problema
al hacer el ingreso de un registro y ese registro me lo agrega en otra hoja , al momento que realizo una busqueda me varia la posicion en la fomula
por ejemplo, tengo una tabla llamada REGISTRO y otra BASE DE DATOS
en base de datos tengo las columnas de PLACA,TIPO DE VEHICULO,USO DE VEHICULO,CONDICION,HORA, donde el la fila A4 me ingresa los registros desde la tabla REGISTRO, pero en esa misma tabla yo quiero buscar la PLACA y que al momento de ingresar una PLACA ya registrada me muestre en pantalla el numero de placa que estoy ingresando y la HORA que surtio ese vehiculo.
la formula que tenfo en la busqueda es esta:
=INDICE(‘BASE DE DATOS’!A4:E4000;COINCIDIR(REGISTRO!C2;’BASE DE DATOS’!A4:A4000;0);5)
pero cual es el detale que cuando hago la busqueda y luego registro mas PLACAS se me mueve A4:E4000 ppor A5:E4001 y si el registro nuevo me queda el la fila A4 no me lo consigue y si sigo ingresando registros me sigue incrementando las posiciones en la formula
Puede ser que falten los signos de pesos:
=INDICE(‘BASE DE DATOS’!A$4:E$4000;COINCIDIR(REGISTRO!C2;’BASE DE DATOS’!A$4:A$4000;0);5)
Buenas Tardes Don Armando.
Disculpa que te moleste. Pero quisiera saber como hago una macro que me busque en una columna «observación» una palabra en especial y la pegue en otra columna
gracias
Hola.
Me suena como una variación del problema que describo aquí.
https://www.youtube.com/watch?v=gqKjxPxxOV0
La palabra clave es el nombre del empleado en este caso.
¿Te sirve?
Quiero buscar un valor X en toda una columna y si lo encuentra escribir un dato ingresado por inputbox en la celda que esta al lado del valor X, con la condicion de que el valor X se puede repetir en la columna.
todo esto con macro vba
A lo mejor no necesitas una macro. Aquí hay un video que dice cómo buscar varios valores con fórmulas matriciales.
https://www.youtube.com/watch?v=yboThWR04V4
Buenas noches
Amigo tengo una duda
Estoy en un proyecto, de auto búsqueda en userform en Vba Excel, e logrado que mediante la cédula me busque nombres apellidos, cargo, jefe, etc
Luego de que dígito una fecha e logrado en una hoja aparte, concatenar la fecha con la cédula, pero ahora necesito que mediante una función en el Vba yo pueda buscar mediante esa variable de la concatenación unas horas puntuales y me las deje en un textbox como el formato en que se presenta que está en hh/mm/SS pm/am
Si tienes la fecha en una celda y la hora en otra, simplemente puedes sumarlas.
Quizá te sirvan estos videos, y próximamente voy a hacer un video sobre la función FILTRO / FILTER, que es nueva para los usuarios de Office 365 y es más fácil de hacer.
https://www.youtube.com/watch?v=yboThWR04V4
https://www.youtube.com/watch?v=pTXRm6NHSNA
Hola, tengo una dificultad con una macro. He hecho un formulario en excel donde se cargan diferentes items con sus respectivos argumentos, todos se buscan por un solo campo»Codigo», el problema que no resuelvo es que debo traer la consulta realizada y plasmarla en otra hoja de excel, donde los encabezados son «codigo», «cantidad ingresada», «fecha»,etc.
El campo codigo es unico, pero los otros datos son varios, por ej.: el «codigo» 1, ha ingresado 200 paquetes, el dia 21/12/19, el «codigo»1 ha ingresado 300 paquetes, el dia 30/12/19.
Consigo traer el codigo a las celdas donde vuelco la información, pero solo lo hace del primer «codigo» encontrado y sale de la macro solo cargandome la información de del codigo, pero solo la priemeraque encuentra.
No consigo como resolverla, podrias orientarme?
Espero haber sido claro en la duda. te dejo un ejemplo
«Codigo» «Cantidad Ingresada» «Fecha de Ingreso» (estas son la columnas ha rellenar)
22 200 21/12/19
22 500 25/12/19
22 1000 30/12/19
……..
Desde ya muchas gracias.
PD.: te aclaro los campos se traen de una base de datos donde el codigo es ingresado varias veces con informaciones diferentes cada vez.
Tengo los videos siguientes que hablan de ese tema, y próximamente voy a hacer un video sobre la función FILTRO / FILTER, que es nueva para los usuarios de Office 365 y es más fácil de hacer.
https://www.youtube.com/watch?v=yboThWR04V4
https://www.youtube.com/watch?v=pTXRm6NHSNA
Hola buenas tardes Armando
Estoy realizando un archivo de toda mi producción en la planta el cual de esa base de datos quiero saber que pedidos en una determinada fecha tienen que estar en esa área
la base de datos tiene las siguiente información en la hoja 1:
FOLIO | FECHA DE SALIDA DE PRODUCCIÓN | N° DADO | TIPO | RUTA
58643 | 06/08/2020 | ENV 20018 | HUECO | 2
quiero extraer todos los folios que contengan la misma fecha (está información extraerla en otra hoja 2)
existe alguna forma que me puedas apoyar
alguna macro o formula para generar esta información
Tengo los videos siguientes que hablan de ese tema, y próximamente voy a hacer un video sobre la función FILTRO / FILTER, que es nueva para los usuarios de Office 365 y es más fácil de hacer.
https://www.youtube.com/watch?v=yboThWR04V4
https://www.youtube.com/watch?v=pTXRm6NHSNA
Hola Armando, me parece impresionante la información que compartes, muchas gracias.
Tengo una duda, tengo una BBDD de proveedores, en una hoja tengo el registro automatizado con VBA (Hoja: Registro), en la segunda tengo la base de datos que se va generando con los datos de la primera hoja (Hoja: Base de proveedores) y en la tercera una hoja de consulta en donde quiero tener un listbox, seleccionar la razón social del proveedor que busco y dando clic en el botón de consulta, jale automáticamente todos los datos capturados de ese proveedor. Cómo puedo hacer el código para el botón de consulta?
No necesitarías hacer una macro. Aquí hay unos videos con fórmulas matriciales, y próximamente voy a hacer un video sobre la función FILTRO / FILTER, que es nueva para los usuarios de Office 365 y es más fácil de hacer.
https://www.youtube.com/watch?v=yboThWR04V4
https://www.youtube.com/watch?v=pTXRm6NHSNA
Hola, estoy buscando una formula en VBA para que ingresando un número de centro me devuelva resultados multiples. Por ejemplo yo ingreso un centro 2963 y me manda los empleados de ese centro que son más de 1. como lo puedo hacer? Gracias
Tengo los videos siguientes que hablan de ese tema, y próximamente voy a hacer un video sobre la función FILTRO / FILTER, que es nueva para los usuarios de Office 365 y es más fácil de hacer.
https://www.youtube.com/watch?v=yboThWR04V4
https://www.youtube.com/watch?v=pTXRm6NHSNA
hola buenas sabes tengo informacion en un excel un listado de personas en una hoja, un listado de personas en otra hoja, necesito en al hoaj 3 las personas de la hoja 2 que no estan en la hoja 1, me das una mano con eso.
Hola Armando, excelente tu página, no se si puedas ayudarme con un problema que tengo, estoy haciendo un formulario en VBA en excel para «filtrar» por criterios los datos de una hoja en excel, es decir, necesito filtrar por tres valores, en el ejemplo que pones buscas por un solo valor, pero yo necesito que sean tres valores validando que no necesariamente el usuario ingresará los tres valores puede que solo ingrese el primero o bien el primero con el segundo o bien los tres, y así esas posibles combinaciones. Te agradecería tu enorme ayuda. Gracias por todo.
Suponiendo que los valores están en A2, B2 y C2, por como lo describes, nada más hay que concatenarlos con &
=vlookup(a2&b2&c2,…
Si b2 y c2 están vacíos, nada más queda a2.
Sub buscar_producto()
‘
‘ buscar_producto Macro
‘
‘
Application.ScreenUpdating = False
ActiveWindow.SmallScroll Down:=-15
Range(«Tabla1[#A11]»).AdvancedFilter Action:=xlFilterInPlace, CriteriaRange _
:=Range(«‘REGISTRAR PRODUCTOS’!Criteria»), Unique:=False
Application.ScreenUpdating = True
End Sub
me sale error
¿Qué error?