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. Estimados Amigos, Buenas tardes, tengo un archivo que genera pdf a partir de la información que existe en una hoja de excel; que esta a su vez importa información de un archivo *.txt El problema es que al importar estéticamente queda disparejo y sin presentación que valga la pena. No sé si haya alguna forma de importar esta información sin tener que utilizar las opciones establecidas por excel de divir las columnas al importar o copiar el texto directamente. Alguna forma de importar con una macro talvez leyendo el texto del archivo txt, alguna guía o sugerencia? Quedo muy agradecido con todos.. El archivo en cuestión: https://driv…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 2k visitas
  2. Started by Carlos1986,

    Buenos dias, teng 2 consulta 1-tengo un formulario donde tengo varios botones de opción, necesito que la opción que escoja el usuario se grabe en una celda de excel en especifico 2-Hay una etiqueta que necesito tambien grabar en una celda en excel (la etiqueta de descripción) Variables.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 892 visitas
  3. Started by SALAVERRINO,

    Buenos días a los integrantes de este foro, en esta ocasión recurro a uds, para que brinde su apoyo en como mejorar la siguiente macro, lo que requiero es que me permita seleccionar la ruta donde se encuentra el archivo a utilizar, ya que esta macro ejecuta todos los archivos que se encuentran en dicha carpeta (previamente haber copiado todos los archivos a una carpeta determinada) y lo otro sería que si solo mostrara los archivos que empiecen con el nombre CONSOLIDADO xxxxxxxx.xlsm o CONSOLIDADO xxxxxxxx.xlsx, para lo cual adjunto archivos como ejemplos. archivo principal: MUESTRA FORMULARIO.xlsm Private Sub CommandButton2_Click() Dim ruta As String Dim …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.5k visitas
  4. Started by Bërto77,

    Buenos días: Necesito el código para copiar el valor de la última celda escrita de una fila. Espero que me podáis ayudar. Un saludo

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 862 visitas
  5. Buen dia estimados... por favor me pueden ayudar con esta solicitud Llevar los Valores de los textbox a las celdas que indique, pero Sin insertar celdas llevar textbox 26 a hoja "Reclamo " celda E8 llevar textbox 27 a hoja "Reclamo " celda F8 llevar textbox 28 a hoja "Reclamo " celda E9 llevar textbox 29 a hoja "Reclamo " celda F9 y en Textbox 51 Vaya Mostranto total desde ya muy agradecido de Uds Reclamo2.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 949 visitas
  6. Started by fernanda,

    Hola, muy buenas exceleros. Felicitaciones por el foro. Con unos compañeros hemos desarrollado un programa para el apoyo de la gestión y control de producción; el cual consta de varios formularios y módulos. Nuestra idea no es ocultar ni proteger el conjunto de códigos, sino de ocultar un solo código que se encuentra dentro de un formulario, el cual hace el llamado a un módulo, hemos logrado ocultar ese módulo (no se abre ese módulo), pero no hemos logrado ocultar el código dentro del formulario, por lo tanto, se pretende ofuscar ese código totalmente o hacer invisible solo la línea del llamado al módulo (si esto es posible), sin embargo, no lo hemos conseguido, solo hemo…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.2k visitas
  7. Started by Romeo,

    hola, tengo una plantilla de excel que descargue y he estado intentando adaptarla a la necesidad. Pero requiero que el formato haga varias cosas de forma automática y no se como entrarle o que hacer para lograr los cometidos, a saber: En la hoja "lista de producciones" se encuentra una lista con datos que se deben repetir en función a la cantidad de partes. Y en la hoja "lista de ubicaciones" se despliegan los datos en función a la cantidad de partes (1/3, 2/3, 3/3...) y a cada parte se le agrega una ubicación. FORMATO NUEVO.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.4k visitas
  8. Buenas tardes. Tengo una hoja que ordena unos números del 0 al 9, desde la columna A hacia las siguientes, B , C. etc. Es un juego donde un número predefinido en la LINEA 1, indica que el número anterior IGUAL, ya debe desaparecer de la lista, de la posición de la columna anterior. Hice una macro que modifica los formatos según el número de la celda, produciendo el efecto que se puede mirar en el ejemplo que adjunto del archivo ARCOIRIS.XLSM. Necesito ayuda para modificar tres cuestiones muy difíciles para mí. 1.- Que la macro trabaje únicamente con los números de la línea 1, y no sea necesario que estén ubicados en la columna A, (ver ubicación en el archivo). 2.- Al fin…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 704 visitas
  9. Started by Dinkys,

    Buenas tardes, Estoy utilizando esta fórmula =NSHORA(HORA(E2), MULTIPLO.SUPERIOR(MINUTO(E2), 15), 0), para redondear hacia arriba los minutos y horas y me da error al meterla en la excel, a ver si alguien me ayuda a ver como lo hago : EJEMPLOS si : 02:52 me devuelva 03:00, si 01:12 me devuelva 01:15, si 01:23 me devuelva 01:30, si 01:34 me devuelva 01:45. muchas gracias por anticipado.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.6k visitas
  10. Started by pedrosilv,

    Buena tarde, es un gusto saludarles nuevamente. Acudo a solicitar su apoyo, dado que no he logrado que una macro que tengo, realice lo que necesito. Resulta que necesito que tengo un archivo con dos hojas: INICIO y GUARDAR. En la fila 4 de la hoja INICIO deseo incluir diferentes valores, los que posteriormente, deseo que se copien y peguen en la hoja GUARDAR, sin embargo, necesito que previo a guardar, la macro verifique que la información no haya sido guardada previamente. Para ello, incluyo un valor en la celda F1 ó A4 de la hoja INICIO, y deberá comprobar que éste número no se encuentre en ninguna celda de la columna A de la hoja GUARDAR. Si la mac…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  11. Started by CarlosKurt,

    Hola a tod@s. Agradezco de antemano su tiempo y respuesta a los siguiente. En la hoja "RESUMEN" se encuentran los códigos de clientes y en las siguientes hojas se nombran cada código de cliente. Entonces lo que se requiere es que, por ejemplo, que en la hoja "A 030-028" se crea un hipervínculo hacia la hoja "RESUMEN", PERO con dirección hacia la celda A4 ya que es el nombre de la hoja "A 030-028". Y así sucesivamente con las demás hojas. Lo haría manualmente pero son mas de 800 hojas. Creo que esto solo se puede lograr con Macros, pero si hay la posibilidad de realizar sin ello estaría perfecto. Saludos PRUEBA.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 825 visitas
  12. Buenos días! Amigos estoy buscando una solución que me permita enviar un correo en nombre de otra cuenta, en lo que he logrado leer es posible, la siguiente instrucción trabaja bien, pero al momento de intentar agregar .AddAttachment "C:\Users\jballadares\Desktop\Comprobante.pdf", me salta el siguiente error (imagen adjunta), podrían ayudarme como resolverlo de forma que me permita adjuntar un documento : Sub SendEmailOnBehalf() Application.ScreenUpdating = False Application.DisplayAlerts = False Dim olMailItm As Outlook.MailItem Set olMailItm = Outlook.CreateItem(olMailItem) With olMailItm .SentOnBehalfOfName = "Boletarecolectores@do…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 3.3k visitas
    • 1 seguidor
  13. Buenas tardes!!! Me podéis echar una mano para crear una macro que haga lo mismo que la formula??. La fórmula lo que hace es contar los artículos diferentes de un mismo cliente. Pensaba que con la formula iba a ir muy bien pero…al tener tantas filas en algunas de las hojas ( aprox. 8000 líneas ) tarda mucho la macro. Gracias de antemano. Un saludo, Ejemplo02.xlsx

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1k visitas
  14. buenas tardes, escribo con la finalidad de solicitar ayuda en cuanto a una base de datos en la cual tengo 11 columnas de las cuales las 7 primeras tienen valores duplicados, y en las 4 ultimas estos valores deben sumarse al eliminar duplicados.cargo un excel con dos hojas, Hoja1 como se muestran los duplicados y Hoja2 como debería ser el resultado.espero me puedan colaborar con esta base de datos.Gracias de antemano Prueba Utilidades.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 5.3k visitas
  15. Hola a todos, si alguien me puede ayudar con lo siguiente:Tengo una hoja con varias boletas de pago, la cual su rango es variable y lo que necesito es establecer el rango de impresión, tal como se muestra en el archivo adjunto. Muchas gracias. BOLETAS.xls

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 3.5k visitas
  16. Hola a todos, por favor si alguien me puede ayudar con lo siguiente: Tengo un reporte de varias boletas de pago, cada boleta tiene un número de DNI Necesito que en base al criterio de la celda número de DNI (celda color verde), de la hoja “BOLETAS”, haga una búsqueda en la hoja1 Columna “A” y si coincide con el número de DNI de cada boleta, que copie el cargo (columna C) que le corresponde y la ubique debajo de la celda Cargo (celda color rojo) de la hoja “BOLETAS”. De la misma forma con los datos de la columna D de la hoja1, se hace una búsqueda en base al número de DNI y de coincidir con lo asignado en cada boleta de la hoja “BOLETAS”, se debe copiar los …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
  17. Started by juanmanuel85,

    Que tal, les cuento mi problema: Tengo una macro que envia correos a una columna determinada, gracias a la ayuda de los chicos del foro al agregarle la funcion "specialcells(2) inclusive puedo enviar correo aunque no esten todas las celdas completas... ( ejemplo en el archivo"FUNCIONA BIEN SIN CONDICIONAL") Agrege una hoja al archivo ("datos ")para hacer una condicion en la que si el estado del usuario es VENCIDO, figure un email en esa columna,sino " "... y ahora me sale un mensaje de error 1004 "NO SE ENCONTRARON CELDAS" al apretar el boton en la pestaña CORREO. adjunto los dos archivos el que anda bienj sin condicional y el que estoy teniendo probl…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.8k visitas
  18. Started by MarcoP,

    Buenas noches. Por favor requiero ayuda para dar formato condicional a una celda de entre 10 celdas, debe ser fondo negro y letra roja. (Las celdas tienen ya diferentes colores CON FORMATO CONDICIONAL que configuré con una macro, pero requiero señalar la celda con un color especial que resalte la ubicación. La celda a11 indica dónde estará ubicada la CELDA que deberá tener ese formato diferente. Ejemplo: a1 6 3 5 0 9 2 8 7 1 4 a11 3 Agradecería la ayuda que se me brinde. Marco Porras. PD: Publiqué en dos

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.3k visitas
    • 1 seguidor
  19. Started by Marco Corrales,

    Buenas tardes, gusto saludarles. Primero que nada comentarles que tengo toda la mañana investigando y recurro a ustedes en última instancia. Tengo el siguiente código: Private Sub lbl_aceptar_Click() If ActiveCell.Address = "$E$115" Then If check_box_1.Value = True Then Hoja1.Range("$E$115").Value = check_box_1.Caption ElseIf check_box_2.Value = True Then Hoja1.Range("$E$115").Value = check_box_2.Caption ElseIf check_box_3.Value = True Then Hoja1.Range("$E$115").Value = check_box_3.Caption End If End If If ActiveCell.Address = "$I$115" Then If check_box_1.Value = True Then …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.6k visitas
  20. Hola buen día, nueva mente necesito de a su valioso apoyo, requiero de una macro que me permita copiar datos de una hoja de acuerdo con varias condiciones en otra hoja, necesito actualizar un stock y no deben aparecer los lotes que ya salieron, dentro del archivo adjunto les muestro tres hojas de calculo, donde vienen las especificaciones. espero que alguien pueda apoyarme, de antemano muchas gracias EYS-STOCK.xlsx

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 2.2k visitas
  21. Invitado Juan Pelfort
    Started by Invitado Juan Pelfort ,

    Hola de nuevo, tengo un programa (sacado de consultas por foros de Internet) que me funciona perfectamente, se trata de cambiar el color de una forma, (es un círculo) pero no consigo hacer lo mismo si tengo 10 o mas círculos, como puedo hacerlo ? Mando código para una forma pero como hacer para cambiar a mas formas ? Gracias a todos Private Sub Worksheet_Change(ByVal Target As Range) 'Updateby Extendoffice 20160704 If Intersect(Target, Range("B1")) Is Nothing Then Exit Sub If IsNumeric(Target.Value) Then If Target.Value < 100 Then ActiveSheet.Shapes("Oval 1").Fill.ForeColor.RGB = vbRed ElseIf Target.V…

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 2.5k visitas
  22. Hola a todos!! He grabado la siguiente macro pero cuando quiero cambiar la sentencia me da error. "Selection.AutoFill Destination:=Range("K2:K631256") Range("K2:K631256").Select Selection.AutoFill Destination:=Range("K2").End(xlDow) Range("K2").End(xlDow).Select Os pongo la macro entera a continuación. Muchas gracias de antemano por la ayuda. Sub AÑADIRFORMULASFUENTEDEDATOS() ' Columns("J:J").Select Selection.TextToColumns Destination:=Range("J1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=False, Space:…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2k visitas
  23. Buenas tardes, tengo una procedimiento que estoy modificando para contar los registros de una tabla access y verlos en un textbox de un formulario excel vba, pero el resultado siempre me sale -1 y en la tabla hay 4 registros. Sub Consulta_Registros() Dim conexion As ADODB.Connection Dim recordset As ADODB.recordset Dim Consulta As String Dim MiBase As String Set conexion = New ADODB.Connection MiBase = "\DBClientes.accdb" conexion.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source=" & Application.ThisWorkbook.Path & Application.PathSeparator & MiBase Consulta = "SELECT * FR…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.5k visitas
    • 1 seguidor
  24. Started by lphant,

    Buenos días Chic@s; Que tal estáis??, ya estamos a viernes ;) Ayer se me vino a la cabeza una mejora para una de las macros que tengo pero…..me fallan cosas. Tengo una macro que hace una consulta SQL a una base de datos Access, esa consulta en vez de llevármela a un Excel, quiero que me la muestre en un userform ( la cantidad de columnas y de filas a mostrar de la consulta puede variar ) y que pueda ordenar los datos al pulsar sobre el encabezado ( esto es lo que veo más difícil ). Lo que he hecho en alguna otra ocasión ha sido, hacer la consulta, abrir un nuevo Excel, copiar los datos en ese nuevo excel, mostrarlo en un ListBox y una vez consultado, c…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.7k visitas
  25. Hola!! Recurro a vosotros desesperada!! Llevo un mes intentandolo, he mirado miles de tutoriales y no sé como hacerlo. He de decir que estoy aprendiendo y todo de manera autodidacta. Me he descargado varios ejemplos de macros, de este ,foro y ni con esas lo he logrado... . Mis jefes me han solicitado lo siguiente: Necesito unir los archivos excel que están guardados en una carpeta de nuestro sharepoint. Dichos archivos son libros .xlsm, cada archivo varía en el nombre, ya que corresponden a áreas diferentes, es decir: En el sharePoint hay una carpeta llamada Modelo Fichas Iniciativas, y dentro de esa carperta se van guardando los libros de excel llamados Fich…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.2k 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.