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

    Saludos amigos espero estén bien Estoy intentando hacer un formulario que me convierta unidades de masa sin embargo en el mejor de los casos solo he podido lograr la conversión de una unidad a la vez en los TextBox 1, 3, 5, 7, 9, 11 y 13 y cuando lo logro el resultado que se copia en la celda no se corresponde con el obtenido originalmente en el Textbox del Formulario (frmconv) ejemplo al convertir 1900 Kg a Lb el resultado en el TextBox1 =4188,78298142 sin embargo al guardar el resultado lo que se copia en la Celda "F11" es 418.878.298.142,00, adicionalmente el resultado de la conversión no se visualiza inmediatamente por lo que debo de hacer click en los TextB…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1k visitas
    • 2 seguidores
  2. Buenos días amigos de excel, tengo una hoja formulada que funciona cada vez que incluyo la fecha en la celda L30, llamo un formulario que me muestra dicha información que se resume al incluir la fecha, pero quisiera poder cambiar la fecha en la celda sin tener que cerrar el formulario... Algo similar como cuando se ejecuta el buscador que se puede interactuar con la hoja sin cerrar el formulario... Quedo atento a sus sabios consejos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 423 visitas
  3. Started by Fernando.O,

    Buenos días a todos: Estoy realizando una aplicación usando CUSTOM UI EDITOR. Lo que necesito es que al abrir excel muestre solamente mi grupo personalizado. No consigo ocultar la pestaña Disposición de pagina y ayuda Me podeis ayudar stock ALMACEN MMPP 2024 rev.1001.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1k visitas
    • 2 seguidores
  4. Hola buenas tardes. Debido al trabajo debo estar comparando en un periodo unos archivos dentro de una carpeta o subcarpeta. en base a la fecha de creacion o modificacion. pero tengo que estar viendo carpeta por carpeta y aveces son varios. Con una macro intente listar los archivos de cualquier carpeta y subcarpeta, esto activandolo segun la celdaactiva. El problema es que tiene algunos errores. 1. si la carpeta cuenta con subcarpetas me los manda a muchas filas abajo. Mi idea es hoja(Así debe quedar) Que con una macro pueda seleccionar la carpeta desde el buscador y me de la lista de archivos a partir de la fila 6. siendo c…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 629 visitas
    • 1 seguidor
  5. Hola buenas, Os presento mis dudas. Tengo un libro (llamémosle LibroDestino) con dos módulos, uno de definición de variables "ModDef" y otro de inicializacion de esas mismas variables "ModCfg". Necesito que al copiarme una hoja de otro libro(llamémosle LibroOrigen), mediante un procedimiento, sobrescribir el modulo de inicialización de variables del LibroDestino con el contenido del módulo que hay en el LibroOrigen. Destacar que los dos módulos de cada libro tienen el mismo nombre "ModCfg". Y tienen una única variable llamada "Mensaje". En el LibroDestino tiene el valor "Hola" y en el LibroOrigen el valor "Adiós" Este procedimiento lo realiza pe…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 349 visitas
    • 1 seguidor
  6. Buenas tardes! Tengo el siguiente código: Private Sub btnCargaBancos_Click() Dim TasaCompra, TasaVenta As Double Dim InvBanesco, InvVzla, MontoBanesco, MontoVzla As Double Dim TasaDiaBan, TasaDiaVzla, TasaActual As Double 'Inversion = Val(txtInversion.Text) InvBanesco = Val(CDbl(txtInverBanesco.Text)) InvVzla = Val(CDbl(txtInverVzla.Text)) TasaCompra = Val(CDbl(txtTasaCompra.Text)) TasaVenta = Val(CDbl(txtTasaVenta.Text)) MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanes…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 395 visitas
  7. Started by linacg96,

    Hola! Necesito por favor de su ayuda. No se de programación pero he intentado guiarme de una macro que creó un conocido para aplicárselo a un archivo que tengo. El tema es que la macro me funciona bien hasta copiar el libro de Excel y crear uno nuevo pero no he podido hacer que se guarde con el nombre de la ruta de archivo. Agradecería me ayuden. Esta es la macro usada, adjunto archivo. Sub control2558() Application.ScreenUpdating = False Dim I As Integer I = 4 While Hoja10.Cells(I, 102) <> "" Hoja10.Cells(6, 82) = Hoja10.Cells(I, 102) Dim NombreArchivo, RutaArchivo As String …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 469 visitas
    • 2 seguidores
  8. Saludos amigos! Estoy desarrollando un formulario en VBA y se me ha presentado el inconveniente de que no logro controlar el formateo de mis cuadros de texto para que cuando el usuario ingrese los datos, automáticamente el formulario coloque las separaciones de miles (.) y de decimales (,). Ejemplo: el usuario ingresa 100000 y quisiera que el cuadro de texto coloque 100.000,00. Agradezco su experimentada ayuda!

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
    • 1 seguidor
  9. buenas noches, quisiera saber si puedo mejorar mi macros que se encuentra en el evento change de la hoja de calculo de Excel, son códigos de cálculos básicos, además si me pudieran ayudar a reducir el código o darme algún tip para reducirlo yo mismo estaría muy agradecido. de ante mano muchas gracias Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Application.Calculation = xlManual Application.EnableEvents = False If Not Intersect(Target, Range("$L$5:$Y$9")) Is Nothing Then Sub todo() Range("E22") = WorksheetFunction.Sum(Range("E4:E21")) Range("E23") = Wo…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 398 visitas
  10. Started by jues,

    Saludos amigos espero estén bien Necesito generar un código numérico de cinco (05) dígitos no aleatorio en la Celda "Q4"que valla precedido de dos letras ejemplo : AA - 00000, cuya numeración valla del 0000 al 9999 y cuando llegue al 9999 se reinicie automáticamente en 0000 debiendo actualizar la numeración cuando se haga click en el botón Limpiar Mucho les sabre agradecer la ayuda que me puedan brindar PRUEBA.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 503 visitas
    • 2 seguidores
  11. Buenos dias, tengo varias columnas que quiero copiar en otra columna pero una debajo de la otra, me podrian orientar con este tema. Saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 378 visitas
    • 2 seguidores
  12. Started by Miguel63,

    Buenas tardes, Estoy intentando ordenar números positivos a la izquierda y no lo consigo, Me podéis ayudar por favor. Muchas gracias Saludos Numeros.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 406 visitas
    • 1 seguidor
  13. Hola un cordial saludo a todos. Tengo una hoja con un formato especifico que quiero duplicar 365 veces y renombranlas desde el 1 al 365 por dias del año desde enero hasta diciembre Les agradecería me ayuden ya que hacerlo a mano es muy laborioso dado que lo tengo que hacer de una por una

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 938 visitas
    • 1 seguidor
  14. Hola muy buenas, Estoy con un trabajo y me gustaria aclarar mis problemas. Estoy usando la version - Version 2401 compilación 16.0.17231.20194 En el excel que voy a adjuntar tengo tres hojas. - 1*hoja: contiene un analisis de diferentes parametros de diferentes objetos (14 en total). - 2*hoja: siguiendo la misma plantilla, quiero decir que se utlizan las mismas casillas para analizar los mismos objetos pero con otro metodo. (Los mismos 14 objetos, enumerados en las dos hojas.) - 3*hoja: En esta hoja quiero hacer la comparación que hay entre las dos mediciones. Es decir la diferencia q hay numérica como en porcentaje que hay en cada objeto en cada parametro. Adem…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 466 visitas
    • 1 seguidor
  15. Started by howling,

    buenas tardes, tengo esta macro que funciona pero me gustaria mejorarla integrando la siguiente condición siguiente: si es >= "17:00" sumar y dejar el resultado en la celda p4, me podrían ayudar porfavor de ante mano gracias Sub FuncSum() Application.ScreenUpdating = False On Error Resume Next DisplayAlerts = False minuendo = Range("C5").Value minuendo2 = Range("E5").Value minuendo3 = Range("G5").Value minuendo4 = Range("I5").Value minuendo5 = Range("K5").Value minuendo6 = Range("M5").Value minuendo7 = Range("O5").Value sustraendo = Range("Q4").Value Range("Q5").Value = Application.WorksheetFunction.Sum((minuendo - sustraendo), (…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.3k visitas
    • 2 seguidores
  16. Hola buenas tardes. Tengo una plantilla en la que doy formato de texto a mis celdas en base a condiciones dentro de la columna A con una macro. ejemplo si en A20 tengo "SI" la celda G20 se pone en azul y negrita y así diferentes condicionantes. Pero al ser mi plantilla este se reutiliza. en ocasiones estas celdas ya tienen un formato previo, necesito que antes de ejecutar un nuevo formato me limpie o borre el formato y dar el nuevo. y así con las celdas que aplican a las condiciones puestas.Cambio de formatos.xlsm Muchas gracias Mariano

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 671 visitas
    • 2 seguidores
  17. Started by Pakus,

    Buenas tardes a todos Esta macro que os pongo a continuación envía un mensaje de texto y foto a una lista de teléfonos que le pongas en el Excel. Funciona perfectamente, el único inconveniente es que todos los teléfonos tienen que estar en la agenda, si algún teléfono no esta en la agenda se cuelga y deja de enviar. ¿Hay alguna manera de hacer que si un numero no está en la agenda no haga nada y pase al siguiente numero? Gracias por prestarme atención La macro: Sub EnvíoMensajesW2() Dim Teléfono As String Dim Imagen As String Dim Texto As String For Each Celda In Envío.Range("Clientes[TELÉFONO]") With Envío Te…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.1k visitas
    • 1 seguidor
  18. Hola tengo unas conexiones con una base de datos. Mediante consultas a través de ODBC que realicé con la opción microsoft Query, y donde se ve perfectamente la conexión. Después intento en ejecución que me haga una determinada consulta sobre esa conexión, pero siempre me vuelve a pedir que indique base de datos, y en una segunda pregunta que indique el usuario y la contraseña. Lo que me resulta extraño es si este proceso lo planteo de manera manual y en propiedades de la conexión le pongo la SELECT de Mysql directamente, entonces si funciona sin solicitar credenciales. Pongo el código que uso para conectar con la BBDD. Sub actualiza_datos_T(NOMBRE_CONEXION, SQL, NOMB…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 723 visitas
    • 1 seguidor
  19. 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
    • 311 visitas
    • 2 seguidores
  20. Started by MarianoCruz,

    Hola buenos días. Tengo un archivo con la que trabajo constantemente, una hoja donde ingreso muchos datos de otra hoja. Con una formula compuesta me funciona muy bien, el problema es que tengo que estar borrando los datos para actualizarlo con nuevos. y tengo que estar pegando esta formula cada vez que actualizo. Con la macro quiero lograr que esta formula se pegue unicamente en donde halla datos. Trate de hacer la macro para que me ponga dicha formula (en inglés) Espero me puedan ayudar. Gracias Mariano MAcro buscar indirecto.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 451 visitas
    • 1 seguidor
  21. Started by Moratti,

    ¿Como puedo cargar un combobox ActiveX de forma manual sin usar una lista En uno norma sería Combobox1.additem "xxx" pero en el activeX no lo consigo Gracias

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 627 visitas
    • 2 seguidores
  22. Buenas tardes, tengo una macro copiada de un ejemplo que funciona perfectamente. Usa un formulario para capturar datos a una hoja. El problema está cuando convierto el rango normal en una tabla. Aquí ya no me numera la columna A y se desplaza al final de la tabla. Agradecería me echasen una mano. Adjunto envío archivo. prueba.xlsm

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 710 visitas
    • 3 seguidores
  23. Buena tardes. Tengo una duda, se podrá separar los datos de una hoja en varias hojas siguiendo un criterio. Por ejemplo, tengo una base de datos de miles de trabajadores (filas), con muchísimos datos (columnas) y que son de diferentes empresas, lo que quiero saber es si se puede separar todos esos trabajadores dependiendo de la empresa a la que pertenecen de manera automatizada sin tener que estar filtrando y copiando los datos que necesito. Aquí subo un ejemplo de lo que necesito, gracias de antemano por su respuesta. Modelo 1.xlsx

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.8k visitas
    • 1 seguidor
  24. Started by Mauricio_ODN,

    Hola a todos Primero que nada deseo agradecer el tiempo en leer este post, Muchas Gracias. Me acerco a ustedes para pedir su ayuda para lo siguiente: Tengo una UDF, la cual tiene dos escenarios: 1.- Si Tiempo Promedio y Duración del Video son diferentes de 0, hacer el calculo 2.- Si lo anterior es igual a 0, se realiza el otro calculo por cuartiles. El detalle es que son muchas celdas a seleccionar, lo cual creo puede ser engorroso, entonces, pensando en simplificar la función, me pregunte si fuera posible: a.- Colocar 1 al principio de la función y después solo seleccionar 2 celdas correspondientes (Rango continuo o discontinuo) b.…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 430 visitas
  25. Hola a todos; -En en video del siguiente enlace os muestro como he conseguido guardar de forma permanente el valor de nuestras variables. Para ello lo que hago al momento de pulsar el botón es limpiar previamente el módulo e insertar los nuevos datos y por medio de una función los recupero. Enlace video: Variables permanentes MVariablePermanente(Multiples).xlsm

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 2.2k 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.