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

    HOLA DE NUEVO A TODOS. MIREN, ME GUSTARIA COPIAR SOLO UN RANGO DE CELDAS QUE ESTAN VISIBLES A LA MISMA FILA PERO EN OTRA COLUMNA. YA TENGO LOS FILTROS PERO NO ME SALE EL COPIADO Y PEGADO ESPECIAL. ASI TENGO MI CODIGO. Sub filtrop() X = Range("A1").Value ActiveSheet.Range("A2:E11").AutoFilter Field:=3, Criteria1:=">" & X, Operator:=xlFilterValues ActiveSheet.Range("A2:E11").AutoFilter Field:=2, Criteria1:="<" & X, Operator:=xlFilterValues ActiveSheet.Range("A2:E11").AutoFilter Field:=5, Criteria1:=">0" Range("E3").End(xlDown).SpecialCells(xlCellTypeVisible).Copy .PasteSpecial(xlPasteValues).Columns (4) Application.Cu…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 726 visitas
  2. Saludos. Vengo trabajando un libro con macros en Excel 2007 desde hace algunos años para elaborar horarios de profesores en la Facultad donde laboro. Al principio lo hacía bajo Windows XP y operaba muy bien. Cuando tuve que hacerlo en Windows 7 el comportamiento general y las macros al correr lo hace mucho más lento, la diferencia es notable. Se me parece a lo que reportó jguerrerot hace casi un par de años (22-03-12) bajo el título "Lentitud al ejecutar macro en dos máquinas distintas con procesadores diferentes", que entiendo permanece pendiente. Agradecería mucho si me ilustran al respecto y si hay algo que se pueda hacer. Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 579 visitas
  3. Started by agua,

    Hola, he estado buscando por el foro algún tema similar al problema que tengo pero no he conseguido encontrar nada. Mi duda es la siguiente: tengo una hoja Excel donde hay un botón que al pulsar aparece un userform. Cuando la hoja esta minimizada, si quiero que aparezca el userform debo maximizar la hoja y pulsar a continuación el botón. Lo que me gustaría es que al maximizar la hoja, automáticamente apareciese el userform y la hoja quedara minimizada en la barra de abajo de la pantalla. ¿Existe alguna función con la que podría hacer esto? Gracias. Libro1.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 822 visitas
  4. Started by GabrielRaigosa,

    Hola, Estoy adaptando una macro para filtrar varias tablas dinámicas según el valor de una celda, conseguí una macro cuyo alcance son todas las tablas de todas las hojas de un libro, mi pregunta es: ¿que cambio debo en la macro para que los filtros solo se hagan en todas las tablas de una hoja en particular y no en todas las tablas del libro (nombre de la hoja que contiene las tablas "Filtros"), esta es la macro. Private Sub Worksheet_Change(ByVal Target As Range) Dim Hoja As Worksheet Dim TD As PivotTable If Not Intersect(Target, Range("B3")) Is Nothing Then Range("B4:B6").ClearContents 'Recorrer todas las hojas del libro For Each Hoja …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 759 visitas
  5. Started by yordin,

    Buenas Tardes, quería hacer una consulta, habría forma de que al momento de abrir un Documento en Excel este me solicite el usuario y clave pero que estas sean las del Equipo, adicional que el documento permita o no la edición si este usuario tiene permitido poder ver o editar el mismo? espero me puedan ayudar, no tengo un libro de muestra solo pregunto si se puede hacer y si podrían ayudarme.

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 656 visitas
  6. Started by OSKARFER,

    el problema es el siguiente: necesito que me copie en otra hoja lo que se realiza en la hoja conciliacion. pero que lo haga segun el cambio de mes. en otras palabra necesito una copia de cada mes. adicional debe tener una hoja con algo que pida una contraeña para dar el ingreso a las hojas gracias por la ayuda Conciliacion Bancaria ORIGINALII.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 543 visitas
  7. hola . Estoy intentando hacer una macro, donde parte del contenido de la celda , he de buscar la celda que contenga esta información. para cambiar el contenido de la celda encontrada por el contenido de la primera celda. Gracias [TABLE=width: 461] [TR] [TD][/TD] [TD] A[/TD] [TD] B[/TD] [TD] C[/TD] [/TR] [TR] [TD]2[/TD] [TD]StopLoss=63.00000000[/TD] [TD][/TD] [TD]StopLoss=68[/TD] [/TR] [TR] [TD]3[/TD] [TD]StopLoss,F=1[/TD] [TD][/TD] [TD]TakeProfit=165[/TD] [/TR] [TR] [TD]4[/TD] [TD]StopLoss,1=42.00000000[/TD] [TD][/TD] [TD]MA_Period=81[/TD] [/TR] [TR] [TD]5[/TD] [TD]StopLoss,2=1.00000000[/TD] [TD][/TD] [TD]Slippage_MA=35…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 626 visitas
  8. Started by moises2813,

    Amigos, tengo una planilla de sueldos pero al generar el TXT (Ver hoja PDT Plame) solo me genera de 31 trabajadores como máximo x más que ingrese más. Me gustaria que me digan como puedo hacer para que me genere el txt (Remuner trabaj, jornada, otras condiciones y dias subsiados) y archivo afp de la cantidad de trabajadores que ingrese y no solo de 31. Adjunto archivo. Google Drive Gracias,

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 674 visitas
  9. Esta macro es del amigo bigpetroman https://www.ayudaexcel.com/foro/threads/formula-en-celdas-combinadas-al-insertar-nuevas-filas.38578/#post-187998 Le agradezco si puede el mismo hacer la correccion Lo que pretendo es que la misma macro además de lo que hace, (esta mui bien, pega la cantidad de lineas que se insertan en el imput con los valores, formulas y formatos de A la linea anterior a la seleccionada, sin alterar el actual código, un par de líneas mas que pueda yo activar o DESactivar para que no copie los valores de celdas, si los hay. Cuando yo necesite líneas con todo, valores, formulas y formatos, activo el par de líneas referente a valores. Cuando no nece…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2k visitas
  10. Started by joloco,

    Hola amigos en especial MacroAntonio miren ya adapte este calendario a mi ya famoso formato de Todofiesta cosolea y si funciona pero el unico errorsito que me da es la fecha de un dia antes por ejemplo hoy es viernes 17 de agosto de 2012 y en el calendario a la hora de llamarlo aparece viernes 18 de agosto de2012. espero alguien me pueda ayudar.saludos - - - - - Mensaje combinado - - - - - aqui esta el mal, hay que quitar el +1 en esta parte de la macro (ifecha = fecha - Weekday(fecha, vbMonday) + 1). gracias saludos tema resuelto

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 707 visitas
  11. Started by erickarciga,

    Muchas gracias a todos por su tiempo y su ayuda, tengo el siguiente codigo para abrir un archivo de RTF (word) e imprimirlo. Sub Abre_word_imprime_cierra() With CreateObject("word.application") .Visible = False With .Documents.Open("C:\Users\erick\Desktop\archivo.rtf", , , , "password") .PrintOut .Close False End With .Quit End With End Sub Quiero ver si me pueden ayudar con 2 cosas 1 Que imprima 4 paginas en una sola pagina. 2 Que imprima en automático todos los archivos *.rtf de la ruta C:\Users\erick\Desktop\imprimir\ Nota: Los archivo no estan protegidos Muchas gracias por su ayuda!!!

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 923 visitas
  12. Buenos días a todos. necesitaría ayuda con el codigo de un Userform que he creado para que en la pagina de empleados, me añada los datos de un alta nueva. Todo funciona bien, hasta que llega la parte final que ha de ordenar la lista de empleados por Turno, categoria y grupo. Lo hice en office 2007 en casa y funcionaba perfectamente, en el trabajo tenemos office 2003 y al ejecutarlo me da un error de codigo y no ordena la lista. Estoy aprendiendo a crear macros y mis conocimientos son muy limitados por lo que os pido ayuda. el codigo de ordenación lo vi en el foro y lo adapte al programa. Gracias por vuesta ayuda. Empleados.xls

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 768 visitas
  13. hola, excelentísimas personas de este magno Foro estoy recién aprendiendo a usar BVA y estoy tratando de hacer una macros que me permita hacer varios gráficos con su pestaña correspondiente, y que las pestañas queden nombradas con el valor de referencia de la celda que contiene el nombre, para esto grabé la macros realizando uno de los gráficos con el cual estoy modificando, el plan era cambiar la direccionamiento de que trae por defecto ej. "=Hoja1!$Z$1" para usar los objetos Range y celda, conseguí que reconociera el rango pero cuando profundizo con las cells me tirar error de objeto, les pido que me digan en que me estoy equivocando, para poder seguir avanzando por fa…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.9k visitas
  14. Started by rotenman1,

    Hola que tal amigos expertos en excel, el día de hoy vengo con una inquietud que me ha estado quitando el sueño, quisiera si es posible, me ayudasen a resolver este problemita. La situación es esta: tengo un form con un combo y 2 textboxs, los textboxs dependen de lo que haya en el combo, cambiando al momento de que este cambie también. Al principio mi problema era que el combo no me arrojaba los datos correctos a los textboxs si existía un código repetido en el combo, pero esto quedo resuelto gracias a investigación en internet. Pero existe algo que no he podido encontrar por ningún lado. Lo que necesito es que el form sea capaz de modificar la información en la hoja …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 609 visitas
  15. Muy buenos dias Otra ves solicitando su colaboracion ya que no tengo de idea como programar o como realizar este archivo para que quede lo mas optimo posible en un libro excel tengo tres hojas que las voy alimentando a medida de que me llega la informacion BASE PROVEEDOR1 PROVEEDOR2 y una hoja donde voy a realizar las consultas que se llama CONSULTA . Se manejan dos proveedores los cuales manejan diferente codificacion y diferentes criterios por eso no he podido consolidad la información , lo que quiero es que en la hoja CONSULTA pueda colocar un codigo de acuerdo al proveedor y este me llame los datos de las hojas y del proveedor segun este sea. es decir si consu…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 674 visitas
  16. Que tal a todos. Soy nuevo en este foro. Solicito de su apoyo y amable cooperación para realizar un macro el cual su funcion sea la siguiente: Tengo una carpeta con mas de 1000 archivos .xls los cuales quiero unir es un nuevo archivo de excel; los archivos tienen las mismas columnas, el problema es que el rango en cada archivo es variable. En el archivo Juntar.xls tengo lo que llevo de la macro, podrian ayudarme a solucionar este problema. Option Explicit Sub LlenaCuadros() Dim wb As Workbook Dim strArchivoExcel As String Dim strNombreCarpeta As String strNombreCarpeta = PonDiag(ActiveWorkbook.Path) 'preparar carpeta ChDir strNombreCarpeta strArchivoExcel = Dir(…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 4.8k visitas
  17. Started by fdbchp,

    En el documento zip adjuntado he conseguido poner en el commandbutton ENVIAR un código para enviar un mail desde mi cuenta de gmail pero no sé bien como incorporar la transaccion adjuntar archivos y si debería añadir algún cuadro de texto en el formulario para adjuntar la ruta del archivo o si puede aparecer como opcion ¿Pueden ayudarme? enviar email.zip

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 923 visitas
  18. buenas noches tengo un problema con un archivo una suplica para que me puedan auxiliar, tengo lo siguiente; en mi formulario al darle click a la lista muestra los datos de la tabla eso incluye a la imagen, el error radica en que cuando modifico la imagen (por lo general cuando esta en el "borde" de la lista) ya habiendo seleccionado algún elemento del listbox resulta que se selecciona otro elemento del listbox y ya no me permite modificar la imagen del elemento seleccionado, normalmente sucede cuando voy llenando el listbox (capturando información). a ver si MacroAntonio no anda de vacaciones dado que el fue quien me ayudó con este tema. Les agradesco mucho la atención y …

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 651 visitas
  19. Buenas tardes, Navegando por la red encontré el siguiente código, el cual elimina la opción de unhide en excel, el problema es que yo puedo lograr que me aparezca, de antemano agradezco su ayuda. cabe mencionar que he intentado lo siguiente pero no funciona. cbControl.Delete.Reset 'Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean) ' Dim cb As CommandBar, cbControl As CommandBarControl, cbButton As CommandBarButton ' Set cb = Application.CommandBars("Column") ' For Each cbControl In cb.Controls ' If cbControl.Caption = "&Unhide" Then ' cbControl.Delete ' End If ' Next 'End Sub

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 876 visitas
  20. Started by rhg_83,

    Hola amigos del foro. estoy realizando una macro en excel en donde tengo mi base de datos de N registros y quiero pasarlo a un formato de word ya predeterminado y que vaya poniendo aleatoriamente los datos de excel en word y guarde el word en una ruta, lo q pretendo hacer es que se realice masivamente la informacion de excel a word. este es un codigo que estoy utilizando pero este lo hace uno por uno y no guarda el word cuando lo crea espero me puedan orientar para poder realizar este trabajo. Sub exportaraword2() Dim datos(0 To 1, 0 To 4) As String '(columna,fila) patharch = ThisWorkbook.Path & "\Plantilla ASF.docx" Set objWord = CreateObject("Word.Applica…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 2.1k visitas
  21. Started by joseppp,

    Buenas tardes, agradeceria vuestra ayuda. Utilizo hasta ahora una macro que envia un rango de excel en pdf por outlook, la cual, enviaba el mismo pdf a todos los emails de una columna. Ahora lo que necesito es mandar el pdf pero a cada email, modificando cada vez la celda A1 por cada Id de la columna, para que asi se genere un pdf para cada id. La idea es que antes se mandaba un cuadrante a todo el mundo (1 pdf a todos los emails), y ahora quiero enviar el que corresponde a cada uno.(1 pdf a cada email) Imagino que se hara por un bucle, pero no se como insertarlo en la macro. Muchas gracias Calendario1.xlsm

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 769 visitas
    • 1 seguidor
  22. Hola, buenos días. Realmente he buscado en varios foros, antes de hacer la pregunta. Quisiera saber si me podrían ayudar con un problema que he tenido estos días de la nada... Digo de la nada, por que al parecer, se han hecho unos cambios de versiones de servidores, que en teoría no iban a generar problemas. Tengo un script en Excel, donde hago una consulta SQL Server, y extraigo información en base a fechas de entrada... Sin embargo, de la nada ha dejado de funcionar cuando lo ejecuto desde Excel, pero si lo hago desde un IDE de SQL Server se ejecuta perfectamente. Mi VBA es el siguiente: With Me CFechaI = Format(CDate(.ComboBox1.Value & "/"…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 783 visitas
  23. Buneos dias y muchas gracias de tod@s de antemano, tengo una base de datos de personal en la cual tienen asignado un puesto de trabajo asi como un material que se le asigna , me gustaria que cuando finalicen su periodo de trabajo el mateiral asignado , casco, chaleco, linterna, taquilla, se les quitaran y aparecieran como que estan disponibles para poder asignarlos a otra persona. pero si me gustaria que los datos de la persona permanecieran , sin tener asignado material. Muchas gracias por vuestra ayuda. tabla de material.xlsx

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 851 visitas
    • 1 seguidor
  24. Cordial saludo, Requiero su valiosa ayuda para solucionar lo siguiente: En una hoja tengo varias columnas con muchas filas, cada fila contiene 6 valores entre 1 y 60 lo cual represento con el ejemplo del archivo adjunto. Lo que necesito poder lograr a través de código VBA de excel es que en una hoja aparte pueda digitar valores al azar que están en dicha muestra y que con ello el sistema me muestre en esta misma hoja las filas que contienen 5 o 6 valores comunes a los indicados en lo digitado indiferente de la columna en la que se encuentre cada uno de los valores. Remito adjunto ejemplo explicando lo que se necesita. agradezco a quien me pueda ayudar. gracias. bus…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.2k visitas
  25. hola todos tengo dos reportes uno administrativo y otro individual en ambos reportes puse un boton para imprimir, que primero oculta las tres primeras filas y luego seleccionar la impresora a usar para imprimir y luego imprime toda la hoja luego muestra las filas ocultas, eso funcionaba muy bien hasta que empece a proteger las hojas en las macros pongo antes y despues ActiveSheet.Unprotect "ulloa" ActiveSheet.protect "ulloa"[/CODE] pero me genera problemas porque me sale un mensaje diciendome que no puede asignar o cambiar la propiedad hidden de la clase Range me muestra el problema en esta linea [CODE]Selection.EntireRow.Hidden = False[/CODE] probe mostrar la…

    • 0

      Reacciones de usuarios

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