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

    GUSTO SALUDARLES COMUNIDAD, Necesito de su ayuda, necesito hacer en macro de la funcion indice y coincidir donde me dé el valor(precio) de la intercepcion de producto y sucursal o el valor de la intercepcion de textbox1 y textbox2 me ayudan por favor, agradezco de antemano su valiosa ayuda INDICE Y COINCIDIR.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.2k visitas
  2. Started by rafael_,

    Muy buenas a tod@s,Estoy intentando automatizar un dashboard conectado a una ruta de SharePoint que contiene varias carpetas por mes y año. Por cada año 12 carpetas, y un libro por cada día del mes. Necesito añadir una columna a cada libro con su fecha en formato MM/DD/AAAA. Cada libro contiene la fecha en el formato requerido en la celda E1 > " Viewing Range=[1/31/22 - 1/31/22] ", ¿hay una macro para extraer solo la fecha y copiarla en la columna A hasta donde terminan los datos? Y esto mismo poder ejecutarlo para todos los libros dentro de la ruta.Saludos y gracias de antemano

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 440 visitas
    • 1 seguidor
  3. Started by Benito Bartolomé,

    Hola a todos; Corregirme si me equivoco o se puede mejorar la macro que adjunto. La idea es que yo solo pueda seleccionar un número limitado de imágenes. Para ello he añadido (aparte de las imágenes) dos TextBox, uno funciona como contador y otro como límite de imágenes a seleccionar. -Cuando llego al límite marcado ya no me deja seleccionar más (el límite para la prueba he puesto 5 pero se puede cambiar) -¿Qué pasa si quiero cambiar la imagen seleccionada porque no me gusta?. Pues hacemos clic derecho con el mouse y la nos la descuenta y así podemos seleccionar otra /s siempre y cuando no pasemos el límite establecido. Para este caso he us…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 734 visitas
    • 1 seguidor
  4. Started by seba64,

    Quisiera saber si es posible enviar teclas después de abrir una página desde VBA. También quería preguntar si es posible interactuar con javascript, esto porque una de las páginas que abro tiene listas anidadas y por mucho que cambie el item selecto desde vba, no ocurre el evento para que cambie la segunda lista. Así abro la página: Dim ie As Object Dim pagina As HTMLDocument Set ie = CreateObject("InternetExplorer.Application") ie.Navigate Url ' "https://www.google.com.pe" ie.Visible = True Do Until ie.ReadyState = READYSTATE_COMPLETE DoEvents Loop y así cambio el índice del select Set pagina = ie.Document pagi…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 881 visitas
    • 1 seguidor
  5. Started by rujason,

    Buenas tardes y saludos a todos/as. Soy nuevo en esto de las macros y estoy teniendo un problema con una macro. Necesito que al abrir el libro de excel, se ejecute una macro para reemplazar unas fórmulas en el libro. Esta parte la tengo resuelta, la macro me funciona perfecto cuando abro el libro. El problema viene cuando se abren varios libros que contienen esa macro, porque entonces deja de funcionar. He probado estos comandos tratando de que la macro aplique en ese libro en específico sin importar si hay varios abiertos y no me funcionan: 1. ThisWorkbook.Activate 2. Dim wb As Workbook Set wb = ThisWorkbook wb.Activate 3. Dim wb As Workbook …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 535 visitas
    • 1 seguidor
  6. Buenos días, Necesito una macro que me busque en toda la columna K el valor 0, y si las celdas de abajo estan vacias lo rellene con el mismo valor, o sea 0. Tengo esta macro que no funciona bien, porque me copia en todas las celdas el valor 0, sobreescribiendo en celdas que tienen otro valor distinto a cero y admás da un error. Sub prueba() Dim Celda As Range Dim Primeradir As String Set Celda = Range("K:K").Find(what:=Range(0).Value, _ After:=Range("K1"), _ Lookat:=xlWhole) If Not Celda Is Nothing Then Primer…

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 884 visitas
    • 1 seguidor
  7. Buena tarde. Digamos que tengo en G2 diferentes números de semana del año, empezando en la 1, saltando a la 5 en G3 y la 21 en G4, necesito insertar filas entre cada uno de los datos, insertando una fila con el número de semana 2 en G3, después el 3 en G4, 4 en G5, y así consecutivamente hasta el 5, después hasta el 21, etc. Respetando los números que ya tengo y tomando en cuenta solo de 1 al 52 que son las semanas del año. Ayuda por favor! De antemano muchas gracias.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.1k visitas
    • 1 seguidor
  8. Llevo desde ayer dándome calabonazos contra la pared tras tirarme un par de días implementando una nueva hoja en mi lista, tras ver que todo funciona en la hoja en cuestión bien y hace lo que quiero, reviso el código para que todas las llamadas sean echas con sheets ("Nombre de la Hoja") y asi poder usar el userform desde cualquier hoja el caso es es que para insertar una celda uso la instrucción que me proporcionasteis en otro post y siempre la inserto en al misma posición. Sheets("Hoja Datos").Rows(4).Insert luego me rellena con los datos que tengo en los txtbox y combobox en sus respectivas celdas y me reordene por orden alfabetico a partir de la f…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1k visitas
    • 1 seguidor
  9. Started by Nodoka,

    Buenas estoy puliendo unas cosillas en mi lista de excel y me ha surgido esta duda, pongo en situación mi userform carga los valores de cada celda al desplazarme, ahora bien si yo al pulsar un botón en una celda este me escribe varias cosas en diferentes celdas de la misma fila que activan según los datos que se hayan introducido en esas celdas me activa unos label con unas imágenes determinadas determinados en el formulario, pero para que esos label se activen el userform debe refrescarse sobre la linea en al que me encuentro, para ello uso este codigo que tras pulsar el botón e introducir los datos me mueva de derecha a izquierda la celda de la fila en cuestión sele…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.3k visitas
    • 3 seguidores
  10. Started by muyayito,

    Buenas foro. Estoy intentnado aplicar el comando attrib /s /d -r -h -s *.* en la unidad d: y no se como hacerlo para insertar dos comandos, con uno solo no tengo problema Call Shell("cmd.exe /S /K" & "D:", vbNormalFocus) Como seria para justo despues aplicar el comando attrib?

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 3.5k visitas
    • 1 seguidor
  11. Started by ppladino,

    Buenos días amigos, tengo el siguiente inconveniente con una macro que he desarrollado; resulta que cuando coloco el formulario como no Modal, es decir la propiedad es ShowModal = False, esto para que se puedan utilizar otros libros de excel, entonces el cursor se pierde al hacer un alt+tab, haciendo que cada vez se tenga que dar clic sobre el formulario para llenarlo. Si me pueden ayudar como puedo solucionar esa parte les agradezco infinitamente.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 661 visitas
    • 1 seguidor
  12. Hola intento general este resultado. Según la imagen la diferencia de tiempo es 02:16:26 . HH:mm:ss. El problema es que no sé como generar ese resultado sin separar las horas de la fecha. Aquí los problemas, no puedo separar o dividir las horas en una columna y las fechas en otra columna. También la fórmula debería expresar si la diferencia es en días.. cuántos días son más horas y minutos... Alguien sabe como expresarlo de esa forma?

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 795 visitas
  13. Started by Luis Heredia,

    Saludos amigos del foro. Vengo para solicitarles ayuda para saber como puedo hacer una macro. La situacion es la siguiente: Tengo un libro donde hay 12 hojas, una para cada mes del año, hay otra hoja donde tengo las tablas que uso para crear unas listas, cuando en alguna de las listas, en cualquiera de las hojas de los meses, requiere que se le agrege un nuevo campo, tengo un boton con una macro que me dirije a la hoja de las tablas y alli agrego la celda en la tabla correspondiente, ahora necesito hacer la macro que me devuelva justo a la hoja del mes de donde vino, ahi es donde no se como hacer, es decir, si desde la hoja Enero, fui a la hoja de las tablas, que al …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 447 visitas
  14. Buenas ? A ver si me podéis echar una mano, tengo un formulario que lo llamo desde cualquier hoja del libro y quiero que en una hoja fija y en una fila fija me inserte una fila entera, sin que el formulario cambie independiente de la hoja en la que em encuentre, es decir copie el formato de su fila superior lo desplace hacia abajo y lo copie en el huco desplazado. Sheets("Hoja Fija").Select Rows("4:4").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove con esto me lo hace lo que quiero , pero claro me lleva a la hoja en cuestión, y no es lo que necesito, ya que el formulario que lo hace solo es para mirar los datos de una tab…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.5k visitas
    • 2 seguidores
  15. Started by questionAbout,

    Hola alguien me puede ayudar con esta fórmula en vba.. intento que la columna Ade la página 1, se devuelva a la página 2, columna A2. Básicamente así es como lo intento hacer. Set myrng = sheets ("página1").range ("a:a") Ser este = sheets ("pagina2").range ("A2") Myrng.advancedfilter actiom:= xlfilyercopy, _ Criteriarange:=myrng, copytorange:=rstd, Unique := true El problema con esto es que me devuelve el título de la página A y solo quiero el resultado.. alguien me puede por favor corregir?

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 881 visitas
    • 1 seguidor
  16. Started by jotaeme,

    Saludos a la comunidad y espero estén todos bien Tengo el siguiente impasse.... Sheets("RESUMEN CC").Shapes.Range(Array("Drop Down 1", "Drop Down 2", "Drop Down 3", "Button 9", "Button 8", "Group 14", "Rectangle 1")).Select Funciona perfecto ...pero...al ejecutar la aplicación en algún pc; en que el nombre del objeto (Rectángulo 1) está en español, me marca error. Hay alguna instrucción en VBA que pueda indicarme el lenguaje en que están los objetos ?? gracias de antemano

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 576 visitas
  17. Hola tengo una duda si uso el mismo patrón de fórmula en vba y lo replicó en 30 fórmulas diferentes en una misma página, eso puede ocasionar que excel se cierre o que el documento sea muy lento ?... No sé si eso influye.. Aquí un ejemplo de la que uso... RANGO = Range("A" & Rows.Count).End(xlUp).row With Range("A2:A" & rango) .Value = _ "=XLOOKUP(A8,TABLE1[Orden],TABLE1[semana], )" .Value = .Value End With Esta misma fórmula solo modifico la fórmula entre las comillas por countif o sumifs o xlookup.. cuál es el problema aveces excel se cierra porque el código queda en una p…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 614 visitas
    • 1 seguidor
  18. Invitado CSI1981
    Started by Invitado CSI1981 ,

    Buenos díasEstoy trabajando en un libro el cual consta de 3 hojas.- Info desplegables: es la hoja auxiliar donde coloco los datos para desplegables y otros datos necesarios- Planing: es la hoja donde determino el trimestre que voy a trabajar y es donde se va reflejar la información que se plasme en la hoja "info dic-ene-feb"- Info dic-ene-feb: en esta hoja ingreso la información requerida. En esta hoja las columnas J y K se obtienen de cálculos auxiliares. Me sirven para determinar si la reserva es un ingreso del trimestre anterior o en su defecto la salida del huésped es en el trimestre que sigue. Para que la macro me funcione, realice cálculos auxiliares para determinar…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 619 visitas
  19. Buenos dias a todos. Estoy intentando desde excel meter datos en una página web, y me encuentro con dos combobox con el mismo classname. En el primero meto los datos bien, pero en el segundo, no se como hacerlo, no veo el id o alguna otra forma de identificarlo. Sub vuelos() Dim IE As Object Set IE = CreateObject("InternetExplorer.application") IE.Visible = True IE.Navigate "https://www.google.com/travel/flights?tcfs&ved=2ahUKEw jD1eu2kcH6AhWJ2tUKHdTsAGIQyJAB egQIABAY&ictx=2&authuser=0" Do DoEvents Loop Until IE.ReadyState = 4 Dim inputfield As Object Set inputfield = IE.Document.getElementsByClassName("II2One j0Ppje zmMKJ LbIaRd") If inputfield.Length >…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 622 visitas
    • 3 seguidores
  20. Started by Benito Bartolomé,

    Buenos días a todos; -Con el procedimiento que adjunto obtengo la ruta de una imagen y la almaceno en la caja de Texto. Si a la hora de elegir una imagen le doy a botón cancelar me devuelve "False" a la caja de texto. ¿Se puede corregir para que cuando suceda el "txtAdjunto" quede vacio? He estado analizando otros procedimiento semejantes y ocurre lo mismo. Sub CargarImagen() Dim vImage As String vImagen = Application.GetOpenFilename("Archivos JPG PNG BMP (*.jpg*;*.png*;*.bmp*), *.jpg*;*.png*;*.bmp*") If Not vImagen = "False" Then Me.txtAdjunto = vImagen Else MsgBox "No ha seleccionado nigu…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 949 visitas
  21. intento comparar la pagina1 columna (m) con la pagina2 columna (c), el objetivo es enviar a la pagina3 el resultado de aquello que esta en la pagina1 pero no esta en la pagina2. estoy trabajando en este codigo pero no se si debo cambiar de codigo o solo puedo agregar algo mas que diga si encontraste la diferencia entre pagina 1 y pagina 2, devuelve el resultado en la pagina 3. Private Sub ejemplo() 'Define Fields Dim iR As Double, oRw As Double Dim iRow_M As Double Dim s1 As Worksheet, s2 As Worksheet Dim s3 As Worksheet Set s1 = ThisWorkbook.Sheets("pagina1") Set s2 = ThisWorkbook.Sheets("pagina2") Set s3 = ThisWorkbook.S…

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 554 visitas
    • 1 seguidor
  22. Started by pinoji,

    Buenos días colegas, espero su salud sea excelente. Colegas, en esta ocasión venga a hacer una consulta para tratar de resolver un problema que se me ha creado. No sé si ustedes recuerdan un Proyecto que hice con la invaluable ayuda de mucho de ustedes, fue el de Pre-Nóminas para mi esposa. Al día de hoy el sistema funciona de manera eficiente, a excepción de un par de “cosas” que no son nada importante, pero cuál es el problema. A mi esposa le cambiaron el Ordenador y le dieron uno que tiene solamente 2 GB de RAM, así que imagínense lo lento que puede llegar a hacer, pero lo fundamental es que el Sistema no abre y da el error: “Error Catastrófico…memoria ins…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 544 visitas
    • 1 seguidor
  23. Hola a todos; Os dejo una macro donde al iniciar el formulario se carga la imagen desde una Url. -Primero la descarga a una ruta y después la elimina. Dejo aquí la macro por si le interesa a alguno. Saludos. MCargarImagenUrl.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.4k visitas
  24. Buenos días colegas. Espero se encuentren bien de salud. Tengo un pequeño problema. En uno de mis proyectos puse un código para que al cierre del día 30/09/2022 el libro no pudiera abrirse y no me di cuenta de eso, por lo que hoy no pude entrar al sistema y no sé como puedo hacer para poder lograr llegar hasta VBE para modificar la macro. No puedo cambiar la fecha al sistema porque eso es a través del informático y tampoco está hoy acá y necesito de urgencia poder acceder al Proyecto. Gracias de antemano. Un abrazo Pino

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 728 visitas
    • 2 seguidores
  25. Quiero copiar solo el resultado desde una macro que tiene formulas por día. Cada día la información se actualiza y la forma va a buscar x, hace el procedimiento y devuelve el resultado. Esto lo hace varias veces por día, todos los días. Por lo que a veces se truene el excel al querer manipular los resultados. Por ello siento que sería mejor pasar solo los resultados a un nuevo libro, una vez que la formula tenga dicho resultado. He visto que se pueden copiar datos condicionalmente, la condición aquí sería que la formula esté resulta. O tal vez hay otra forma más fácil pero no la encuentro.

    • 0

      Reacciones de usuarios

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