Saltar al contenido

Macros y programación VBA

Temas sobre la automatización de Excel utilizando macros y VBA. Errores de VBA. ¿No consigues que tus macros hagan lo que necesitas?

  1. Started by mx_801,

    Buenas, de programacion se un poco (lo basico) y estoy en un proyecto de inventario en excel, ya lo tengo un poco avanzado pero quisiera saber el codigo solo para que si en una celda coloco un producto y la cantidad vendida, el programa busque en una columna de productos el producto con el mismo nombre y lo descuente de su cantidad. Muschas Gracias.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 886 visitas
  2. Started by nachin,

    Hola que tal pues primero quisiera presentarme por que soy nuevo en este foro, y en segunda empezar a aprender y abuzando de su confianza quisiera hacerle la siguiente consulta. Pues miren para empezar les comento que tengo varias cuentas, y por lo tanto varios usuarios y contraseñas de una pagina de internet, mi problema es que cuando trato de usar un nombre de usuario luego se me olvida la contraseña. Entonces lo que quiero hacer es tener una tabla de Excel donde tenga mis nombres de usuario y con su respectiva contraseña, y hacer un programa que cuando yo selecciones un usuario me mande directamente a la pagina de internet y se introduzca el usuario y la contraseña aut…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 923 visitas
  3. Buenas noches, Necesito una ayudita. Tengo un archivo excel con una macro que convierte los datos introducidos en columna A y B en fechas cada vez que introduzco una fecha sin barras. Por ejemplo, si introduzco 020219(ddmmyy) me lo convierte en 02/02/2019 (dd/mm/yyyy) automaticamente. Solo lo convierte si introduzco los datos uno a uno. Necesito cambiar la configuración para que haga lo mismo pero solo si pincho en un botón de comando. Si no pulso ese botón no haga cambios Este es el código que utilizo con el metodo " Worksheet_Change" y Tarjet Private Sub Worksheet_Change(ByVal Target As Range) Dim rngData As Range Set rngData = Range("A2:…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.5k visitas
  4. Started by Moroquito23,

    Hola buenas noches: En una hoja tengo una macro que me ayuda a pegar información en la columna E a partir de la fila 17. todo esto dependiendo de la columna C. en ella celda (C17) pongo un número que trae los datos de otra hoja y los coloca en la misma fila, pero de la columna E. terminando de pegar se recorre nuevamente a la columna C. y de ahí digito un 2 (consecutivo) y vuelve hacer el mismo proceso. Hay alguna manera de poder poner los consecutivos de manera automática, al yo poner en la celda C17 el numero 1, y donde se active la celda de la columna C, poner el consecutivo siguiente. y como limite la celda J2. en donde estará el límite ejemplo 15. es…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 484 visitas
    • 1 seguidor
  5. Buenos dias amigos me pueden ayudar a descubrir por que se vuelve loco el bucador universal y ademas tiene un problema que cuando busca la informacion y uno la va a modificar se devuelve para la primera fila muchas gracias CONTROL DE TRABAJOS DIARIOS.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  6. Started by Virushito,

    Buenos Dias Compañero, Trato de terminar este formulario y no puedo, se trata de totalizar los montos filtrados usados en el formulario. Lo que deseo es sumar el total de la columnas "Cost", "Abono", "Total" que estan en la hoja " Invoice Summary" y que se visualicen en los textbox Deuda Total, Total Abono, Deuda Actual. He encontrado soluciones en este foro pero no doy con el resultado quizas lo este haciendo mal. Saludos Jesus ayuda_3_Columnas_1.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
  7. Started by germangandi,

    Muy buenos días compañeros del Foro Yo soy bastante nuevo en esto de BVA y lo poco que se lo he aprendido por mi cuenta investigando en internet y preguntando a personas que ya lo manejan. Estoy realizando un formulario en Excel 2007 en el cual voy a digitar los datos obtenidos en una encuesta en papel. El problema que tengo, debido a mis pocos conocimientos, es que no se como asignarle a un TextBox un rango de valores más un valor extra. Por ejemplo: el Textbox1 quiero que solamente acepte valores de 1, 2, 3, 4 y 99. Sé como hacer del 1 al 4, pero añadirle el 99 no tengo idea como hacerlo, ya probé varias formas pero no lo he logrado hasta el momento y les agradecería…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.8k visitas
  8. Started by maylex,

    Amigos tengo la siguiente macro: Sub Ocultar() Dim r As Range Application.ScreenUpdating = False ActiveSheet.Unprotect Rows("21:500").Select Selection.EntireRow.Hidden = False For Each r In Range("A21:A500") If r = 1 Then r.EntireRow.Hidden = True Next r Application.ScreenUpdating = True End Sub He probado distintas formas para que queda mas rápida porque es demasiado lenta, he hecho por ejemplo ciclo for, la he separado en distintos rangos, he llamado con otra macro los distintos rangos, pero nada, nose como dejarla mas eficiente. ayuda amigos muchas gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  9. Hola amigos tengo el siguiente detalle, la siguiente macro. Sub Ordenando() 'ordena la hoja por la col B en forma ascendente teniendo la primera fila como encabezado Worksheets("Hoja7").Select Range("A1").Select Selection.Sort key1:=Range("B1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom End Sub debe ordenar alfabéticamente todos los datos de la hoja7 tomando como referencia la columna B desde la fila 2 hasta la ultima con datos, ya que la fila 1 es para los encabezados, son 13 columnas. el detalle es que al correrlo en un libro nuevo funciona al cien pero ya dentro de un proyecto que tengo funciona a medias…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.1k visitas
  10. Started by sky_eyes,

    Hola, Quiero modificar la propiedad (Name) de una hoja excel con código. Puedo modificar el Name (sombreado en azul en la imagen adjunta), pero no el (Name) (con el círculo rojo en la imagen adjunta), adjunto imagen. Alguien sabe como hacerlo? Gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.3k visitas
  11. Started by Pirtrafilla,

    Buenos días a todos. Necesito convertir una celda donde tengo una fecha en una cadena de caracteres. El problema es no quiero que elimine los 0 a la izquierda. Por ejemplo 01/07/2022 debería convertirse a 20220701, sin embargo solo consigo que se convierta en 202271. Este es el código simpe que he puesto y que luego lo he de adaptar con bucles y demás. La fecha la tengo en la celda B1 y he de convertirla en la celda B2 Sub fecha_inicio() anyo = Year(Sheets("Repsol").Range("B1")) mes = Month(Sheets("Repsol").Range("B1")) dia = Day(Sheets("Repsol").Range("B1")) Sheets("Repsol").Range("B2") = anyo & mes & dia End Sub Gracias.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 914 visitas
    • 1 seguidor
  12. Started by jhosmar84,

    Hola amigos, aca nuevamente solicitando su ayuda, tengo un libro en el cual quieres registar los datos ingresados de la hoja1 hacia la hoja2 ó hoja3, según hoja de destino (Celda "c10"), esto mediante el botón, gracias por su ayuda. adjunto el archivo. REGISTRO HOJA DESTINO.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 713 visitas
  13. Started by pablo lage,

    hola a todos; el caso es que necesito rellenar un listbox con unas 80 columnas pero quiero irlo filtrando a medida que voy introduciendo datos en los textbox; el listbox lo relleno con rowsource,a pelo, pero no sé filtrarlo, ni si se puede; lo relleno asi: ListBox1.RowSource = "a2:cd2" & ActiveCell.Row pensé en poner varios listbox, pero se me complica el asunto bastante... Gracias de antemano.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.9k visitas
  14. Hola a todos. Tengo una hoja que quiero duplicar 100 veces y renombranlas desde el 1 al 100 Os agradecería me ayudéis ya que hacerlo a mano es muy laborioso dado que lo tengo que hacer en varios libros COPIAR HOJA 100 VECES.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 11.4k visitas
    • 1 seguidor
  15. Started by Pirtrafilla,

    Buenas. Tengo un programa para enviar nóminas automatizadas desde el Excel, pero se me ha ocurrido que antes de poner el texto del cuerpo del correo podría añadir una introducción, por ejemplo pondría A/A: JOSE LOPEZ GARCIA. Para enviar el correo tengo este código en un bucle y funciona perfectamente, solo que no me añade la introducción. Pongo solo esta parte del código donde envío correos por si podríais decirme si he de añadir algo más para que el código funcione. 'Enviamos por mail Set OutMail = OutApp.CreateItem(0) On Error Resume Next spie = "Gracias." With OutMail .To = destino .CC = copia .BCC = "" .Introduction = "A/A: …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 640 visitas
    • 1 seguidor
  16. Started by laurasoledad2,

    Buenos dias. queria saber si se puede hacer una macro que haga lo siguiente: (adjunto ejemplo) Cuando comienzo pongo el numero "1" en la celda A1, eso genera dos resultados distintos en las celdas B1 y C1. copio dichos resultado en la primera fila de una tabla y luego pongo el numero "2" en la celda A1, los resltados de las celdas b1 y c2, son volcados en la segunda fila de la tabla mensionada anteriormente, asi sucesivamente. lo que necesito es que vaya cambiando los valores en la celda A1 y copie los resultados en una tabla. Espero que me hayan entendido! Saludos Laura prueba 1.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 901 visitas
  17. Invitado Julia Mellado
    Started by Invitado Julia Mellado ,

    Hola buenas, @Haplox Mi problema es este: - Quiero filas en varias hojas Excel a la vez. Insertándola siempre desde la hoja1. - Que la fila en blanco que se inserte esté en el mismo numero de fila en todas las hojas. Es decir que si inserto una fila en Hoja1 en la fila 12, en las hojas2 y hoja3 también se inserte en la fila 12. He probado con este código que le dejaste a otro usuario pero me surge el problema de que si la fila que inserto en la hoja1 es la 12, en las demás hojas se me inserta en la fila 13, es decir, una por debajo. ¿Alguien sabe el problema del código? Public Filas As Long Public seleccion As Range Private Sub Work…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  18. Buenas tardes, He buscas y buscado antes de escribir pero no encuentro nada parecido y tampoco soy de capaz de modificar otro macro para conseguirlo. Necesito ir recorriendo la columna "A" e ir haciendo búsquedas en la Columna "B", pero busquedas solo de parte del texto. Mi idea seria, empezar por "A1" y que busque en toda "B". si encuentra algo que copie toda la Fila ( desde B en adelante ) en otra hoja y que la borre de la columna A. Si no, que no haga nada. Y repetirse hasta llegar al final de la columna A. Muchas gracias de antemano!

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  19. Buenas tardes, Tengo una dudilla e invoco a vuestra sabiduría Tengo un rango de datos que copio y pego como imagen en otra hoja. El tema es que a esa imagen me gustaría poder nombrarla de alguna manera para poder más adelante, utilizando "shapes", trabajar con ella(x ejemplo algo tan simple como borrarla...). Saludos y gracias!

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  20. Hola de nuevo; Estoy tratando de fijar conceptos sobre los rangos. En la macro que adjunta he implementado un procedimiento que se me sugirió aquí en el cual la macro me da el primer rango del encabezado de una tabla. Estoy intentado hacer lo mismo con el último pero veo que al ir insertando columnas no devuelve correctamente el rango. A ver si me podéis indicar donde estoy fallando. Adjunto la macro. Saludos a todos. MCR.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 568 visitas
  21. Que tal, rápidamente les agradezco el apoyo a todos los que lo necesitamos, en verdad es una super ayuda. Lo que necesito es para pasar todos los datos contenidos en una fila que contengan una palabra determinada. por ejemplo: tengo varios productos que se pagaron de forma diferente, en una columna tengo especificado su forma de pago. lo que quiero es especificar en algún lado la palabra "efectivo" o "cheque" (forma de pago) y que me pase toda la información de las filas que contengan pago en "efectivo". Lo hice mediante una formula de condición "si" pero me deja filas en blanco. me dijeron que seria mejor con una macro. El detalle es que no tengo especificado el …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.8k visitas
  22. Buenos Dias Requiero de una macro que me traiga el ultimo saldo de un estado de cuenta, borrando todos los demas movimientos, anexo el archivo en donde explico lo que necesito. Muchas gracias Proyecto macro.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.4k visitas
  23. Buenos dias, Tengo un problema con una macro que estoy haciendo. En ella lo que quiero es tratar datos de una lista de ciudades y que los copie y los pegue en otra hoja. Hasta aqui todo bien. El problema viene cuando quiero que se muestre un mensaje temporal (MsgBox). El objetivo de este mensaje es pour un lado indicar al usuario la ciudad/municipio que se esta tratando, y también sirve para que el ordenador haga una pausa y actualice los datos de una hoja. Aqui os subo dos ejemplos: Ciudades : En este caso, la macro es solo para mostrar los mensajes y normalmente desaparecen cada 5 segundos (como indicado en la macro). MacroIntento : Se trata de hacer lo mism…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.3k visitas
  24. Invitado Ibrahim Maradey
    Started by Invitado Ibrahim Maradey ,

    Buen día, estoy realizando un programa para controlar un pequeño inventario, y utilizo userforms para ingresar y registrar datos. Manejo un inventario de 100 materiales aproximadamente y los enumeré desde el 001 en adelante..... el detalle que se me presenta es al ingresar algún código para registrar un movimiento de material, utilizo un textbox, y al ingresar cualquier número, me antepone 2 ceros antes del número, todo esto dentro del textbox. Por ejemplo quiero ingresar el 047 y coloca 0047. Como puedo evitar que coloque 2 ceros delante del número que quiero agregar?

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
    • 1 seguidor
  25. Muchos saludos desde Santiago, República Dominicana. Mucho tiempo sin leerme por estos lados . lo que necesito es: 1.- al ajustar lineas, poder controlar que si en la columna B (DESCRIPCION) dejo una linea en blanco, pueda contarla si hay mas datos debajo. 2.- que solo me permita agregar las lineas necesarias para utilizarse en una sola hora (Que al agregar no exceda el tamaño de una hora tamaño carta ) Gracias anticipadas y gracias por dedicar parte de su tiempo para ayudarme. Olvidé mencionar que utilizo Excel 2007 Plantilla Corregida.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 951 visitas

Información básica de protección de datos

  • Responsable: Sergio Andrés Celemín
  • Finalidad: Moderar y responder comentarios de usuarios. Recuerda que la información que facilites es pública, y los datos que incluyas los leerá cualquier visitante de esta web, así como el avatar que poseas.
  • Legitimación: Consentimiento del interesado.
  • Destinatarios : Hetzner Online GmbH.
  • Duración: Mientras se conserve este post o hilo en la comunidad, o decidas eliminar el comentario.
  • Derechos: Puedes ejercitar en cualquier momento tus derechos de acceso, rectificación, supresión, oposición y demás derechos legalmente establecidos a través del email [email protected]

Información adicional: Encontrarás más información en la política de privacidad.