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 buenas tardes espero esten bien, tengo dos dudas 1.- Uso un texbox el cual lo ingreso con un formulario el cual puedo ingresar un CHAR de numeros de 1 a 6 caracteres. Ocupo que el si ingreso 1 digito se pongan 5 ceros, o si digito un 2 se pongan 4 ceros, En el libro donde lo Guardo. Ejemplo: 1 - 000001 23 - 000023 431 - 000431 5412 - 005412 67123 - 067123 123456 - 123456 Supongo tendre que sacar la longuitud del campo ingresado y comparlo y si es diferente entones agregarle ceros, pero soy nuevo en visual y no se como hacerlo. 2.-Mi segunda duda es parecida tengo un campo de texto el cual puede aceptar 120 caracteres si ingreso 20 caractere…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 713 visitas
  2. Hola, saludos a todos En donde trabajo adquirieron una actualización de un sistema de contabilidad, el cual ya no arroja los datos de unos reportes utilizados que hacía en la versión anterior, por lo tanto descubrí que el sistema enlaza con Excel en una "matriz" pero los datos que arroja son todos en “bruto” y necesitamos Darle un formato, anexo el archivo con dos pestañas una en la forma en que la matriz me da la info y en la otra en la forma en que lo requiero, desconozco en su mayoría la programación VBA y ya estoy entendiendo una que otra función (prometo estudiar VBA), pero estoy atorado en esto y nomas no doy una, espero me puedan ayudar, gracias duda.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 713 visitas
  3. Started by Celest3,

    Hola a todos, me pueden ayudar con el tema de como eliminar y modificar mediante sql. pues un listbox carga los datos mediante consulta sql, yo quiero eliminar el dato q se encuentra seleccionado en el listbox, trate con este código pero me da error. me puede ayudar. muchas gracias por su apoyo. Application.ScreenUpdating = False Dim MyArray() As String Dim Fila As Integer Dim i As Long Dim Rw As Integer Dim Columna As Integer Dim Rst16 As New ADODB.Recordset Dim Cnx16 As New ADODB.Connection…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 712 visitas
  4. Started by rotenman1,

    Hola amigos expertos, hoy vengo con un problema que no logro resolver. Tengo dos hojas en un libro de Excel ,(SALIDAS,DEVOLUCIONES de PRODUCCIÓN),en esta ultima tengo un formulario de modificación de datos, el problema es que necesito modificar los datos en ambas hojas, porque los registros de la hoja de devoluciones se vacían en la hoja entradas también.Agradezco de antemano su ayuda.Reciban un cordial saludo. EJEMPLO DE MODIFICACION EN AMBAS HOJAS.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 712 visitas
  5. Buenas tardes compañeros como están, espero que excelente. He estado creando una pequeña aplicacion en formularios y hay una funcion que necesito hacer, y hacerlo así se me ocurrió a mi. Si hay otra alternativa haganmelo saber.Cualquier sugerencia es aceptada. Hay un momento en la cual se necesita hacer reportes y pienso en hacer un formulario con una imagen en forma del reporte ya modificado y con labels en los campos especificos y mediante diferentes parametros se obtengan de la hojas de excel. Donde la función principal es exportarlo a pdf o imprimirlo lo cual sería una mision posible o imposible pues imprimir la imágen con los labels superpuestos si seria extraño en…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 712 visitas
  6. Buenos días amigos de la comunidad, Tengo un fichero que extraigo todos los meses de nuestra plataforma de fichajes y es formato csv. Yo lo convierto a xlsb y genero una tabla para poder explotar los datos. Mi problema como podeis observar es que el campo duración me lo saca en texto 9h 32m, me gustaría poder convertirlos a formato hora para que me aparezca 09:30. Subo el fichero Alguien me puede ayudar? Gracias anticipadas. Histórico01-01-202131-01-2021 2.csv

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 712 visitas
  7. Started by pinoji,

    Hola nueva,ente colegas. Profesor JSD, como le explicaba, ayer en la noche estuve haciendo algunas validaciones en el sistema, pero en la revisión me di cuenta que en el TxtPrecio me está multiplicando el valor por 1000. Cuando te remites a la Hoja Tarifario, en la Fila 160 vas a encontrar el precio de este servicio (Factura 21 - Playa Paraiso) Servicio Mtto Impresora Laser que es a $ 420.00, sin embargo el precio lo pone a $ 42 000.00. Adjunto archivo. Profesor, disculpe tantas molestias, en verdad me siento apenado. Un saludo cordial profesor. Mis respetos. Pino Facturación BM v6.0.0 JSD.xlsm

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 712 visitas
    • 2 seguidores
  8. Buenas tardes Nuevamente solicitando su ayuda. Tengo un archivo llamado reporte de equipos inoperativos, en el cual me muestra que equipos están detenidos en una Obra determinada y a que línea pertenecen. lo que quisiera es que de ese mismo reporte, cada vez que lo actualice me acumule los datos de cada equipo en las otras pestañas (Pesada, Transporte, Menores y Plantas) al darle click en un botón ( Ingresar Datos) en la pestaña ( actualización de datos). y que me lo organice en la pestaña que le corresponde y lo acumule por ubicación. cabe recalcar que como esos datos de actualizan diariamente, en las pestañas (Pesada, Transporte, Menores y Plantas), solo tiene que …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 712 visitas
  9. Hola, tengo esta plantilla con un macro en perfecto funcionamiento de nombre "replicar" que fue cedido por un usuario del foro al que le estoy muy agradecido. Este macro lo que hace es copiar en una nueva hoja del mismo libro todos los ingresos a excepción de aquellas filas en las cuales es valor en columna H es igual a "si". Ahora lo que me gustaria es que ya que en P2 estoy calculando el valor de la caja basado en los ingresos y salidas del dia, al ejecutar el macro "replicar" el valor de la hoja original se mantenga en la hoja copiada pero a la vez se actualize a medida que se registran nuevos ingresos y salidas. Gracias de antemano! mantener.rar

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 712 visitas
  10. Started by Dani2020,

    Sub CambiarColorCeldaCondicion() Dim miRango As Range Set miRango = Range("I7:AM300") For Each celdaActual In miRango If celdaActual.Value = "LJO" Then celdaActual.Interior.Color = RGB(255, 204, 204) If celdaActual.Value = "T" Then celdaActual.Interior.Color = RGB(0, 204, 204) If celdaActual.Value = "L" Then celdaActual.Interior.Color = RGB(119, 210, 85) If celdaActual.Value = "V" Then celdaActual.Interior.Color = RGB(255, 255, 204) If celdaActual.Value = "C" Then celdaActual.Interior.Color = RGB(255, 229, 204) If celdaActual.Value = "I" Then celdaActual.Interior.Color = RGB(189, 183, 107) If celdaActual.Value = "HA" Then celdaActu…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 712 visitas
  11. Hola buenos días a todos. Soy nuevo en el foro y aunque he leído las normas, espero no estar haciendo nada mal por lo que pido disculpas de antemano. Tengo una cierta experiencia con VBA y actualmente intento reproducir un archivo GIF o video pero con fondo transparente en un Form, pero no llego a ver como hacer para que no se vea el formulario del control en el que se reproduce. Me explico mejor, se que se pueden reproducir utilizando un control WebBrowser para el gif o un control WindowsMediaPalyer, llegando a cambiar el fondo para el WebBroser, pero no soy capaz de hacer que se reproduzca con el fondo transparente (video o gif en general) de form que se vea lo que…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 712 visitas
  12. Started by jose reyna cepeda,

    Buenas tardes a todos... tengo un libro con una macro, se requiere que después de trabajar en la ultima hoja esta se oculte, se proteja el libro y se active la macro "eliminar vacías" (anexo archivo) de antemano muchísimas gracias.. por compartir sus habilidades 12 MATRIZ ANLISIS.zip

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 712 visitas
  13. Started by benjamincd,

    Buenas tardes Compañeros, En fichero adjunto os pongo lo que necesito. Creo que lo que necesito es con una macro, espero que sea asi. saludos y gracias. EJEMPLO.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 711 visitas
  14. Started by Nomada7,

    Hola, Quisiera saber si es posible desde una macro enviar números por el puerto USB, de forma que otro PC al que estuviera conectado recibiera los datos como si fuera un teclado. A ver si alguien puede sacarme de dudas. Muchas gracias.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 711 visitas
  15. Started by passvisitor,

    Hola buen día para todos. Tengo una base de datos en una hoja de excel de muchos miles de registros, lo que requiero es realizar una macro que a partir de un calendario pueda elegir una fecha inicio y una fecha fin; por ejemplo fecha inicio 01/12/2013, Fecha fin: 15/12/2013, darle en click en un boton generar y me traiga de mi base de datos los datos que correspondan a esa fecha introducida y posteriormente me genere todos los calculos solicitados asi como tambien sus graficas necesarias y por ultimo todas las graficas generadas me las exporte a una presentación de power point. Hojala que alguien pueda ayudarme en algo se que no doy muchas explicacion contundente pero e…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 711 visitas
  16. Started by marcelooyarce,

    Hola comunidad, les escribo para solicitar su ayuda, necesito que en el archivo adjunto en la hoja de datos, cada fila de la hoja 1 que se llama hoja de datos se copie la cantidad de veces que esta en la columna E en la segunda hoja llamada hoja 2. Tengo hecha una macro , pero tengo los siguientes problemas , si el valor de la columna E de la primera fila es menor que el segundo valor , empieza a copiar la segunda fila , no se porque pasa esto Ademas , solo debe copiar hasta la fila 9 de la hoja 2 y de ahi saltar a la columna S y seguir hasta la fila 9 y despues saltar a la columna AK1 hasta la fila 9 , sumando en total 24 Espero me puedan ayudar, no puede subir el arc…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 711 visitas
  17. Started by lursaildi,

    Con la siguiente macro oculto todas las celdas en blanco y al final debería de volver a bloquear pero no lo hace , cual puede ser el error Gracias Sub Desbloquear() Sheets("Peticion_Ensayos_TALLER").Select 'Selecciona la Hoja1 ActiveSheet.Unprotect 'Desprotege la hoja activa. Sin contraseña End Sub Public Sub OcultarLineasVaciasPeticionEnsayos_TALLER() Desbloquear Dim rng As Range Dim intLastCol As Integer Dim intLastRow As Integer Dim blnEmptyRow As Boolean Dim i As Integer Dim j As Integer Set rng = Selection.SpecialCells(xlCellTypeLastCell) intLastCol = rng.Column intLastRow = rng.Row For i = 1 To intLastRow blnEmptyRow = True For…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 711 visitas
  18. Buenos días amigos de AyudaExcel Les comento que trabajo en Recursos Humanos, actualmente manejo una Base de Datos en Excel dónde me gustaría realizar una lista despegable de los candidatos que aplican a diferentes puestos y que al seleccionar su nombre mediante la lista aparezca su curriculum. Claro, se como realizar la lista de validación y demás. En lo que necesito ayuda sería si se puede mostrar ese objeto incrustado (Curriculum) al seleccionar el nombre. (Dicho objeto estaría en otra hoja de excel) Adjunto ejemplo por si no me supe explicar. Espero su ayuda. Saludos cordiales desde Costa Rica! Base de Datos.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 711 visitas
  19. Buen día estimado foristas: Es un gusto saludarles por este medio a través del cual siempre me han apoyado en mejorar o corregir algunas macros que utilizo en mi trabajo. Y hoy tengo un error en una macro que no he podido solucionar, por lo que acudo a ustedes para saber si pueden ayudarme en esta tarea. El asunto va así. Tengo un archivo con varias hojas, y quisiera imprimir ciertas hojas, de acuerdo al valor que obtengo en una celda. Por ejemplo si en la celda C3 de la hoja INICIO hay un valor de 1, entonces deseo imprimir las Hoja2, Hoja3 y Hoja10. Si ese valor cambia a 2, cambiarían las hojas a imprimir. Con esta premisa, estoy usando la siguiente macro…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 711 visitas
  20. Hola muy buen día mi nombre es Walter90 soy de Nicaragua y soy nuevo en esto de trabajar con macros soy Ing. eléctrico y estoy trabajando en una macro para presupuesto de materiales de construcción en lineas de distribución eléctricas mi inquietud es la siguiente hay 1 hoja que se llama Elementos-UF al poner un numero en una casilla en blanco de los armados me da un listado de materiales en la otra hoja llamada del mismo modo pero no se como hacer para copiar de manera automática una lista concreta de armados que pueden estar separados por varias celdas de distancia en otra hoja llamada concentrado sin que me copie los espacios vacíos adjuntare el archivo en el que estoy …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 711 visitas
  21. Started by eppion,

    Hola, quiero guardar los registros que llegan a la celda C5, estos son entregados mediante una BD que se actualiza diariamente. La idea es guardarlos en la Hoja 2 agregando una fecha, no se me ocurre como hacerlo, por ende recurro a ustedes. Guardar registros .xls

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 711 visitas
  22. hola les explico mi situacion, hice un formulario de captura de datos, pero en mi trabajo me pusieron trabas para poderlo implementar dado que piensan que se vuelve un cuello de botella a la hora de que 30 usuarios quieren usar la misma computadora, muchos de ellos para adelantar su trabajo lo realizan primeramente en su maquina y despues llegan al libro de captura y solo copian y pegan los datos, yo considero que cuando hacen eso tambien copian las alteraciones que pudiera tener sus archivos de excel; como no podemos contar todavia con un sistema mas versatil se esta usando excel de mientras lo implementan: quise salvaguuardar un "poco" la informacion con respecto a los…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 711 visitas
  23. Hola, Estoy iniciándome en VBA y tengo una tarea cruzada. Necesito generar una tabla dinámica en base a datos que proceden de rangos de diversas hojas. Quiero generar la Tabla dinámica en una hoja (TD), cuyos rangos (hoja1,hoja2,hoja3) de por sí, empiezan siempre en la Celda B2, pero no siempre tiene el mismo tamaño de filas. Me gustaría hacer una iteración para no tener que incluir el nombre de las hojas de rango (x,z,y) ya que el número de rangos se iran incrementando con el paso del tiempo. Me preocupa el Array, no sé cómo optimizarlo para que me lea los datos de todas las hojas y los imprima en la TD. SourceData:= _ Array(Array("Hoja1!R1C2:R7C3", "Element1"), A…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 711 visitas
  24. Ante todo Gracias por lo que hacen, el tiempo y su valiosa Colaboracion} Adjunto el Archivo y trato de explicarlo: es un formulario el cual trato de optimizar y facilitar (me encanta el tema y miro mucho sus aportes y soluciones) La hoja esta dividida como por secciones la primera datos del solicitante: que son obligatorias como por ejemplo las primeras como son nombre del solicitante; fecha (que debe ser guardada con la fechas de dilingenciamiento); cargo del solicitante ciudad y gerencia, me debe aparecer error si falta alguna Esa Primera parte de alguna forma ya funciona, menos lo de la fecha (soy novato programando en vba.) la segunda Division TIPO: :numbness…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 711 visitas
  25. Started by questionAbout,

    Hola intento aplicar esta fórmula donde el código es una columna que puede variar y wnumero también es otra columna que puede varias, sin importar el orden en que ingresé estas dos variables en la fórmula sumifs, la fórmula aparece no con el rango B15 sino con el rango $b414. O si ingreso A14 aparece la fórmula con $a$415.. .alguien sabe porque ?... Sub fórmula () Dim celda as range Dim pnum as range Application.screenupdating =false With sheets ("reporte") For each celda un .range (.range ("b14"),.range ("b14"). End (xldown) For each celda un .range (.range ("a14"),.range ("a14"). End (xldown) Cel…

    • 0

      Reacciones de usuarios

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