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. Hola amigos, soy nuevo aca, y es la primera vez que uso excel y VB para programar una macro. La cuestión es que hice una macro para impresión de cheques: Un formulario que permite ingresar solo el monto, luego lo traduce automáticamente a letras, y la fecha de pago. Los demás datos son constantes, como por ej la fecha de emision (toma la fecha del sistema al momento de imprimir)... Los cheques vienen en hojas de papel continuo para enganchar en impresoras matriz de punto. Son como el papel continuo normal, pero mas angostas. Mi problema es el siguiente: Una vez que termino de cargar todos los cheques, mando a imprimir. En la hoja n°1 imprime perfecto ,la segunda hoja y…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.9k visitas
  2. Que tal, de antemano agradezco el apoyo que se pueda brindar sobre esta duda, aclarando que ya he buscado en Google (lo que me llevo hasta este foro de expertos, donde también llevo algunos días buscando pero nada parecido a mi necesidad), de las búsquedas realizadas ya tengo una macro que copia un rango y lo pega como HTML en el cuerpo del Mail, mi duda es ¿Cómo puedo pegar ese rango seleccionado como imagen (png, jpeg, bmp, etc) en el cuerpo de un Mail?... Claro mediante una macro...

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.9k visitas
  3. Started by pinoji,

    Buenas tardes colegas. Espero se encuentren bien de salud. En un Proyecto que terminé hace un par de meses me está dando el Error 91 en Tiempo de ejecución... Este Error lo está dando en el FrmRetenciones (cuando se va a Cargar). Dicho Formulario prácticamente lo hizo el profesor Antoni a solicitud de una ayuda de mi parte. Trabajaba perfecto hasta hoy, que traté de hacerle una modificación al Sistema, porque necesito que las cuentas que Agregue al Clasificador General (FrmACuenta) en el Rango de las 460 001 a la 460 007 me las imprima en la HojaBase (E28) y en la Hoja Comprobante1 (A16). Estuve revisando y no me doy cuenta de dónde está el error. Por…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.9k visitas
    • 2 seguidores
  4. Started by moroquito,

    Buena Tarde a todos: Tengo una macro que ejecuto para registrar datos a otra hoja, pero me gustaria automatizarla. es decir que esta se autoejecura despues de mandar a imprimir mi hoja. Gracias Macro Registro.txt

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.9k visitas
  5. Hola a toda la comunidad tengo un problema en mi gestor de inventarios que estoy desarrollando. (NUEVO TEMA Ya que el anterior se cerró). Como se ve en la imagen ese ListBox emergente que sale para escoger el producto que quiero realizar una devolución de venta, solo me permite agregar hasta 9 datos, en los ultimos estan sin información porque no me permite agregar más y me salta ese error de la imagen. Private Sub UserForm_Activate() Me.ListBox1.Clear items = Range("tbl_Salidas").CurrentRegion.Rows.Count For i = 2 To items If LCase(Hoja6.Cells(i, 8).Value) Like LCase(frm_DEV_Ventas.ComboBox1.Value) Then Me.ListBox1.AddItem …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.9k visitas
  6. Saludos a todos soy nuevo en esto de las macro , requiero ayuda de la macro que esta puesta en el link del señor : Sergio Alejandro Campos la ayuda o quizas duda es que me sale en el ejemplo asi : INSERT INTO Tabla () VALUES ('Nombre1', 'Telefono1', 26,'Direccion1', 'Puesto1') deberia ser asi INSERT INTO myTabla VALUES ('Nombre1', 'Telefono1', 26,'Direccion1', 'Puesto1') sin los parentises antes de values o no se usar disculpen muchas gracias EXCELeINFO – Excel vba e información - Generar sentencias SQL INSERT INTO en Excel

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 2.9k visitas
  7. Started by Carri,

    Buenas tardes Tengo una pequeña Macro en VBA en la que registro un inventario y en una celda me inserta la imagen asociada a un código. Lo que necesito es que la imagen o se centre en la celda o se redimesione para ocupar la totalidad de la celda. La Macro creo que la descargué de un enlace de Macro Antonio y la he adaptado a mis necesidades, pero me he quedado estancado en lo de la foto. Prueba2.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.9k visitas
  8. Hola: Adjunto un macro que me suma por separado la columna A de 3 hojas de un libro. Lo que necesito ahora es sumar los resultados de cada una de las hojas y me lo muestre en un MsgBox. De paso, si podéis simplificar la macro propuesta, mejor que mejor. Saludos. Sumar Hojas.zip

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.9k visitas
  9. Hola a todos; -Me habían pasado una macro que adjunto en la que se puede editar desde el listbox. Lo que no se modificar es lo siguiente: Abro el formulario, selecciono desde el listbox el registro a seleccionar y este lo pasa a los textBox. Cuando presiono el botón editar se edita el registro pero me lo pone de primero en la hoja. Yo lo que quiero es que quede en la hoja en la misma fila y no me lo mueva de posición. Adjunto un video explicando el tema: Video: EditarListBox Un cordial saludo para todos. EditarListBox.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.9k visitas
    • 1 seguidor
  10. Buenas noches a todos y todas, tengo un formulario muy sencillo con diferentes campos que se activan en cascada. Los dos últimos campos son ListBox que se cargan a partir de unas listas en función de la selección que hemos ido haciendo antes. Me funciona todo bien... el problema que tengo es que se modifica el alto de los cuadros del listbox y quiero que quede fijo, como la he diseñado en el formulario "original". En el caso que las listas ocupen más espacio del tamaño del ListBox, se activan los scrolls tanto vertical como horizontal para que el usuario pueda ver todo el contenido. Al modificar su alto lo que hace es que el ListBox me tape unos botones que nec…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.9k visitas
    • 1 seguidor
  11. Started by jorbarq,

    Muy buenos días tengan todos: El siguiente código esta enlazado a un boton, que me transfiere los datos de una listbox a otra ( de LSTART a LSTARTFIN). Ambas listas tienen tres columnas con datos de productos. Lo que necesito es Que la primera y segunda columna de LSTART se transfieran a la segunda y tercera columna de LSTARTFIN. Y si fuera posible (sé que si lo es), agregar un número consecutivo en la primera columna de LSTARTFIN. Private Sub BTNAGRART_Click() If LSTART.ListCount <> 0 Then LSTARTFIN.AddItem LSTART.List(LSTART.ListIndex, 0) x = LSTARTFIN.ListCount - 1 …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.9k visitas
  12. Started by highlander38,

    Buenas noches gente! Estoy enfrascado en una macro, que me extrae el trabajo diario en hoja2, a partir de la fila 17. Luego, cada 30 filas se copia automaticamente a Hoja3, las siguientes 30 filas a Hoja 4, asi sucesivamente. Me imprime la primera hoja, (ya he puesto por macro cual quiero que sea la impresora predeterminada), pero lo que no se si se podra hacer, es que si en la hoja2, hay =< de 30 filas (se puede hacer tambien por la columna A), desde las filas 17 a 46, que me imprima la hoja3. Si hay entre 31 y 60 filas, entre las filas 47 a 76, que imprima tambien la hoja4, si hay entre 61 y 90 filas, que imprima hoja5. Espero haberme explicado bien. Gracias por …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.9k visitas
  13. Buenas noches, Estoy detrás de manejar exclusivamente desde un formulario VBA la información de un libro excel. Para ello lo que quiero es abrir el xls sin que se vea la hoja excel. Al salir, que siga sin verse la hoja y se cierre el formulario. Se tendrían que ver con normalidad otros libros excel que puedan estar abiertos abiertos. Bueno, aquí dejo el ejemplo de partida, que, como podéis ver, previsualiza el libro antes que el formulario. Gracias anticipadas, Juan. Prueba Arranque.xls

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.9k visitas
  14. Started by PATILARGO,

    Muy buenas a tod@s y muchas gracias de antemano, tengo un calendario en el que quisiera que se rellenaran las celdas desde una fehca hasta otra, una vez se lo indique las mismas., para no tener que hacerlo manualmente,muchas gracias por su ayuda. RELLENAR FECHAS.xlsx

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.9k visitas
  15. Started by pericleoscs,

    hola a tod@s... tengo un form con 2 combobox depiendientes que me llenan un listbox, solo me faltaria que el combobox2 no me muestre duplicados,,, no logro resolverlo,,, si alguin tiene ganas de ayudarme.... gracias de antemano!!! Combobox dependes llena listbox.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.9k visitas
  16. Started by eugeniocol,

    Hola buenas. Necesitaria una macro para copiar pegra de una hoja a otra con un criterio. Copiar pegar L:R si en R >0 Salud2.

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 2.9k visitas
  17. Buenas tardes. Soy nuevo en su espacio, también en Excel-Vba con macros. No podré aportar conocimiento ni asistir a la plataforma, sólo serán peticiones de ayuda. Lo lamento y agradezco enormemente. Estoy haciendo unas macros que abren páginas web, que ejecutan la extensión Chrome Instant Data Scraper, que toman datos y los tratan sin problemas. Lo que necesito es : poder cerrar todo lo abierto, tanto las páginas web como las ventanas en la barra de tareas de Windows. Muchísimas gracias, y un saludo. Manel.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.9k visitas
    • 1 seguidor
  18. Tengo un problema, necesito que el formulario dependiendo de un criterio empiece a guardar la información desde la celda A1 o desde la celda A18. Estoy utilizando el código: Set Trasladar = ThisWorkbook.Worksheets("XXXXX").Cells(1, 1).CurrentRegion NewRow = Trasladar.Rows.Count + 1 With ThisWorkbook.Worksheets("XXXXX") .Cells(NewRow, 1).Value = Date .Cells(NewRow, 2).Value = ThisWorkbook.Sheets(1).Range("D2") .Cells(NewRow, 3).Value = ThisWorkbook.Sheets(1).Range("D4") .Cells(NewRow, 4).Value = ThisWorkbook.Sheets(1).Range("D5") .Cells(NewRow, 5).Value = ThisWorkbook.Sheets(1).Range("D6"…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.9k visitas
  19. buenas noches , me gustaria saber si alguno de ustedes me puede ayudar con el siguiente caso: necesito que desde un libro de excel poder copiar los datos de algunas celdas seleccionadas en otro libro ejemplo : seleccionar a1-a2-a3 etc y que al precionar un boton en el otro libro me copie los datos de estas celdas seleccionadas . seria importante aclarar que dichas celdas cambiarian a diario de antemano agradezco cualquier ayuda que me puedan prestar , y espero puedan entender el objetivo del caso que estoy planteando , mil gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.9k visitas
  20. Estimados amigos del foro saludos cordiales, Acudo a ustedes para saber como puedo lograr hacer que luego de colocar en los textbox1 y 2 valores cualesquera el rango que yo decida por ejmplo si es 8,6 hasta 14,2 (incluidos) me genere aleatoriamente numeros entre estos valores y se inserten solo en las celdas vacias del rango previamente seleccionado (debe estar seleccionado, caso contario no funciona) me gustaria que se puedan ingresar valores con decimas He realizado algo pero no encuentro como hacer que funciones con muchos valores aleatorios, lo que hace por ahora es colocar el mismo valor aleatorio en las celdas vacias, lo cual no es lo que requiero. …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 2.8k visitas
  21. Started by falexramos,

    Buenas tardes Saludos mi consulta es la siguiente. Quisiera hacer una macro para que digamos ponga a cada rango el nombre especificado de a1, b1 etc. Pero si digamos hubieses nuevos datos después de haber puesto el nombre al ejecutar la macro me borre los nombres actuales y me actualice con los nuevos. Ej. si en a13 no hay datos el rango de (nombre2) seria de a2:a12, pero si mas adelante le pusiera mas datos hasta a17 el nuevo rango seria de a2:a17. gracias por la ayuda. subo archivo. nombres.rar

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2.8k visitas
  22. Hola, no se si es posible, pero llevo unos días pensando en esto y no doy con la tecla. El tema sería que al pulsar una de las pestañas de la cinta de opciones en este caso Frutería que me ocultara la Hoja2 y cuando pulse en Frutería1 me oculte Hoja1 y haga visible Hoja2. Lo de ocultar y hacer visible no es el problema, el problema es como hago referencia a si están o no activas las pestañas cuando pulso sobre una de ellas. pRUEBA1.xlsm

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 2.8k visitas
    • 1 seguidor
  23. Started by eduar5,

    Hola nuevamente, Estoy trabajando en un formato de cuentas por cobrar Clientes pero me he topado con un gran problema y es que le he dado vueltas al asunto pero la cabeza ya no me da para mas. Quiero llevar un control de los clientes que aun me deben y para ello realice un formulario llamado "Abonos a Clientes", en el textbox5 ingreso el número de factura a buscar y si existe los datos me aparecen en los textbox del 6 al 10, de éstos textbox los únicos que se pueden modificar son el textbox8 y textbox9 lo que no logro hacer es que los valores modificas en esos textbox pasen a la celda de donde fueron tomados esos valores. Mi objetivo con ello es buscar la manera de real…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.8k visitas
  24. Started by jdela,

    Hola, me estoy iniciando en las macros. Tengo Microsoft Office 2007 Mi duda es que quiero generar tablas de multiplicar para que mi hijo las repase. Mi idea es que se genere aleatoriamente, por ejemplo con Rnd(), una multiplicación del 1 al 10, por ejemplo, 7 x 5 =, y aparezca el 7 en una celda (A1), el signo por"x" en la siguiente celda (B1), 5 en la siguiente (C1) y el signo igual "="en D1. En E1, por ejemplo, que introduzca la respuesta mi hijo y si es correcta que aparezca en F1 "Correcto" en color verde y entonces se genere a continuación en la siguiente fila (Fila 2) otra multiplicación, por ejemplo 3 x 8 =. Pero si falla en la respuesta de la multipli…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.8k visitas
  25. Started by JosMa,

    Hola, necesito unir un rango grande de celdas, utilizo la función =UNIRCADENAS("";VERDADERO;A19:AS150) y luego voy arrastrando hacia abajo para que haga lo mismo en las filas de abajo, que también son muchas. ¿Con macros se podría utilizar esta función, como sería? Gracias

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.8k visitas
    • 1 seguidor

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.