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 a los foreros y maestros del foro, tengo un duda que seguro que me daréis solución, en un listBox tengo una columna llenas de códigos ( al mes me genera mas de 1000 codigos en total) estos van del B01 al B25, con el siguiente macro solo me reporta uno, he probado y no se como hacerlo para que me reporte la información de los 25 codigos y me cuente los generados (ejemplo B01 =124 , B02=78, B03=189 ..etc) mi nivel de macros es de un principiante. Gracias por adelantado Private Sub CommandButton2_Click() For i = 0 To ListBox1.ListCount - 1 If ListBox1.List(i, 5) = "B01" Then Contador = Contador + 1 End If Next i Label3 = "B01 = " & Contad…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  2. Started by cariberecord,

    Tengo este macro que realiza una tarea sencilla, me pueden ayudar a simplificarlo? con la primera inserción que me enseñen puedo hacer el resto, Gracias. Sub llenar() ' ' llenar Macro ' Range("F8").Select Selection.Copy Range("D35").Select Selection.Insert Shift:=xlDown Range("H8").Select Application.CutCopyMode = False Selection.Copy Range("E35").Select Selection.Insert Shift:=xlDown Range("J8").Select Application.CutCopyMode = False Selection.Copy Range("F35").Select Selection.Insert Shift:=xlDown Range("K10").Select Application.CutCopyMode = False Selection.Copy Range("C35").Select Selection.Insert Shift:=xlDown Range("K12").Select Applicatio…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  3. Started by head777,

    Saludos y muy buenos dias! Veran, necesito de su apoyo en una duda que la verdad, no se por donde entrarle. El problema es el siguiente, tengo una macro donde tengo un formulario(Es decir varios textbox, y un boton) en una hoja de excel. En ellos lo que hago es llenar la informacion que necesito, como por ejemplo fecha, montos, nombre del proveedor, etc. Ahora bien, cuando le doy click en guardar hago una copia de la informacion y la pego en otra hoja de excel para tener una bitacora, y para evitar problemas de alteracion de la informacion o que la manipulen hago lo siguiente. '-- Desprotegemos la Hoja. Sheets("Reporte").Unprotect Sheets("Reporte").Unprotect Pas…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.5k visitas
  4. Buen día...; Mi duda es la siguiente... Como se puede observar en la foto, cuando los valores de las celdas; "A2 y B2" Coinciden. se activa un formato condicional ya asignado sobre el rango de celdas; "C8:E9" ... (Fondo Azul,Texto negro).. -¿Se puede asignar una macro al botón "apagar", que que al pulsarlo devuelva el fondo a color negro sobre el rango de celdas, "C8:E9".. Incluso cuando los valores en las celdas "A2 y B2" sigan coincidiendo?. -¿Tal vez en vez de usar una macro sobre el botón apagar, se puede conseguir que el fondo vuelva a negro usando la fecha de un día después?.. -¿o cuando se abra de nuevo la hoja?. -¿Alguna o…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 839 visitas
  5. Buenas tardes, Tras estar intentandolo y no llegar al resultado os transmito la consulta. Tengo en una hoja "denominada hoja1", un rango de celdas de f4:f14. En la celda A1 de la hoja1 tengo un texto. Necesitaria que se buscase en la columna A de la hoja2 la coincidencia de ese texto ubicado en la celda a1 de la hoja1 y pegar el rango en horizontal ubicado en el rango F4:F14 en esa misma linea. Es decir, os pongo un ejemplo: hoja1 celda a1: Pedro rango f4:f14: distintos datos. hoja2 buscar en la columna a el nombre de pedro y en esa fila pegar los valores del rango f4:f14.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 601 visitas
    • 1 seguidor
  6. Started by dff1403,

    Hola a todos, Adjunto mi archivo, el cuel tiene los textbox 13 y 14 que deben ser en formato contabilidad o moneda, en el se muestra el codigo que estoy usando (me lo pasaron por aqui) pero, este no es reconocido como numero, cual seria el codigo que debo usar y donde lo debo colocar para que se pueda ingresar de tal manera, en realidad no manejo muy bien el VB. Muchisimas Gracias por su amable apoyo. Saludos, EJEMPLO OC.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 5.2k visitas
  7. Buenos días, De antemano muchas gracias por vuestra ayuda. Necesito *******mente crear una macro que copie y pegue datos de un rango entre dos archivos de excel diferentes. Tengo los archivos ECUA11 y ECUA; los dos tienen una única hoja (datos) y están en la carpeta C:\Macro. Necesito lo siguiente: una macro para copiar de ECUA11 el rango de celdas B3:H20 y pegarlo -como valores- en ECUA en el rango B3:H20. Hasta el momento, desde ECUA11 he logrado llamar y abrir el archivo ECUA y también seleccionar en ECUA11 el rango a copiar; a partir de ahí no he sido capaz de pegar los datos ya que siempre me falla (especialmente porque no tengo muy claro que tengo que poner en …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
  8. Hola a todos; -Estoy intentando añadir una imagen a los ajustes de impresión y no la carga. No sé donde puede estar el error. Y una duda, ¿como puedo insertar una línea a lo ancho de la hoja?. Lo que tengo ahora mismo solo la inserta a la derecha, podría hacer lo mismo con left y center pero me deja un espacio en blanco y la línea no queda continua. Private Sub btn_Imprimir_Click(): On Error Resume Next With ActiveSheet.PageSetup .PrintArea = ActiveSheet.UsedRange.Address If IsNumeric(Me.TextBox1) Then .Zoom = CDbl(TextBox1) .CenterHeaderPicture.Filename = "C:\Users\Via Norte\Pictures\1.jpg" .RightFooter = "__________________________"…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.2k visitas
  9. Buenos días; Mi problema es el siguiente. Abro un libro Excel que me hace saltar una ventana con las opciones Yes/No. Yo quiero que responda siempre Yes. He probado con todo (Application.enableevents=false/true, Application.displayalerts=false/true, Application.sendkeys "y") pero no funciona porque la acción de abrir el libro es la que hace saltar la ventana. Entonces, ¿hay alguna forma de que dentro de la instrucción Workbooks.Open (Filename:=ruta, Password:="e3t2b4ci").RunAutoMacros which:=xlAutoOpen [code] pueda responder Yes a una ventana qué emerge? Muchas gracias de antemano por vuestro tiempo Un saludo

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.2k visitas
  10. Que tal. Soy nuevo en esto de la programacion y estoy "tratando de automatizar un formato de vacaciones" colocandole un calendario virtual para que de alli se tomen los dias que se ocuparan. En la maquina que uso funciona bien. El detalle es que quiero distribuirlo entre mis compañeros, pero el calendario no aparece en las demas maquinas. Esta tiene Excel 2010 y el archivo ext .xlsm, pero no todas las maquinas tienen el 2010. Agradeceria cualquier ayuda. FormvacWhisho1.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 946 visitas
  11. Started by MVelazquez,

    Saludos! He leído de consultas similares, pero en este caso las columnas a seleccionar tienen intervalos de cada 3 columnas (Seleccionar columna 1, 4, 7, 10... etc) en hojas de hasta 500 columnas con información. Posterior pegar estas columnas en otra hoja quedando contiguas. ¿Tendría que seleccionar cada nombre de columna? Range ("A:A", "D:D", "G:G"... Etc ). Adjunto archivo ejemplo. Mil gracias. Elasticidad de Precios Feb 2021.xlsx

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.3k visitas
  12. Started by Vicentevi,

    Hola, buenas. Mi pregunta es la siguiente; tengo un formulario con preguntas en las que quiero que me contesten mediante la utilizacion del comando checkbox. En cada pregunta tengo 5 checkbox y quiero que cuando la propiedad value de un checkbox cambie, los otros se desactiven para que no puedan seleccionar mas de una respuesta (checkbox.enabled=true). el problema es que tengo muchas preguntas y imaginaos que tengo que implementar 10 lineas de codigo para cada checkbox, teniendo 5 checkbox por cada pregunta y un monton de preguntas. La pregunta es, se podria implementar algun tipo de codigo a nivel de modulo o clase para no tener que hacer esto en cada checkbox de los c…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
  13. Started by thierry1983,

    Hola!! Necesito armar un cuadro de lista dependientes, digamos que dos cuadro de lista. En uno quiero que salga las marcar de autos (Ford, Fiat, BMW, Etc) y dependiente de la selección de la marca en el otro aparezcan los modelos de las diferentes marcas. Gracias

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 831 visitas
  14. Started by Xarlie,

    Buen día les saludo, queria molestarlos con una ayuda de vb tengo un textbox que al momento de guardarlo lo hace como comentario, pero solo lo hace con la celda "H2" pero en si, necesito es que lo guarde en la celda que tiene cargada otro textbox, With Range("H2").Comment ' en este caso quisiera que me guarde en la celda que tiene cargada el textbox 8 que seria la "H" .Visible = True .Text TextBox12.Text .Visible = False End With[/PHP] Gracias por su ayuda

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.5k visitas
  15. Started by Gabyts,

    Duda: Buenas noches necesito copiar una imagen de un archivo de excel con extension .xlam a power point o word, pero no me deja copiar, ni siquiera se selecciona. Les comento que estoy utilizando una extensión de excel donde agrego datos y me gráfica, las cuales necesito acomodar para una presentación y que mis imágenes tengan buena calidad y también al imprimirse. La única forma en que pude copiar la imagen fue con la opción imprimir pantalla y la calidad es muy mala. Agradeceré mucho me orienten si es posible hacer esta operación o no. Saludos cordiales.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 3.9k visitas
  16. Started by celta04,

    Hola: Pregunte en otro sitio y me dijeron que era imposible, pero ayer buceando en el foro vi una pregunta antigua del estilo. La pregunta era si “Es posible alterar el código VBA mediante el propio código VBA”, y era posible, y mi pregunta es: si una macro puede grabar “datos” en sí misma?. La razón: Tengo un archivo Excel “F:\Mi archivo excel.xlsm” con una macro que coge los datos de otro archivo que casi siempre está en la misma ruta, por lo que esa ruta es la que tiene la macro, “D:\Pruebas de Excel\Prueba_1_excel.xls”. Pero si mañana se cambia el directorio del archivo de datos a “D:\Cambio\Prueba_1_excel.xls”, o incluso el nombre “D:\Cambio\Prueba_2_excel.xls”,…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.1k visitas
  17. Started by enrux,

    Hola.. a Todos, Me podrian Colaborar Con este Codigo por Favor.. Estaria Muy Agradecido por que no he podido Realizarlo y lo he intentado Tengo este codigo ancho = Int(.Range("A1").Width + 5) & ";" & Int(.Range("B1").Width + 40) & ";" & _ Int(.Range("C1").Width + 30) & ";" & Int(.Range("D1").Width + 20) & ";" & _ Int(.Range("E1").Width + 20) & ";" & Int(.Range("F1").Width + 30) & ";" & _ Int(.Range("G1").Width + 10) & ";" & Int(.Range("H1").Width + 30) & ";" & _ Int(.Range("I1").Width + 75) & ";" & Int(.Range("J1").Width - 40) & ";" & _ Int(.Range("k1").Width + 3)Com alinear la colum…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 887 visitas
  18. Hola, Veréis tengo un problema, necesito hacer un macro que abra un archivo de texto, éste archivo de texto contiene los datos que me interesan detrás de un separador "//" y quiero que esos valores los copie en una hoja de excel en un determinado orden. Después necesito modificar en esa hoja de excel esos valores y que se vuelvan a grabar en el archivo de texto con la estructura original. Adjunto los archivos, por si es de ayuda. De verdad agradecería cualquier ayuda por mínima que sea. Gracias y un saludo svmfile.zip excelsheet.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
  19. Hola: Tengo un listado, en columna, compuesto por un número, debajo de este siempre aparecerá un 0, hasta que este cambia por otro número, (esta información me la dan de un sap). Hasta ahora y utilizando si condicional, hago que me muestre este número en la celdas cuyo valor es 0. Cómo podría crear una macro, que me lo realizará de manera automática, es decir buscará un valor 0, y pusiera el valor numérico que en encuentre en cualquier linea superior. Os adjunto fichero para más información. Muchas gracias cambia_ceros.rar

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  20. Started by dayfrank,

    Hola buen dia, soy nuevo en el foro y en excel a nivel de conocimientos tambien 🤪 Tengo un formulario que encontre hace un tiempo compartido en la web y me gustaria hacerle una modificacion o mejora para asi poder usarlo en un formato personal que llevo de ventas y gastos en un pequeño proyecto que tengo, pero lamentablemente no conosco de programacion, asi que acudo a esta comunidad a ver si alguien con tiempo y experiencia en el tema me hecha una mano. La cosa va asi, este formulario hace la funcion de un punto de venta, buscas los articulos por medio de un codigo ya establecido en un listado, luego le das a guardar y el guarda esta informacion en una hoja de…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 605 visitas
    • 1 seguidor
  21. Started by curamax,

    Buenas tardes, quisiera generar un archivo en PDF , de una hoja de excel que me hace las ordenes de compra. pero que el nombre de ese PDF pudiera cambiar segun el valor de 3 celdas es decir , el nombre final quedaria algo asi: ordenPROVEEDOR0001.PDF x ejemplo si un proveedor se llama "BOTICA" y la orden de compra que quiero enviar es la 563 , en celda a1 = nombre del provedor "botica" en celda b1 = numero de orden : 563 en celda c3 = que diga "orden" entonces el nombe del pdf la macro junte las celdas seria : ordenBOTICA563.PDF todo esto con un click

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.4k visitas
    • 1 seguidor
  22. Buen día. Mi consulta es la siguiente. Necesito elaborar un formulario VBA para el siguiente fin: - Tengo una tabla de Excel con información de servicios vendidos e instalados al cliente. Cada columna de la tabla trae la siguiente información: "Cuenta", "Orden de Trabajo", "Id Asesor", "Paquete", "Venta", "Fecha Venta", "Fecha Instalación", "Estado Actual". - Quiero que por medio de un formulario VBA se pueda digitar esta información y que se diligenicie automáticamente la tabla (con cada columna según corresponda). Cuando al final se de click sobre un botón llamado: "Agregar Venta". Es decir que en el formulario aparezcan estos campos en forma de cuadros de texto. -A…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 16.5k visitas
  23. Started by claudiofsc6,

    MUY BUENAS MI CONSULTA ES LA SIGUIENTE: TENGO UN ARCHIVO QUE ES MUY GRANDE Y LO CUAL PARA PODER AVANZAR NECESITO QUE LA FILA A3 - L4 COPIE A LAS DEMAS FILAS VACIAS YA QUE SOLO ES UN SOLO ASIENTO ENVIO UN EJEMPLO MAS DETALLADO SOLO E PODIDO LLEGAR A CREAR UNA MACRO QUE SOLO COPIA PERO SOLO EN UNA CELDA LO QUE DESEO ES QUE COPIE A N CELDAS HASTA ENCONTRAR EL ULTIMO VACIO prueba1.xls

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 595 visitas
  24. Hola adjunto una simulación de como aumentar un formulario arriba, abajo, derecha e izquierda por medio de unos botones. Es lo que se me ha ocurrido, no se si vosotros sabéis de alguna otra opción ¿? También preguntar si es posible hacer esto mismo con las teclas del propio teclado ¿?. Lo que si es importante es que siempre haya un procedimiento para recuperar tamaño y posición inicial. Saludos a todos y todas. MTamaño.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 395 visitas
    • 1 seguidor
  25. Started by meduvilla,

    buenas tardes...a todos..los master bueno les comento que en mi Formulario cuando ingreso fecha ejem.11 de marzo y despues al grabar lo lleva a la planilla de excel como 03 del 11 por favor me pueden ayudar a solucionar detalle ..(Gracia Totales) fecha de pago.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2k 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 sergio@ayudaexcel.com

Información adicional: Encontrarás más información en la política de privacidad.