Ir al contenido principal

macros: como eliminar uno o varios registros

Recibí el día de hoy esta consulta por mail: como hacer, mediante macros, que se eliminen registros de una tabla. La macro le deberá solicitar al usuario el dato, buscar y borrar dicho registro.
Voy a mostrar dos ejemplos de como hacerlo: utilizando el método Find de VBA y otro con un bucle. Al primero lo recomiendo cuando necesitemos eliminar un solo dato, al segundo, cuando existan varios registros a eliminar.
[+/-] Ver el resto / Ocultar

Comentarios

  1. Necesito una macro que busque de acuerdo con un valor, vaya y busque en otra columna ese valor y nos de como resultado el nombre del mismo.

    Ejemplo

    Colum A Colum B
    5 Café
    9 Pan
    11 Azucar
    14 Galletas
    ... ...

    Si yo tengo los números 5, 9 , 11, 14, etc en una columna, al correr la Macro, de acuerdo con esalista de numeros que yo tenga vaya y busque los nombres que le corresponden a cada uno de los números y el resultado me lo ponga en una columna distinta.

    ResponderEliminar
  2. si, es totalmente factible de realizar, tanto con macros como también con la función BUSCARV().
    en un rato preparo un post al respecto y te dejo el ejemplo.

    ResponderEliminar
  3. bueno, te dejo el link a la entrada que realicé con tu consulta. al final encontrarás el vínculo que te llevará a la descarga del archivo con el ejemplo.
    cualquier cosa me avisás.
    http://damianexcel.blogspot.com/2010/09/buscar-valores-con-macros.html

    ResponderEliminar
  4. POR FAVOR, NECESITO SABER COMO SE PUDE CAMBIAR EL COLOR DE UNA CELDA AUTOMÁTICAMENTE, AL CUMPLIRSE UNA CONDICIÓN.

    GRACIAS DE ANTEMANO

    ResponderEliminar
  5. en el blog hay tres entradas básicas sobre formatos condicionales:

    http://damianexcel.blogspot.com/2010/02/formato-condicional.html

    http://damianexcel.blogspot.com/2010/02/formato-condicional-ii.html

    también hay otras, pero mas complejas. fijate si alguna de esas te sirve. si necesitas ampliar los conceptos o bien algo mas puntual en tu proyecto, avísame que lo armamos.
    gracias x tu mensaje e interés en mi blog.

    http://damianexcel.blogspot.com/2010/02/formato-condicional-iii.html

    ResponderEliminar
  6. Tengo una lista de fechas como
    01-APR-1976
    01-APR-1979
    01-APR-1979
    01-APR-1980
    01-APR-1981
    01-APR-1982
    01-APR-1982
    01-APR-1983
    Como puedo eliminar el año sin tener q hacerlo manuelamente y sin tener q editar el formato de la celda ? graicas

    ResponderEliminar
  7. supongamos que a esa lista de fechas la tenés en la columna A... entonces te pregunto: ¿vos necesitas eliminar el año en la propia celda (a1,a2,a3. etc) o que te aparezca la fecha sin el año en otra celda (b1, b2, b3, etc), manteniendo los datos originales en la columna A?

    ResponderEliminar
  8. Necesito un macro que me permita buscar un valor en una columna y si es encontrado eliminar la fila en la que se encuentra.

    ResponderEliminar
  9. Anónimo: copia y pega esto en un módulo VBA:
    Sub EliminarFila()
    Dim Dato, Fila

    Dato = InputBox("Ingrese el valor a eliminar")

    If Dato <> "" Then
    Set Fila = Range("a1:a1000").Find(what:=Dato)
    If Not Fila Is Nothing Then
    Cells(Fila.Row, 1).EntireRow.Delete
    Else
    MsgBox "el valor: " & Dato & " no existe"
    End If
    End If

    Set Fila = Nothing
    End Sub

    cuando ejecutes la macro te aparecerá un inputbox solicitando el dato que deseas eliminar. Lo busca y si lo encuentra, elimina toda la fila. Fíjate que coloqué el rango "A1:A1000" para la búsqueda, modificalo por el que necesites en tu proyecto.
    Si el valor ingresado no existe, te avisa.
    suerte y cualquier cosa me avisas.

    ResponderEliminar
  10. que tal experto poseo dos listbox en un formulario que son un recetario en listbox1 estan los nombres de las recetas selecciono una receta y en lisbox2 aparecen todos los ingredientes lo que deseo es cuando quiera borrar la receta del lisbox1 me borre todos los datos del lisbox2 cabe anotar que los datos son visualizados en los listbox por medio de filtro por favor nesesitio su ayuda ya que solo he logrado borrar la receta pero no me borra los ingredientes de manera automatica cuando borro la receta de la base de datos de excel gracias....

    ResponderEliminar
  11. Roberto: necesitaría ver que código utilizas para llevar a cabo esas acciones, ya que depende de eso la solución que pueda brindarte. No me resulta posible darte una solución de esta forma, por que no se como está trabajando tu archivo.
    Por otra parte: si se borra la receta y sus ingredientes de los listbox's .... ¿también debe borrarse de Excel?

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

funciones: convertir numeros a letras con excel

En realidad hace tiempo que vienen consultándome sobre esto... quizás cinco o seis años . Debe ser una de las funciones mas buscadas de Excel, por lejos: la posibilidad de escribir: 1.534,63 y que en una celda aparezca magicamente "un mil quinientos treinta y cuatro c/15/100". Aquí les dejo una solución, basada en funciones , sin utilizar macros, la cual preparé exclusivamente para este Blog. A pesar de los millones de usuarios que requieren esta herramienta, no viene incorporada en Excel, debemos armarla nosotros mismos .  Luego de la imagen irá la explicación de como llegué a lograr esto, dado que es un proceso medianamente complejo , que utiliza tres o cuatro funciones básicas y requiere de varios pasos. así quedará nuestra planilla y siempre devolverá en letras el valor que ingresemos en A1 [+/-] Ver el resto / Ocultar Desde ya aclaro: esta no es " la forma " de hacerlo, simplemente es una mas, evitando el uso de macros. Sobre esta base, comencemos: 1) El núme

macros: como enviar mails desde Excel (vba)

Un gran amigo "on-line", Johan Moreno, de Colombia , me hizo llegar la inquietud de cómo enviar mails desde Excel . Si bien contaba con algunas líneas de código sobre el particular, decidí retomar mi ejemplo y adaptarlo mejor a las circunstancias. Hace unos minutos termino de remitirle un correo con la solución a Johan... desde Excel y con un archivo adjunto, mismo que transcribo a continuación para ayudar a todos con esta tarea. Veamos primero las dos formas principales de enviar mails: mediante Outlook o nuestro Web Mail ( yahoo, gmail, hotmail, etc, etc ) No soy usuario de Outlook en lo absoluto: no confío en los agujeros de seguridad que continuamente aparecen y, por otro lado, t eniendo a mi alcance una herramienta tan poderosa (y gratuita) como Gmail, la cual ahora también permite sincronizar los mensaje con la Pc para verlos offline (deben activarlo en "google labs") ... no creo que me haga usuario ni hoy ni mañana. Igualmente mas adelante daré una solució

buscarv con varios resultados

Es de las preguntas mas recurrentes que he tenido: ¿se puede lograr que la función BUSCARV() devuelva varios resultados? Si recordamos el uso de esta función, sabremos que la misma buscar en valor en el rango especificado, retornando un solo resultado. Si en la tabla tenermos varios registros iguales BUSCARV() solo nos devolverá el primero de ellos, omitiendo el resto. Entonces ¿se puede? Bueno, aplicando otra técnica sencilla que se me ocurrió al intentar solucionar el planteamiento de un lector... si, puedo hacerlo.... pero sin usar BUSCARV(). la idea es que coloquemos en E1 el código del producto a buscar y a partir de E2 nos devuelva todas las coincidencias de la tabla. [+/-] Ver el resto / Ocultar Vamos a necesitar una columna "auxiliar" para llevar a buen término este proyecto. Con macros el tema sería mas sencillo, pero aquí la cuestión es resolverlo con las funciones de Excel, sin VBA. Paso a paso: Como primer medida chequeamos que valores de la columna A coincide co