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 MarianoCruz,

    Hola buenos días, Tengo un archivo que utilizo para buscar carpetas dentro de una ruta indica. Con una parte del nombre de la carpeta busca y me da las rutas coincidentes, y con otra macro vinculo esa ruta para abrirlo. Pero me encuentro con el problema de que hay rutas que no puedo abrir, si estos tienen acentos. Mi consulta es existe otra manera de poder abrir estas rutas aun teniendo acentos. ya que tengo muchas carpetas. Muchas gracias Abrir Link.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 320 visitas
    • 1 seguidor
  2. Started by MarianoCruz,

    Hola buenas tardes: Tengo la siguiente estructura de macro: Sub AjustarRangoD() Dim rngC As Range For Each rngC In [Anexos!d14:d20] AjustarTextoEnCeldasCombinadas rngC.MergeArea (macro para ajustar tamaño a los rangos indicados) Next rngC End Sub funciona bien, pero cada que abro mi libro, este me marca un error 424 se requiere un objeto. y marca en amarillo la 2da linea de mi macro. y detiene la ejecución de la macro. Esta macro la llamo dentro de una estructura Worksheet_Calculate() Public Sub Worksheet_Calculate() Static ValorPrevio Application.EnableEvents = False ' Prevenimos un posible bucle debido a cambios en la hoja ' …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 318 visitas
    • 2 seguidores
  3. Buenos días: Dentro de un libro tengo una hoja "Datos" en la cual tengo referencias a una ruta "B4" y archivos a abrir (columna C), con una macro puesto en thisworbook (llama a otros archivos), este funciona bien. Los archivos los tengo en la misma carpeta guardadas en mi USB, trabajo siempre en la misma Laptop y por defaul asigna la letra D:, pero por nuevas necesidades debo trabajar en diferentes equipos pc o lap. y mis archivos no abrieron. tube que cambiar la letra de la ruta asignada, con la actual a mi usb manualmente. Se que puedo poner con una macro la ruta actual de un archivo abierto. Worksheets("Datos").Range("B4").Value = ThisWo…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 314 visitas
    • 1 seguidor
  4. Buena noche foristas. Es un gusto saludarles y solicitarles su apoyo en lo siguiente. Hace un tiempo obtuve el apoyo de @JSDJSD para una macro que agrega una fila de totales y subtotales en la hoja CUADRO. En esta hoja se importa información de la hojas DATOS. En la actualidad me funciona bien, en la hoja CUADRO cuenta con 2 columnas denominadas DAP y VOLUMEN. Al final se suman los totales, pero mi deseo es que en la fila Total aparezca la Suma de VOLUMEN (que lo hace muy bien), pero en la columna DAP, obtenga el PROMEDIO de las filas SUBTOTALES, que es lo que aún no logro modificar. Si pudieran apoyarme, se los agradecería. La macro es esta: Sub E…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 310 visitas
    • 1 seguidor
  5. Started by alejandroro61,

    Hola!! Antes que nada quiero contarles que no sé crear macros. Solamente aprendí a grabarlas. Necesito que alguien me ayude con la planilla que adjunto. Son etiquetas que se completan con datos todos los meses en Columna A y B, debajo de la palabra “DETALLE”. Están armadas de esta forma para que al imprimirlas, me quede cada una dentro de una hoja. Mi inconveniente es que todos los meses varian la cantidad de filas tengo que cargar datos y cuando quiero imprimir se me desconfiguran las hojas. Como muestra dónde se cargar datos, completo la etiqueta “AMFFA” Enero. Estuve tratando con una Macro que encontré en Internet pero, solamente me oculta filas vacias y se repiten tít…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 308 visitas
    • 1 seguidor
  6. Started by Angel Manuel,

    Hola buenas a todos. Hace unos cuantos días estoy intentando trabajar con datos filtrados porque necesito que los datos filtrados en la columna A (No. Pre Factura) quisiera que se concatenaran, he probado varias formas, pero por desconocimiento no he logrado nada, cuando lo intento me concatena todos los datos estén visibles o no. Lo mismo con las columnas G, I, K, M, O, Q (COD1, COD2, COD3, COD4, COD5, COD6) que busco la forma de unir todos los códigos iguales y que me sume sus respectivas cantidades probando con tablas dinámicas, con la función subtotales, pero igual no lo he logrado. Les agradecería si me ayudaran a resolver mi problema. Gracias Dejo aquí el docum…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 305 visitas
  7. Started by Moroquito23,

    Hola buenas noches: En una hoja donde listo mis archivos necesito mandarlos a imprimir celda x celda En la columna B tengo listado los archivos con su ruta completa. Ruta y nombre del archivo. Me gustaría poder imprimir estos sin necesidad de abrir cada uno de ellos. ya que previamente hice una revisión. Tengo una macro, que me había funcionado en otro archivo, pero no puedo aplicarlo aquí. Esperando que me puedan ayudar. Muchas gracias Mario Imprimir Rutas con archivo.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 304 visitas
    • 1 seguidor
  8. Started by Gsus,

    Buenas, Tengo un fichero con una hoja "INICIO", que tengo que transformar en lo que figura en hoja "FIN". No se me ocurre cómo hacerlo con macro. En el ejemplo os he puesto 3 fechas. Vienen en horizontal: fecha y luego las horas hasta 24 con su concepto. Tengo que trasponerlo y dejarlo como en hoja FIN. La parte de copiar y trasponer bien, pero no se me ocurre cómo añadir la fecha esas 24 veces en la primera columna hacia abajo por tantas fechas como existan en hoja INICIO. ¿Alguna idea? Gracias de antemano. EJ_FECHAS.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 302 visitas
  9. Started by erpunta,

    Tengo una macro que desde un txtbox ingresa un valor en una celda determinada, lo que ocurre que ese valor a veces es una fecha y a veces es texto. Indica la caducidad de un elemento, entonces introduzco por ejemplo 01/01/2025, pero en ciertas ocasiones ese elemento no caduca y entonces escribo "NO EXPIRED", pero siempre me muestra el resultado como fecha 00/Jan/0000. El codigo es TxtCYellow = CDate(.List(i, 13)) cuando es fecha, pero para introducir texto? Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 302 visitas
    • 1 seguidor
  10. Started by crengifo,

    Buenos dias estimados, Quisiera que me ayudaran con lo siguiente, tengo una hoja donde debo extraer datos de las columnas N, O, P y R (Molinos 3 y 4) y K, l , M y O (Molino 5) si los hay segun mes solicitado en la celda C2 de la hoja Resistencias de tres procesos para 3 molinos. La idea es que me traiga los días del mes solicitado, el tipo de cemento y las resistencias. Las resistencias están en en las columnas N, O, P y R para los molinos 3 y 4. Y para el molino 5 están en lasa columnas K, l , M y O. Yo tengo una macro pero solo me trae los datos del día que solicito. Adjunto los archivos (Como hago para enviar un …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 289 visitas
    • 1 seguidor
  11. Buenos días: Tengo el siguiente problema. Básicamente mi necesidad es de una lista datos que tengo en una hoja 1 pasarlo a la hoja 2. La lista está en la columna B, cada nombre en la columna C esta clasifica según un código de ID, esto lo hago manual, Y en hoja 2 debo poner los datos de la columna B, en diferentes columnas de la hoja 2. En la hoja 1 Puse una tabla sencilla colocando mi ID y la columna en donde deberá ir cada celda. La idea es que con una macro revise la columna C de la hoja 1 y según el Id puesto deberá poner la celda B en la columna indicada. Ejemplo: celda B3 (nombre) C3=código BN En mi tabla el ID:BN …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 287 visitas
    • 1 seguidor
  12. Saludos, Tengo formulas en varias celdas que se alimentan de una Tabla llamada TablaSubAlim la cual reside en el mismo Workbook.. Sin embargo ahora he tenido la necesidad que esta tabla se alimente desde una Tabla que está en Access. Con este código logré hacer esa conexion de manera automática. 'Private Sub Worksheet_Activate() 'Application.ScreenUpdating = False 'Dim l As ListObject 'Dim q As QueryTable 'Dim s As String ' ' ''CONEXION A LA BASE DE DATOS 'Cells.Delete 's = "OLEDB;Provider=Microsoft.ACE.OLEDB.12.0;User ID=Admin;Jet OLEDB:Database Password="" ;Data Source=" 's = s & "\\DATABASE_TABLASUBALIM\DatabaseTablaSubAlim.accdb" …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 286 visitas
    • 1 seguidor
  13. Hola buenas tardes tengo un archivo en excel que copia varias tablas y las importa a word de manera automatica. Este selecciona las tablas en base a las filas con datos de mi columna C. pueden ser diferentes rango de tablas. (Pero siempre mi rango es de celdas continuas y con valores continuas) Funciona muy bien. El problema que ahora tengo es que muchos archivos con tablas tienen las celdas combinadas ya sea horizontalmento o vertical. Aqui es donde empieza mi problema ya que son formatos de origen no puedo modificarlas. Quisiera ajustar mi macro en la parte de seleccion de rango de tablas y que pueda considerar la celdas combinadas y pegarlos en wo…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 286 visitas
    • 2 seguidores
  14. Hola, buenas tardes, En mi trabajo diariamente hago una búsqueda de datos con formulas de Excel, pero antes de eso hago una unificación de tablas (cada una con diferente N° de filas pero con el mismo N° de columnas) manualmente (son unas 20 aprox.) y me quita bastante tiempo porque antes de que las apilé en una sola tengo que hacerle una modificación a la tabla. Así es cómo es originalmente: Y así es como ya las empiezo a unir; Le agrego una columna y el titulo lo hago parte de la tabla: ¿Quisiera saber si existe alguna manera de realizar una macro que hago esto? Muchas gracias, les agradecería mucho la ayuda.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 284 visitas
    • 1 seguidor
  15. Por favor el código abajo descrito , necesite que funcione con tablas Sub REP_FUNC() 'BUSQUEDA POR CEDULA Set h1 = Sheets("DATA") Set h2 = Sheets("REP-FUNC") u2 = h2.Range("F" & Rows.Count).End(xlUp).Row If u2 < 2 Then u2 = 2 'linea de inicio h2.Range("F" & u2 & ":N" & u2).ClearContents 'h2.Range("F" & u2 & ":K" & u2).ClearContents j = 2 celda = "A1" 'CELDA DE LA CONSULTA Set r = h1.Columns("E") 'COLUMNA DE CONSULTA DATA Set b = r.Find(h2.Range(celda), lookat:=xlWhole) If Not b Is Nothing Then ncell = b.Address Do h1.Range(h1.Cel…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 281 visitas
  16. Started by sprit36,

    Buenos días, necesito cambiar los valores de una hoja, los valores que aparecen como 100% deben ser 0% y el 0% debe ser 100%. Adjunto ejemplo. Gracias. Ejemplo.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 275 visitas
    • 1 seguidor
  17. Hola a tod@s, hace unos días pedí ayuda y se me dió una solución perfecta, pero al aplicar la macro si las celdas tienen fórmula no funciona. Lo que necesito conseguir es que se calculen las celdas consecutivas del mismo color. En una columna tengo celdas con números, celdas con color (algunas de ellas consecutivas) y necesito que en la columna de al lado me salga el recuento de cada grupo de celdas consecutivas. Todas las celdas tienen una fórmula dentro (por eso muestra números o colores) Adjunto excel con las celdas con fórmula para que sea más fácil. Gracias de antemano por vuestra ayda y saludos Contar celdas consecutivas mismo color si celdas ti…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 265 visitas
    • 1 seguidor
  18. Started by jues,

    Saludos amigos espero estén bien En la actualidad utilizo la siguiente macro para generar un código alfanumérico continuo que al guardar los datos se copia en la Celdas “B5” de las Hojas 58 (MATRIZ1) y Hojas59 (MATRIZ2) Private Sub CommandButton3_Click() If Hoja58.Range("B5").Value < 9999 Then Hoja58.Range("B5").Value Hoja58.Range("B6").Value + 1 Else Hoja58.Range("B5").Value = 1 End If If Hoja59.Range("B5").Value < 9999 Then Hoja59.Range("B5").Value = Hoja59.Range("B6").Value + 1 Else Hoja59.Range("B5").Value = 1 End If End Sub El código se genera normalmente sin embargo no se copia inmediatamente en l…

    • 1

      Reacciones de usuarios

    • 3 respuestas
    • 254 visitas
    • 2 seguidores
  19. Started by jues,

    Buenos días @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar RCS PRUEBA …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 250 visitas
    • 1 seguidor
  20. Buenos dias, Necesitaría una macro que cogiera unos datos específicos del Excel de TS proyecto testing en las hojas de Enero 24, Febrero 24, Marzo 24 y Abril 24. Seria coger de esas hojas en la columna B el dato que hay en negrita el cual en el excel de plantilla seguimiento seria la columna cliente y los datos de abajo serian las personas asociadas a ese cliente en la columna persona del Excel plantilla seguimiento. Asi sucesivamente con los datos de la columna B del excel de TS. Eso es un ejemplo de los datos que recoge de una y los muestra en la otra. Me solicitan que coja el dato de cliente y de persona del Excel TS y lo inserte en el Excel de Plantil…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 248 visitas
    • 1 seguidor
  21. Hola buenas , me gustaría realizar en este libro la siguiente idea. Que al marcar manualmente dicha posición de un número de 4 cifras en color rojo se marque en la misma posición en los demás cuadros tanto en la hoja actual como en la hoja 2 y la hoja 3 y dicho número coloreado se escriba en la columna bn de la hoja actual como se muestra en el libro tablaresultados1.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 221 visitas
  22. Started by Alfonso5597,

    Hola, como estan, felices fiestas En esta ocasion les solicito su ayuda, por que no consigo imprimir el contenido que me sale en un frame, he probado con varias formulas pero no obtengo el resultado que busco Les agradezco la ayuda, un cordial saludo Imprimir

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 218 visitas
    • 1 seguidor
  23. Started by jues,

    Buenos días amigos espero estén bien Actualmente el Label92 me muestra el ratio que tardo en solventar un problema, sin embargo una vez que cierro un reporte y se guardan los datos el Label permanece con la información anterior y no se actualiza simultáneamente como si ocurre en el Listbox1, en concreto necesito que el Label92 se actualice de forma automática y simultánea una vez se guarden los datos RCI PRUEBA.xlsm

    • 1

      Reacciones de usuarios

    • 1 respuesta
    • 206 visitas
    • 2 seguidores
  24. Started by jues,

    Saludos amigos espero estén bien En la actualidad utilizo la siguiente macro para que la fecha aparezca en el Textbox2: Private Sub UserForm_activate() Me.TextBox2.Value = VBA.Date End Sub Sin embargo, una vez guardo los datos la fecha cambia de formato y se guarda en formato mm/dd/yyyy en vez de dd/mm/yyyy y este cambio de fecha me distorsiona los resultados de las fórmulas en las Columnas J en las Hojas 58 (MATRIZ1) y Hojas59 (MATRIZ2) Mucho les sabre agradecer la ayuda que me puedan dar RCI PRUEBA..xlsm

    • 1

      Reacciones de usuarios

    • 2 respuestas
    • 200 visitas
    • 2 seguidores
  25. Started by crengifo,

    Buenos días estimados, Tengo la siguiente consulta como obtener el promedio del rango de datos la ultima y penúltima fecha de la columna K. Ósea si tengo datos en la columna K con fecha 13-03-2025 y 12-03-2025 haga el promedio de los datos de esas fechas, pero si hay datos en la columna K con fecha 13-03-2025 y 11-03-2025 solo haga el promedio del dia 13-03-2025. El promedio debe ir en la celda M1 Anteriormente tenia en la macro la consulta del ultimo y penúltimo dato solamente sin tener en cuenta la fecha. Aqui compara los dos datos si el ultimo es menor toma ese dato si es mayor realizar el promedio. Saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 199 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.