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

    Buenas, me pasa una cosa extrañísima y pruebo aqui a ver si le ha pasado a alguien más y sobre todo si hay alguna solución: la hoja de cálculo en cuestión tiene un combo box para poder visualizar diferentes cuentas de resultados en la pestaña cta. Es un fichero que tenemos en red, que usan diferentes usuarios. Pues bien, cuando desconectas el portátil de la red, con el fichero abierto (para ir a alguna reunión fuera de tu sitio) hay un momento, que al navegar por las opciones el combo, en este se distorsiona la fuente de las opciones y no puedes ver nada (adjunto imagen). Si estas conectado en red, NUNCA pasa. Nos pasa en diferentes ordenadores. Es verdad que …

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2k visitas
  2. Started by fredycayo,

    Un saludos a todos Uds. les escribo para pedirles su ayuda, tengo 1 archivos Excel con varias columnas y quisiera que los resultados se calculen al pie de cada columnas E,F,I,J . Y la columna K se calcule con la macro. Desde ya muchas gracias por su valioso tiempo. Adjunto Resultados.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1k visitas
    • 1 seguidor
  3. Started by jik,

    Hola a todos, Tengo un lista box que me carga la información de una tabla de 13 columnas de las cuales me interesan sólo 5 de ellas: la 1, 4, 9, 11 y 13 por lo cual oculto las que no tienen con ancho 0. El listbox carga los datos sin problema. El buscador funciona bien también pero cuando la columna es la 10 o mayor de .list es menor que 10. Va marcado en azul y negritas donde está el problema. ¿cómo puedo solucionarlo? Private Sub UserForm_Initialize() 'se definen características del Listbox (columnas, ancho, títulos) With LstBusqueda .ColumnCount = 13 .ColumnHeads = True .ColumnWidths = "60;0;0;160;0;0;0;0;240;0;100;0;100…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
    • 1 seguidor
  4. Buen día y con el gusto de saludarle nuevamente expertos recurro a ustedes para solicitar su valiosa colaboración en el mejor de los sentidos ya que tengo un textbox al que le quiero poner un formato de hora HH:MM para que al momento de escribir obligue al usuario final a poner ese formato de tiempo exactamente, he intentado hacerlo pero en mi programación veo muchos errores, por ejemplo cuando le doy con las teclas direccionales para seleccionar y me posiciono en el espacio 3 y le doy una letra este la acepta; bueno de antemano el textbox no debe aceptar letras, unicamente números y en el espacio 3 el signo de dos puntos (:) pero como lo digo al hacer eso lamentablemente…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.6k visitas
  5. Started by renato13,

    Buenas tardes amigos de "AyudaExcel" me podrian ayudar introduciendo un código para que aparezca un MsgBox que diga "No se encontro el dato" a no haber el dato en un código de busqueda que tengo no se donde colocarlo e probado unas opciones pero no mismo ya se que para ustedes será algo fácil pero para los que estamos iniciando se nos hace un poco dificil. Gracias por su ayuda amigos y una buena tarde Adjunto el código que tengo de busqueda en el cual quiero insertar el MsgBox Private Sub Buscar_Click() If cboLote.ListIndex > -1 Then Lote = cboLote Set celda = Base_Datos.Columns("A").Find(What:=Lote, LookAt:=xlWhole) If N…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.1k visitas
  6. Started by gux70,

    Hola a todos. Hace unos días en los que una hoja con Macrors que tengo empezaban a fallarme los botones con los que se incian ciertas macros. Al mirar veo que todo el código que estába dentro de la hoja ha desaparecido y por eso no lanzaba los formularios al hacer click en los botones. lo curioso es que mirándolo bien, "no sé ni quien o qué ni como" lo que ha pasado es que esa hoja ha camabiado de nombre y la hoja original (Hoja1) aparece con el mismo formato que Thisworkbook y es una hoja que no puedo ni modificar ni nada (no existe pero tiene las macros). La nueva hoja es igual que la original pero sin macros. Me estoy volviendo loco, lo mismo es un…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 689 visitas
  7. Buenos dias , quisiera saber si es posible mediante la funcion grabar macros realizar una macro utilizando el autofiltro de excel para poder imprimir listados actualizados un determinado dia o si hay otra manera. ejemplo que con un boton me imprima las personas que estan al dia. o vencidos o por vencer.adjunto un archivo con diferentes estados con filtrar como ejemplo muchas gracias consulta macro filtro.xlsx

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 2.4k visitas
  8. Started by jik,

    Hola a todos, Tengo la siguiente macro para ir completando una tabla a partir de valores definidos en el módulo y llamados Cant1, Cant2, Cant3.......hasta el 100 Dim i, k As Byte Dim a As String For i = 1 To 100 k = 3 * (i - 1) 'para ir saltando de a 3 columnas a = "Cant" & i 'cantidad % de componente a ingresar en tabla If a = "" Then Exit For Else Cells(FilaIngreso, 1 + k).Value = a End If Next i El bucle como tal funciona pero en lugar de ponerme los valores antes definidos de Cant1, Cant2....etc, me pone el texto "Cant1", "Cant2", etc Cómo hago para que me de de el valor y …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 573 visitas
  9. Started by jik,

    Hola a todos. Tengo un bucle donde el nombre del la variable de la cual necesito obtener el valor va cambiando de Cant1....a....Cant10 (he simplificado el ejemplo que sigue). Los valores de estas variables Cant1.. fueron definidos antes para todo el módulo. Dim i As Byte Dim a As String For i = 1 To 10 a = "Cant" & i Cells(Fila, 1).Value = a Next i El bucle como tal funciona pero tengo el problema que en lugar de ponerme el valor de Cant1, Cant2 (definidos antes) me escribe el texto "cant1", "cant2". Como obtengo el valor de Cant1 a Cant10? Gracias

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.1k visitas
  10. Hola, quiero crear un boton en la Hoja Grafica el cual se enlace con la macro de guardar archivo en la carpeta donde esta el archivo pero me salta el siguiente error. Alguien me puede ayudar, gracias. GRAFICA_TEMPERATURAS_CAMARAS_1_T10-12_v01.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 970 visitas
  11. Started by Benito Bartolomé,

    Buenos días a todos; -Tengo creada una macro que hace una consulta Sql sobre una tabla Access con un Where donde le pongo los parámetros de fecha. Ahora estoy intentado cambiar los parámetros de fecha (DD/MM/AAAA) por solo año (AAAA). Lo que he añadido a mayores al formulario son dos SpinButton que insertan los años en cuestión. Private Sub btn_Buscar_Click(): On Error Resume Next Dim vConsulta, where As String Dim Fecha1, Fecha2 As Date '<<<Dim Año As Variant Dim i As Integer Conectar Application.ScreenUpdating = False Application.DisplayAlerts = False vConsulta = "sql_Resumen" Fecha1 = Format(Me.TextBox100, "DD/MM/YYYY") '<<<<&l…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
  12. Started by Miguel63,

    Buenas tardes, Estoy intentando hacer un presupuesto en Exel he buscado en el foro y no he encontrado nada, he intentado hacer con sumar.si.conjunto pero no he sido capaz de solucionarlo. Lo que estoy intentando hacer es que de la hoja BD en la columna E(Ingreso) reste la columna D(gasto) y traslado a la hoja Gastos el resultado a columna B(gastos/Ingresos), cuando seleccione la fecha correspondiente dela hoja gastos columna B1. EspPresupuestos.xlsmero que me podáis ayudar Muchas gracias.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.2k visitas
  13. Started by jik,

    Hola a todos. Me gustaría me ayuden con lo siguiente. Quiero hacer una macro que borre el contenido de 10 combobox cuyo nombre es CbxComp1.....al....CbxComp10. Una forma de hacerlo es obviamente la que sigue (y me funciona): CbxComp1.Value = "" CbxComp2.Value = "" CbxComp3.Value = "" CbxComp4.Value = "" CbxComp5.Value = "" CbxComp6.Value = "" CbxComp7.Value = "" CbxComp8.Value = "" CbxComp9.Value = "" CbxComp10.Value = "" El tema es que quiero hacerlo con un bucle porque voy otras situaciones similares pero con más comboxes. He probado lo siguiente pero no me funciona (no soy experto): Dim i …

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 2.1k visitas
  14. Started by Pako_Jones,

    muy buenas, se que es una tonteria pero no logro dar con el problema. es una macro sencilla para calcular el numero de meses transcurridos desde una fecha, y lo que pretendo es asignar la celda donde está la fecha incial a una variable, pero me da error de tipos muchas gracias Option Explicit Sub DifMeses() ' ' calcula diferencia de meses entre fechas ' Dim Fecha1 As Date Fecha1 = Range(InputBox("donde está la fecha inicial", "Cálculo meses")) ActiveCell.FormulaR1C1 = _ "=DATEDIF(RIGHT(Fecha1,2)&""/""&MID(Fecha1,5,2)&""/""&LEFT(Fecha1,4),TODAY(),""m"")" End Sub

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.7k visitas
  15. Recurro a ustedes con la siguiente duda. Estoy haciendo un complemento, pero tengo un problema. Necesito que el formulario activo detecte el cambio de hoja, para que se ejecute una macro. Existe alguna forma de realizar esto ¿? Gracias de antemano

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 2.3k visitas
  16. Tengo una hoja de excel que es una tabla. ¿Cómo puedo copiar mas líneas desde otra hoja de forma que aumente el tamaño de la tabla en la hoja de destino? Me estoy volviendo loco y no sé cómo hacerlo...

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1k visitas
  17. Amigos míos, tengo una duda. Existe una manera de mostrar y/o ocultar los objetos (control ActiveX, controles de formulario, comentarios, etc.) en la hoja activa ?¿ Se como ocultar los objetos en el libro, pero hacerlo en la hoja activa no doy con la solucionen. Agradecido de antemano por vuestra ayuda. Saludos.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 853 visitas
  18. Buenos días y mes a todos; Estoy intentando armar una macro que sobre unos datos me genera un gráfico. Lo que me gustaría configurar es el poder cambiar los nombres de las etiquetas que aparecen en la leyenda y que se generan predeterminadamente y también si es posible añadir un filtro. Adjunto macro de ejemplo. Saludos a todos. MGráfico.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k visitas
  19. Hola a todos, encantado de estar en este foro. tengo una duda respecto a una plantilla que he conseguido aquí mismo en este foro (lo subió un compañero al cual no sé como citar aquí mismo) y es que quería ver si hay opción de refinarla aún más. La idea del archivo que es un avance grande cuando lo he encontrado ya que trata de actualizar los precios automáticamente de una base de datos respecto a un listado de proveedor. En la hoja Base de Datos tenemos la información interna y en la hoja Nuevos Precios los datos a actualizar. Cunado se ejecuta el macro en la hoja de base de datos, centrándose con la referencia del proveedor, pinta en verde las variaciones de precio a a…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 987 visitas
  20. Estimados amigos... Hoy vengo con una interrogante, donde puedo conseguir una macro para obtener los FaceId ¿? He probado muchas de la red, y de todas las que he probado dos o tres de ellas se detienen en ActiveSheet.Paste, y no entiendo el motivo. Este es una de las macros que se detiene en ActiveSheet.Paste: https://excelforo.blogspot.com/2014/12/vba-listar-los-iconos-que-corresponden.html Espero me puedan echar una mano con esto. De preferencia macros, no me gusta mucho la idea de instalar Add-in por desconfianza, a no ser que ustedes la recomienden. Saludos.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.7k visitas
  21. Hola a todos. Saludos, agradezco el tiempo de cada uno y aporte al tema. Morbilidad 2021.xlsm Ciertamente desconozco totalmente sobre VBA, por ello acudo a ustedes. Necesito en una hoja de calculo, poseer una lista despegable (Validación de Datos) con selección múltiple. He encontrado un código VBA en la WEB y funciona según lo que necesito, no obstante, el código aplica a todas las celdas de la hojas, quisiera me ayuden a establecer su funcionamiento en una hoja especifica ("Morbi-Covid Trebol") y a un rango especifico ("R2:R2000") que corresponde a la Columna "SINTOMAS". Acá les dejo el código: Private Sub Worksheet_Change(ByVal Target As Range) '…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
  22. Hola Masters, Soy nuevo en este foro y primero que nada los quiero felicitar por que ayudan muchísimo a las personas que vamos comenzando en este mundo de excel avanzado. Estoy construyendo una interfaz tomando como base algunos ejemplos que han subido al foro pero me he atorado en querer editar datos de mi listbox y que se actualice en la base de datos al dar clic en el botón "Guardar", espero que me puedan ayudar, les dejo mi excel. Saludos a todos y de nuevo GRACIAS!! Matriz KPI´s OK.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 1.7k visitas
  23. Buenos dias expertos, necesito una ayuda en macro que voy implementando donde tengo un libro llamado proyecto dentro de ella hay un formato donde pongo el nombre del libro luego ejecuto la macro de inmediato me debe de listar y enumerar en la columna izquierda los nombre de las hojas de dicho libro pero sin conciderar dos primeras hojas llamados TOOLING y STICKERS, estas hojas se repiten en todas los libros por lo que no deben ser conciderados en el listado; una vez terminado de listar la anterior en la siguiente fila en la celda de la misma columna pongo el nombre del otro libro a extraer los nombre de las hojas me debe ejecutar de la misma manera y asi para todo los lib…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 833 visitas
  24. Hola amigos, he estado intentando todas las formas para finalizar mi base de datos con macros. He avanzado mucho, pero no logro lo siguiente: Tengo una hoja llamada :"formulario" ahí digito los datos para "guardar", "limpiar"o "eliminar"información. Tengo una hoja: "Hnas Total", que es donde tengo la base de datos. Necesito que desde el formulario yo escriba el apellido y ese formulario se llene con la información correspondiente a ese apellido y luego yo lo pueda eliminar. el problema es que puede que hayan tres personas con el mismo apellido y entonces necesito saber la información exacta para eliminar a la persona correcta. La macro de eli…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  25. Qué tal, estoy intentando agregar la hoja de "SoloMexico" de varios libros a otro libro de excel, el problema que tengo es que sólo me está agregando el primer libro de la carpeta, he estado un rato intentando arreglarlo sin éxito, adjunto el código que estoy utilizando: Public Sub TLD_IniciarMacro() With Application .ScreenUpdating = False .EnableEvents = False .CutCopyMode = False .DisplayAlerts = False End With ActiveSheet.DisplayPageBreaks = False End Sub Public Sub TLD_FinalizarMacro() With Application .DisplayAlerts = True .EnableEvents = True .CutCopyMode = False .ScreenUpdati…

    • 0

      Reacciones de usuarios

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