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 alvaro.f3r,

    Soy nuevo utilizando VBA y buscando en los foros logré crear una Macro para mostrar algunos resultados. Supongo que necesitan saber qué hace pero no sé como explicarlo! ? Tengo dos hojas una de nombre Ticket y otra con nombre Hoja1 En ticket debe mostrar la fecha actual en la celda C3 , la Hora actual en la celda D3 y un numero (serie) que aumenta en 1 según el valor de la celda D2 de la hoja1 esta información se guarda como valores en la fila 2 de la Hoja1. Luego ingresando el número de serie en la celda B9 de la hoja Ticket, lo busca y muestra la Hora (guardada anteriormente) en la celda C9, resta la fecha actual (Now) con la celda C9 y lo muest…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 729 visitas
    • 1 seguidor
  2. Started by audy,

    Hola chicos, llevo dándole vueltas a un asunto un tiempo y no sé cómo resolverlo, a pesar de que tengo el manual de Sergio sobre VBA y me he leído y releído el capítulo sobre el tema muchas veces, y de buscar por internet y no he encontrado nada. Finalmente, voy a recurrir a vosotros, sabios de VBA y de Excel, para que me echéis un cable, y me ayudéis, que seguro que con vuestros conocimientos podréis hacerlo. Gracias de antemano. El tema es el siguiente: Se refiere a un menú contextual integrado en Excel, y concretamente el que surge de la barra de títulos, arriba del todo. Quiero deshabilitarlo en su totalidad, o en su defecto, deshabilitar la primera opció…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 763 visitas
    • 2 seguidores
  3. Started by xdanielhf01,

    Buenas noches a todos, cuento con una macro que funciona muy bien, basicamente lo que hace es rellenar notas de estudiantes a una pagina web, situada en un boton, la cual va tomando sus valores de un textbox3 y combobox1. entonces al escoger el numero de estudiantes en una lista de 1 a 45 situada en el combobox1, la macro comienza su funcionamiento y rellena la nota en la pagina web. ahora la pregunta es: ¿Como hacer para que una vez escogido el numero 1 en el combobox1 y terminada su ejecucion, pase automaticamente al numero 2 de la lista, hasta el numero final establecido en la celda "AO1", de la hoja "Sigep"? la macro es la siguiente On Error Resu…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 523 visitas
    • 1 seguidor
  4. Started by pinoji,

    Buenas tardes colegas. Son mis deseos que se encuentren bien de salud. Tengo un problema y me gustaría que me ayudaran dentro de sus posibilidades. Es sobre el Sistema de Ordenes de trabajo que algunos de ustedes me han ayudado a conformar. El Sistema recoge el total de las Ordenes de Trabajo que se ejecutan y se toman una serie de datos. Todo está funcionando bien, pero se me presenta un problema. En una misma Orden pueden haber dos o más Operario y en esos casos habría que hacer tantas veces como operario exista la misma Orden. Voy a explicarme de una mejor manera: Ejemplo: En la orden 75145 se pasan los datos a cada uno de los campos que se solicita, per…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 609 visitas
    • 2 seguidores
  5. Started by jose_luisc,

    Buenas tardes, mi consulta es por un problema que tengo con un listbox que uso para mostrar resultados de búsqueda filtrados mediante un textbox, el tema es que cuando no hago búsqueda con el textbox, se muestran todos los datos de las columnas que quiero con su formato correspondiente, pero al realizar una búsqueda, filtra muy bien pero la columna de los precios no se ve con formato de moneda (como si está en la tabla original y en el listbox antes de filtrar) Les dejo el procedimiento (que lo fui adaptando de otros trabajos publicados y también con su ayuda, ya que no tengo conocimiento en el tema) Desde ya muchas gracias Private Sub TEXTO_Change…

    • 0

      Reacciones de usuarios

    • 19 respuestas
    • 1.8k visitas
    • 1 seguidor
  6. Started by roa30,

    Hola a todos buenos dias, estoy tratando de encontrar una forma optima de traerme todos los nombres de una columna y convertirlos a una array, para almacenarlos en una variable... actualmente estoy copiando, pegando y trasponiendo, los datos, luego los concateno y los agrego ahi recien a la variable. esta accion es totalmente manual, hecha con la grabadora de macros, ...existe otra forma de poder hacerlo? lo que me interesa es traerme los nombres de los encabezados de las columnas y traerlos a un variable como arreglo, o array, pero lo que necesito tener en cuenta es que me vienen muchos archivos y no siempre tienen las colunmas el mismo orden, y a veces t…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.1k visitas
    • 1 seguidor
  7. buenas tardes, preciso de vuestra ayuda. adjunto fichero con una lista desplegable de provincias, necesito que al seleccionar Baleares se abra un formulario preguntando si corresponde a Ibiza siendo la respuesta mediante dos botones de opcion Si/NO o tambien me valdria un msg box con las respuestas SI/NO . muchas gracias! userform_msgbox.xlsx

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 700 visitas
    • 3 seguidores
  8. Started by ndepablo,

    Buenos días, En el archivo adjunto tengo un listview que en las columnas respectivas C, F que corresponden a los € necesito que se muestren en el listview los importes con dos decimales. ¿Alguien me podría ayudar a definirlo?. He encontrado varias formas por internet pero ninguna soy capaz d e adaptarla a mi código... Muchas gracias de anteamano. BUSCADOR PRECIOS SUBCONTRATAS.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 781 visitas
    • 1 seguidor
  9. 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
    • 708 visitas
  10. Started by brayan,

    buenas tardes amigos , agradezco de su ayuda con el siguiente caso , necesito ingresar a la pagina web que se encuentra en el código diligenciar el password (ya logrado) y dar click en el botón para ver el documento (no logrado), lo he intentado pero no logro identificar el id del boton para efectuar el click, he tratado con IE.document.getElementByClassName("button").Click o con IE.document.getElementByTagname("button")(0).Click pero no funciona , quedo atento a su ayuda gracias codigo: Sub CARGAR_DATOS_WEB() Dim IE As Object Application.ScreenUpdating = False 'Creamos objeto internet explorer Set IE = CreateObject("InternetExplorer.Application") 'ab…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.7k visitas
    • 1 seguidor
  11. Started by ndepablo,

    Buenos días, tengo un archivo Excel en el que interactúan varios usuarios con contraseña y dentro de cada usuario con la información correspondiente que le pertenezca. Ahora bien, me gustaría que dentro del ListView se visualizara también la información filtrada sin tener que filtrarla por el buscador ya que la idea es que cada usuario no pueda visualizar lo de los demás. Insisto en que en el archivo original lo tengo definido con una macro pero en listview no funciona. He probado a poner la función dentro del formulario, dentro del listview en cuestión pero no funciona... En las imágenes, en el archivo base aparece filtrado (N o nada) pero en el listvi…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 587 visitas
    • 1 seguidor
  12. Hola básicamente tengo una duda sobre si es posible que la fórmula que ingresé en vba .. algo siempre como sumar .. se actualice o se aplique cada que cambie un dato en la tabla y que no la pueda eliminar .. con la tablas pivot no más le puse . Worksheet ("menú").pivottables ("tabla1")?pivotcache.refresh. Cuando no es una pivot que puedo usar para que igual la celda que tiene ese código de actualice.. Si cambio la columna A con un 5 en la celda que tiene el código lea que hubo cambio y automáticamente cambie el resultado a 5.. sin usar un botón.. ? Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 379 visitas
  13. Started by brucks,

    Al tratar de llamar los datos de una ciudad que se encuentra en un combo box, me registra el siguiente error: - Error 1004 la propiedad VLookup de la clase WorksheetFunction. Nota: Cabe aclarar que una vez seleccione la ciudad al dar click en el boton buscar es cuando me aparece el error. Public Info As Worksheet Public Hoja2 As Worksheet Private Sub btnBuscar_Click() If cbProvincia.ListIndex = -1 Then MsgBox ("Seleccione una Provincia"), vbExclamation ElseIf cbMunicipio.ListIndex = -1 Then MsgBox ("Seleccione un Municipio"), vbExclamation Else Valor = Application.WorksheetFunction.VLookup(Me.cbMunicipio.Value, Sheets…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 770 visitas
  14. Started by Cartron,

    Este código va en un botón el cual inserta datos pero al presionarlo me sale: Se ha producido el error '-2147417848(80010108)' en tiempo de ejecúcion: Error en el método 'Insert' de objeto 'Range' A continuación les dejo el código en cuestión: Private Sub CommandButton1_Click() Range("Alumnos!A2").EntireRow.Insert Range("Alumnos!B2") = TextBox1.Value Range("Alumnos!C2") = TextBox2.Value Range("Alumnos!A2") = TextBox3.Value Range("Alumnos!D2") = ComboBox1.Value Range("Alumnos!E2") = ComboBox2.Value MsgBox "Registro completo" LimpiarCampos End Sub Si alguien me puede ayudar se lo agradecería mucho, saludos.

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 999 visitas
    • 3 seguidores
  15. Hola, les comento mi inconveniente, tengo una tabla con 11 columnas, la cual estoy filtrando mediante un textbox con macro, pero cuando quiero filtrar una segunda columna manteniendo el filtro en la primera, este último se borra, osea que no puedo tener las 2 columnas filtradas al mismo tiempo, aclaro que no tengo conocimiento en macros, solo adapté mi hoja a un ejemplo que vi en la web, el codigo que uso en el text box es este: Private Sub TextBox1_Change() Application.ScreenUpdating = False With Range("AH1").CurrentRegion filas = .Rows.Count col = .Columns.Count End With Set CLIENTE = Range("D2").Resize(filas, col) With CLIENTE .Au…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.3k visitas
  16. Started by Benito Bartolomé,

    Hola a todos; Tengo una duda que no se como resolver y me gustaría salir de dudas. En un formulario he puesto a modo de prueba 18 labels y un botón que al ejecutarlo le quita el color de fondo a cada label. Lo que no sé es si es posible mediante un ciclo que controle el nombre de cada label y así evitar repetir tantas veces el mismo procedimiento. El procedimiento es el siguiente y lo pongo así porque no deja insertar código: Option Explicit Private Sub CommandButton1_Click() ' ¿Hay alguna manera para mediante una variable o función para no repetir ' "Me.Label_ 1 ---> 18" veces? Me.Label1.BackStyle = fmBackStyleTransparent …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 530 visitas
    • 1 seguidor
  17. Started by eroluis,

    Muy buen día a todos los miembros de esta comunidad. Les expongo mi duda: Tengo un libro con Hoja 1 - Hoja 2 - Hoja X El libro tiene un userform con un combobox y un listbox El listbox muestra la base de datos que está en hoja 1 el combobox filtra la información que muestra el listbox el listbox es multiselect mi duda Hay algún método o código standard para capturar las filas seleccionadas del listbox (que están filtradas por el combobox), Copiarla(s) y pegarlas en la hoja 2 (no es importante el orden) y además elimina…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 458 visitas
  18. Started by ndepablo,

    Buenos días, Creo que este es un tema estrella pero no he encontrado ningún tema cerrado que tenga que ver con mi problema. Tengo un archivo excel, al que tienen acceso distintos usuarios. Cada uno entra con un usuario y contraseña. Dentro de cada usuario hay personalizada una vista, con columnas ocultas, bordes marcados, filtros, etc. todo esto está hecho con macro además de tener formatos condicionales y algunas fórmulas. La idea es que se pueda editar por varios usuarios simultáneamente. He probado a compartir archivo en red y todo eso pero me da problemas y no mantiene la personalización... No se si habría alguna solución a este problema o alguna alternati…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 819 visitas
    • 2 seguidores
  19. Estimados: Hago un curso de Excel para cursos superiores en un colegio y me presentaron un problema que no supe abordar... Tengo dos archivos: "origen.xlsx" y "destino.xlsx"... En "origen.xlsx" hay un dato en una celda que deseo transportar a "destino.xlsx"... no hay problema si es que deseo hacerlo a través de referencias... El problema surge pues "origen.xlsx" cambia su nombre de acuerdo a la fecha en que se modifica algún valor... es decir "origen" se llama "origen 04 -09-2022.xlsx" si el día 4 de septiembre fue modificado... como ven, el nombre cambiará si (por ejemplo) modificamos "origen...xlsx" el día 6 de septiembre, entonces el nuevo nombre del archivo se…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 491 visitas
    • 1 seguidor
  20. Started by pinoji,

    Buenas noches colegas. Espero se encuentren bien de salud. Ya retomé el trabajo de Control de Combustible y Mantenimiento que mi jefe me había pedido y que les comenté. Y también comencé con las “MOLESTIAS” a ustedes. Esta vez es para ver si en algún momento tienen un tiempo libre y me pueden ayudar. Varias son las dudas, pero quiero ir poco a poco para que ustedes puedan ayudarme en la medida de lo posible. A ver; el Proyecto aun no está terminado, me faltan algunos elementos de carácter técnicos sobre la manipulación del Transporte y el control de combustible que esta semana debo aclarar porque tengo una cita con mi Jefe y la persona que va a man…

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 809 visitas
    • 2 seguidores
  21. Started by isidrod,

    Buena tarde disculpe las molestias hoy 31 de Agosto 2022, abrí una macros cualquiera para trabajar y me sale este mensaje, no se puede ejecutar esta macros " nombre del archivo" pueda que la macros no este disponible en este libro o que se hayan deshabilitado todas las macros. Esta activado la opcion "Habilitar todas la macros ( no recomendados; puede ejecutarse códigos posiblemente peligroso Si alguien sabe como solucionarlo estaré muy agradecido con este foro que en anteriores consulta se han resuelto Mil gracias saludos

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 7k visitas
    • 2 seguidores
  22. Started by Nodoka,

    Buenas? Tengo una duda, no se si si hay alguna forma de hacerlo? Pongo en situación, un formulario con textbox grande con la propiedad multilinea nada mas inicializarse se carga con un enorme texto desde una única celda de mi hoja de excel apareciendo la barra de desplazamiento en el textbox, y para desplazarse debes seleccionar esa barra y mover el rato arriba o abajo para ver todo el contenido. ¿Hay alguna forma de qeu pille el desplazamiento con la rueda del ratón ? con los listbox y los combobox no tengo problemas para que al rueda del raton se desplace pero con el recuadro del textbox no consigo que la barra se mueva?

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2k visitas
    • 3 seguidores
  23. Expertos buenos días, tengo un código que debe modificar desde la columna C por la columna A y B es otro tabla, pero todas las veces que lo modifica lo pone en el encabezado, per que siempre he usado ese código en cualquier formulario y normal me funcionaba pero aquí en este archivo no me funciona, los voy mostrar el código por que no puedo subir el archivo Private Sub Btn_Modificar_Click() If TextBox1.Value = -1 Then MsgBox "Falta ingresar la posición del deportista.", vbInformation, "Sistema de Monitoreo" Exit Sub End If With Hoja2 If Btn_Modificar.Visible = True Then Fila = ListBox1.ListIndex + 2 Else Fila = .Rang…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 467 visitas
  24. Started by Gastonw89,

    Buenos dias comunidad, Necesito ayuda con lo siguiente: Tengo un reporte de resumen y el mismo se actualiza segun la empresa que selecciono en una lista desplegable ( 500 empresas), necesito crear una macro que recorra las 500 empresas y genere el reporte de cada una de ellas y luego guardar a pdf ( generando un pdf con 500 reportes). Como puedo hacerlo? Solo pude generar pdf individual

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 493 visitas
    • 1 seguidor
  25. Amigos, quisiera saber como hago para que se ejecute una macro cuando el resultado de una celda sea vsalor falso. Es decir, si la celda es falso se ejecue macro y si es verdadero, no haga nada. He intentado pero la macro se ejecuta sin parar una y otra vez. Alguien me puede ayudar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 4.5k 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.