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. Buenos días, Al extraer los datos de SAP, obtengo más datos de los necesarios y de forma desordenada. Por ello necesitaría realizar una macro para poder automatizar la organización de estos datos tal y como los registro en otro excel. De igual manera sería muy útil si la misma macro me copiara esos datos ya organizados y los ubicará en la siguiente línea vacía de la hoja donde guardo los datos. Me explico. Cuando obtengo los datos de SAP, me aparecen tal que así: De estos datos me interesan únicamente las columnas B, C, F y H, en el siguiente orden: B, F, "Columna vacía", C, H. De tal manera que quede tal que así (ha…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  2. Started by FELIX,

    Hola amigos. Espero me puedan ayudar, tengo una lista de artículos con mas de 1000 ítem, necesito crear una macro en un cuadro de texto que al momento de digitar la primera letra busque y visualice a todos los artículos que comiencen con esa letra, si dígito una segunda letra busque y visualice a los artículos que su descripción empiecen con esas dos letras y así sucesivamente. Adjunto un archivo como ejemplo. Gracias por su apoyo y colaboración. Saludos. FELIX BUSCAR POR CUADRO DE TEXTO.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  3. Hola. Estoy en un proyecto y me he quedado atascado por un simple código, que seguro que tiene una fácil solución pero que llevo horas intentando resolver. He creado un bucle For next que va cargando en una variable Array la posición de la última celda con datos en distintas columnas, empezando por "A" y hasta el final del bucle. El caso es que donde tengo el problema es en la propiedad "Range", me dice que no coinciden los tipos. Seguro que es por la forma de implementar el código pero es hasta donde sé. Es la primera vez que meto el "Range Rows.Count" dentro de un bucle. Pongo el código aquí mismo, si es necesario subiría el ejemplo. For x = 1 T…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  4. Started by Alfonso5597,

    Saludos amigos foreros De nuevo recurro a su ayuda para resolver un problema que me tiene atrancado por mucho que me esfuerzo, intento sumar las horas trabajadas desde 2 listbox los agrego a unos textbox y sumo estos, aqui tengo el problema, tambien me sucede que dentro del list el formato de hora no me aparece Espero que puedan eharme una mano Gracias por anticipado, saludos Prueba.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  5. Hola, Me gustaría saber si es posible que con una formula escriba en diferentes celdas, es decir, en mi caso encontré una fórmula que me concatenaba resultados respecto a un rango (que también me valía), pero ahora querría modificarla para que me "extrajera" los resultados a partir de la celda donde pongo la formula. Pego aquí el código. Function MULTCONCAT(lista As Range) Dim ncell As Range Dim m_concat As String m_concat = "" i = 1 For Each ncell In lista If ncell <> "" Then If i = 1 Then m_concat = m_concat & ncell.Value i = i + 1 Else m_concat = m_concat & " or " & ncell.Value End If End If Next ncell m_concat = …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  6. Hola amigos expertos molestándoles una vez más en mi proyecto tengo un grupo de checkbox´s y mi objetivo es activar desde uno o dos botones de opción y que estos checkbox´s sus nombres cambien de color al activar uno por uno o todo el grupo. Espero que me den una ayudita desde ya les doy mis sinceros agradecimientos no se que fuera de la programación sin ustedes. Gracias Nota. Les envío el archivo Activar CheckBox´s desde un botón de opción con color en nobre de CheckBox.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  7. Started by tinin84,

    Buenas compañeros veran mi problema es algo sencillo talvez hasta cause risa pero por las vueltas que le doy no logro solucionarlo tengo 2 textbox "t1" y "t2", logro hacer que el valor de t1 se iguale en tiempo real a t2, ahora no siempre deseo que el valor de t2 sea igual a t1 algunas ocaciones tendre que editar el valos de t2, mi problema es que no logro sobrescribir el valor de t2, puesto como esta igualado a t1 no me permite cambiar su valor. adjunto el archivo con el ejemplo super sencillo para la persona de buen corazon que me pueda ayudar saludos desde ecuador editar TEXT BOX.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  8. Hola, tengo la siguiente situación y quisiera ver como lo harían ustedes. un aplicativo en mi trabajo hace un reporte el cual lo exporta a Excel y directamente abre el libro, y en este reporte hay muchas columnas que no necesito y quiero borrarlas, puedo crear una macro que elimine todas esas columnas innecesarias pero mi pregunta es si esa macro puede quedar guardada en el excel aplicativo, creo que algún aplicativo de office hacia esto de guardar un modulo publico creo que es outlook, no se si hacer un addin (tampoco se como se hace) y no se si por permisos de usuario después lo voy a poder instalar. que me recomiendan hacer esto al vuelo sin guardar el libro o tener …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
    • 1 seguidor
  9. Started by jbattiato,

    Buenos dias a todos, cree el siguiente codigo porque muchos usuarios diferentes trabajan sobre el mismo archivo, y tienen diferentes accesos y conecciones a los discos de la red, de modo que cada que vez que alguien abría el archivo debia modificar todos los vinculos (son como 10) manualmente. El problema que tengo ahora es que cuando el programa va realizando lo cambios, abre automaticamente varios cuadros de dialogo para seleccionar un archivo que necesita para seguir ejecutandose. Los usuarios le damos cancelar a todos los cuadros de dialogo que aparecen y el codigo sigue su ejecucion normal. Mi consulta es, sabiendo que dando cancelar el programa sigue su ejecuc…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.4k visitas
    • 2 seguidores
  10. Buenas tardes o días a todos; -He creado una macro Vba Excel que por medio de un Userform me hace una consulta a una base de datos Access. Al frm le he puesto un comboBox para elegir la consulta que quiero hacer. Lo he hecho por medio de un condicional "IF" de ahí mi pregunta. ¿Está bien así o hay otro método mejor?. El código del UserForm comento lo que he hecho con '<<< >>> Adjunto macro para mayor comprensión. Gracias y saludos a todos. ConsultaBD.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
    • 1 seguidor
  11. Started by Sonky87,

    Buenas tardes tengo el siguiente problema. En mi trabajo se complica leer el registro de asistencias de los trabajadores, por lo que se pensó en crear un archivo excel con macros para importar el archivo de registro, que se descarga del checador por medio de una usb. El archivo es un .DAT, el detalle es que el archivo descarga todo el registro, desde que se inicio el uso del checador, aproximadamente del 2013. Cree un archivo excel con un boton de importar, el cual hace todo automatico y coloca la semana que ocupo, en este caso del 24/02/2016 al 02/03/2016. el detalle es que en la tabla que tengo, con la formula aplicada, solamente me reconoce la la entrada al trabajo y l…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  12. Muy cordialmente solicito el FAVOR ! de ayudarme con las Conclusiones en TextBox, en Seguimiento de proyectos. 1. En Eficacia Tiempo: =SI(H32<1,"Eficiencia en Tiempo",SI(H32>1,"Deficiencia en Tiempo",SI(H32=1,"Tiempo Programado = Tiempo Ejecutado"))) 2. En Eficiencia Costos: =SI(I32<1,"Eficiencia en Costos",SI(I32>1,"Deficiencia en Costos: Sobrecosto →Deficiente",SI(I32=1,"Costo Programado= Costo Ejecutado"))) 3. En Estado proyecto en Tiempo: =SI(J32=0,"Coincide con Programación",SI(J32<0,"Adelanto en Programación",SI(J32>=1,SI(J32<4,"Atraso Tolerable en Programación",SI(J32>=4,"Atraso en Programación"))))) 4. Conclusión TIR: =SI(R32>…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  13. Started by PanchoMacro,

    Hola a todos, Espero estén muy bien, y puedan ayudarme nuevamente con esta complicación que tengo, bueno les cuento que tengo un código donde utilizo el "Chr" y en mi computador del trabajo no me causa ningún problema, pero al momento de usar la macros en el computador de un compañero, está arroja error. En la imagen sale el error en cuestión, el código utilizado sirve para que en determinado text box nos se pueda escribir nada distinto a un número. [ATTACH]37749.vB[/ATTACH] Espero pronta respuesta saludos.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  14. Hola! amigos del foro quisiera consultar si hay alguna forma en que se pueda validar el usuario que ha abierto en libro, pero no en un evento Workbook_Open, mas bien cuando ya el libro se encuentre abierto esta comprobación se realice en la hoja activa. Lo que busco lograr es si el usuario definido en el código no es el mismo que ha abierto el libro, genere el procedimiento de cerrar el libro activo sin guardar los cambios. Agradezco cualquier ayuda o comentario. Saludos Historial Smart_IntelligenceTools.xlsm

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 1.4k visitas
    • 1 seguidor
  15. Buenos días, tardes o noches ( todas las anteriores XD) Pues tengo el siguiente problema. Hay muchas formulas y macros para la obtener la CURP ( La Clave Única de Registro de Población que se usa en México) pero lo que que yo quiero es desglosarla cuando ya cuentas con ella. Esta integrada así http://segob.qroo.gob.mx/portal/RegistroCivil/Imagenes/ayuda.gif En este ejemplo F15=CANA580702MTSLT00 Extraigo: El sexo =EXTRAE(F15,11,1) Lugar de Nacimiento =EXTRAE(F15,12,2) Fecha de nacimiento =EXTRAE(F15,7,2) solo necesito el mes en MAYÚSCULAS Luego para obtener utilizo la función buscar para obtener los resultados que qui…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  16. Buenas tardes o días a todos; -Hoy traigo un nuevo reto que me gustaría que me ayudasen a resolver si es posible. Se trata de los siguiente: -Tengo un programa de trabajo del cual copio de una tabla de consulta unos valores y después los pego en otra. Hasta ahí todo bien, siempre y cuando en la tabla de origen todas la columnas tengan datos. El problema viene cuando hay una columna que tiene datos en unas filas y en otras no, entonces al hacer el pegado me aumenta una columna. Dejo un video para mejor comprensión del tema. Video: Copiar y pegar datos de origen Buen finde a todos CExcel.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.4k visitas
    • 2 seguidores
  17. BUenas noches, he buscado casos similares en el foro para resolver casi la parte final de mi problema pero no he podido hallar solución, les adjunto archivo donde he estado avanzando mi macro, en la hoja3 tengo 02 combobox uno con el nombre de Oficina y el otro con el tipo de encuesta: cliente incógnito y post transacción, mi consulta es cómo puedo hacer para actualizar la información cuando selecciono otro nombre de Oficina del combobox, solamente he hecho para actualizar la información cuando cambio el tipo de encuesta Gracias Saludos Tabla Preguntas 2.zip

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
  18. Hola a toda la comunidad, gusto en saludarles. Estoy tratando de generar un archivo Word desde una pestaña (3 - crear word) que contiene los datos en Excel, para ello tengo las siguientes pestañas 1.- "Dimensiones": aquí son están los maestros de cada una de las dimensiones. 2.- " 1 - Base de datos": Aquí tiene 3 partes: 2.1 grilla de los datos: esta esta toda la información de los pacientes de acuerdo a la combinaciones posibles de las dimensiones (se ingresa manual y asi esta bien)... obs: si existen un datos en la columna B, en la columna A debe ir un botón "agregar" cuya funcion es copiar los datos de esa fila a la hoja "2 - resumen"…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.4k visitas
    • 1 seguidor
  19. Hola nuevamente, Esta vez con la siguiente consulta. Existirá un código que pueda realizar lo siguiente: Que desde el userform2 se pueda filtrar de manera vertical y horizontal la información que puedan existir en las filas y columnas de tres hojas llamadas "Caja General", "Visanet" y "Credomatic", tomando como base el código de la sucursal y un rango de fecha. Si en las tres hojas encuentra información que contenga el mismo código y el mismo rango de fecha que muestre la información como si fuera vista previa o bien como si se tratara de un reporte, puede ser que solamente se encuentra información en dos hojas, eso dependerá del movimiento que tengan las sucursales. …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.4k visitas
  20. Started by Rogeliobus,

    Muy Buenas amigos del foro: Estoy intentando capturar datos mediante un formulario pero al gardar los datos me presenta un error, el codigo que he escrito es el siguiente: Private Sub CommandButton6_Click() Dim fecha As Date Dim sucursal As String Dim ingpart As Double Dim factpart As Double Dim inginst As Double Dim factinst As Double Dim exapart As String Dim exapsv15 As String Dim exapsv10 As String Dim exaemp As String Dim exaprom As String Dim exacort As String Dim exaoftalm As String Dim valexapart As Double Dim valexapsv15 As Double Dim valexapsv10 As Double Dim valexaemp As Doub…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k visitas
  21. Qué tal, estoy teniendo problemas intentando eliminar la fila completa si no encuentra el valor en el vlookup, intenté filtrando y eliminando después del vlookup, en la condición del vlookup intenté la función .entireRow.Delete y aunque no me marca error, nunca termina de ejecutar la macro completa. ¿ Cómo puedo eliminar la fila completa del valor que no encuentre en el VLOOKUP ? 'VLOOKUP Dim Celda As Range, z As Long Application.ScreenUpdating = False Range("L:L").Clear For z = 2 To Range("B" & Rows.Count).End(xlUp).Row Set Celda = Sheets("Copia").Range("A:A").Find(Range("B" & z), , , xlWhole) If Not Celda Is Nothing Then …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  22. Started by Nodoka,

    Buenas estoy puliendo unas cosillas en mi lista de excel y me ha surgido esta duda, pongo en situación mi userform carga los valores de cada celda al desplazarme, ahora bien si yo al pulsar un botón en una celda este me escribe varias cosas en diferentes celdas de la misma fila que activan según los datos que se hayan introducido en esas celdas me activa unos label con unas imágenes determinadas determinados en el formulario, pero para que esos label se activen el userform debe refrescarse sobre la linea en al que me encuentro, para ello uso este codigo que tras pulsar el botón e introducir los datos me mueva de derecha a izquierda la celda de la fila en cuestión sele…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.4k visitas
    • 3 seguidores
  23. Started by JosMa,

    Hola Tengo una parte de la macro que por MsgBox se tiene que seleccionar un archivo (hasta aquí funciona) Do While Olb <> 1 MsgBox "Selecciona archivo ", , "" Olb = Application.GetOpenFilename If Olb <> "Falso" And Olb <> "" And Olb <> 1 Then Exit Do Loop Pero cuando de ese libro que se ha abierto tengo que seleccionar diferentes hojas y luego copiar, me falla en esta linea: Workbooks.Open(Olb).Sheets(1).Copy After:=Workbooks(2).Sheets(3) Me podríais ayudar a encontrar la solución Saludos

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
    • 1 seguidor
  24. Started by nitrito,

    Estimados: Desde ya gracias por su ayuda. Les explico un poco lo que debo hacer: Recibo documentos, los cuales tienen un numero de cuenta el que debo ingresar (llámese previsación). Luego, ese documento va a otro proceso interno, y puede que vuelva hacia mi nuevamente(llámese liquidación). La cosa es que cuando previso y guardo los datos, estos se guardan en otra planilla con fecha y hora. Sin embargo, si recibo nuevamente el documento con un número de cuenta ya guardado en previsación, este al guardarlo nuevamente no se guarda con la fecha actual. Entonces necesito por favor, en esta macro (que me ayudaron a crear) lo siguiente: -Si es que es pos…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  25. Started by gustav2704,

    hola necesito un codigo que me liste las propiedades de una celda en access tenia algo parecido a esto para las porpiedades de un fomulario, algo como si dim pr As Property For Each pr In Me.Properties Debug.Print pr.Name; "="; pr.Value Next [/CODE] necesito algo parecido pero para las propoedades de una celda en excel grcias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k 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.