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, buenas noches. Tengo un problema, he declarado en una subrutina el Array OutArr(), y ahora que estoy trabajando en otra subrutina, para la cual necesito recuperar el valor dado a OutArr(2,Idx) pero no sé como hacerlo. El fondo de todo esto es que he guardado en este array datos sobre los archivos contenidos en una carpeta, y luego mas adelante voy a necesitar estos datos otra vez. [Public Sub Folder_List(TheFolders$, Idx As Long, OutArr) Dim fso As Object, Folder As Object Dim SubFol As Object, File As Object On Error Resume Next Set fso = CreateObject("Scripting.FileSystemObject") Set Folder = fso.getfolder(TheFolders) 'Define the array where …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.2k visitas
  2. Buen día a todos, soy principiante en el foro e intermedio en EXCEL, les cuento lo que necesito: Tengo unas bases de datos que contienen una sola columna con unos 100.000 datos (todos numericos) y con esta columna tengo que crear n archivos de n cantidad de datos cada uno (por ejemplo ahora yo copio y pego de a 2.500 datos) alguien me puede guiar como puedo automatizar este proceso??? AHI DEJE EL ARCHIVO ADJUNTO DE EJEMPLO, LO TUVE QUE HACER RAR PORQUE NO LO PODIA SUBIR DE OTRA FORMA saludos Pablo ejemplo 42k de datos.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  3. Started by cora701016,

    Buenas tardes quisiera saber si alguien me podria ayudar con una formula en VBA para acompletar en una hoja , datos de nombres que vengan de otra, anexo hoja en la cual quiero realizar esta operacion ( reporte de pagos empresas ) y otra en donde esta la formula tal y como quiero que quede (listadesplegableconautoajuste) Gracias y Saludos Formato Pagos Empresas.xls ListaDesplegableConAutoAjuste.xls

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 936 visitas
  4. Started by Mohamad Marrawi Marrawi,

    Buenas tardes, Tengo este fragmento de código en el libro, de manera que cada vez que introduzco un valor en una celda de la columna B, me devuelve la fecha en la celda adyacente de la columna C. Me gustaría repetir la misma operación en el mismo libro, de manera que cuando se introduce un valor en las celdas de las columnas E y H, también devuelva las fechas en las celdas adyacentes de las columnas F e I. ¿Alguien sabría indicarme cómo repetir la misma operación? Private Sub Worksheet_Change(ByVal Target As Range) tiempo = Date Set isect = Application.Intersect(Target, Range("B:B")) If Not isect Is Nothing Then If isect.Va…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 662 visitas
    • 1 seguidor
  5. buen dia, me gustaria solicitar su respectiva colaboración y/o apoyo en un documento que estoy trabajando, donde en la hoja A tengo un formato de liquidación del personal la misma se maneja de forma manual, donde la columna A es el código del concepto y la columna J es el valor a cancelar al mismo, estos datos a partir de la lineá 15 de la hoja A suelen repetirse, estoy formulando en la hoja B el resumen de conceptos dependiendo del código, en este caso si en la hoja A aparecen cinco veces el codigo 300 que en la B me sume el total que corresponde a esas cinco veces y así con el resto de valores esto en la hoja B a partir de línea 6 . RESUMEN CARGA LIQUIDACION A SISTE…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 633 visitas
    • 2 seguidores
  6. Started by Quitos83,

    Buenos días,Soy nuevo en el foro y también bastante nuevo en el tema de generar macros en Excel con VB.Necesito hacer un macro en VB para intentar quitar las dobles comillas que me genera al copiar una celda que contenga saltos de línea hacia un Notepad.Muchas Gracias de antemano.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.6k visitas
  7. Started by flipy83,

    Buenas Tengo la necesidad de obtener un listado de pares de celdas relacionadas en cada una de las filas de distintas hojas de Excel. Lo explico mejor en el ejemplo pero en definitiva tengo una gran base de datos con instituciones que publican artículos conjuntamente y necesito cuantificar quienes se relacionan con quien y cuantas veces lo hacen. Aunque el ejemplo está resumido, se trata de gran cantidad de datos con decenas de columnas (artículos con muchos colaboradores) y miles de filas (miles de artículos), así como un gran numero de instituciones implicadas. Espero me puedan ayudar. Muchas gracias. Lista pares de celdas.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 713 visitas
  8. Started by Tannya,

    ¡Hola! Tengo la siguiente inquietud: Necesito mover de un libro de excel, desde la hoja 3 hasta la última hoja a un nuevo libro (el libro hay que crearlo). El nuevo libro se debe llamar "STOCK". Es importante mencionar que la cantidad total de hojas varía, pero siempre son más de 100. Entonces, lo que necesito es que desde la hoja 3 hasta la hoja N, se muevan a un nuevo libro que se llamará "STOCK". Desde ya agradezco cualquier aporte o sugerencia que me puedan brindar al respecto.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  9. Hola, Buenas tardes Alguien tiene idea de como puede detener un bucle infinito Do while con otra macro en VBA excel. Necesito generar 2 CTA a la macro, una para iniciar y otra para poder pararla, pero mientras el bucle se este ejecutado no es posible clicar sobre algún otro botón en excel. El código quiero poder detener es este: Sub Grafico() Application.ScreenUpdating = True Dim wks As Worksheet 'SE INDICA QUE SELECCIONE EL GRÁFICO DE LA HOJA DE CÁLCULO ACTIVA Set wks = ActiveWorkbook.Sheets(8) 'wks.ChartObjects("Gráfico 1").Select DoEvents Dim Inicial, Final, delta As Date delta = Hoja8.Range("C3").Value Inicial = Hoja8.Range("C1").Value Fi…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.4k visitas
  10. Hola, es posible realizar una macro que copie las hojas de varios archivos en una misma carpeta y cuya hoja con datos se llame casi igual y no igual, eso implica que el nombre de las hojas es casi el mismo en todos los archivos, por ejemplo base_0203 , base_0204 , base_0205 ... gracias de antemano... he tratado de usar el comodin * pero no resulta en nombre de hojas

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  11. Started by chochonet,

    Hola. He realizado unas macros en excel y le puse clave al codigo para que no lo puedan ver. Sin embargo, solo por curiosear intente ejecutar las macros en Apache OpenOffice 3 y me percate que es posible ver el codigo sin necesidad de ingresar ninguna clave, ¿es esto normal? Saludos.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 982 visitas
  12. Buenas, A ver si me pueden ayudar con este proyecto que me he trabado y no sé cómo solucionarlo (Soy novato en VBA). La planilla: Tiene dos Hojas (Datos y Resultados). En la Hoja Datos se copian datos (muchos) todos los días y en la hoja Resultados, pues es donde quisiera que Excel me arroje los resultados necesarios. Objetivo de la Macro: copiar las FILAS (o mejor aun las celdas de A, B, C y D) de la Hoja Datos en las cuales SI se duplica el valor de la Columna Código. Las que no están duplicadas, que no se copien ni nada. Podrán observar que ya hay una columna (con titulo Duplicado), que tiene una formula lógica (la misma se inserta automáticamente mediante la Macro)…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  13. Started by MAARIA,

    Hola, Necesito hacer un filtro por medio de casillas de verificación, para que el usuario pueda elegir uno o más criterios, estuve buscando en internet y cree un código basada en algunos que vi pero no me funciona. Se los pego a ver si alguien me puede ayudar. (Tengo 4 columnas con 16 registros, la primera columna es el criterio q quiero filtrar) Sub Search_Click() Application.ScreenUpdating = False If ActiveSheet.AutoFilterMode = True Then ActiveSheet.AutoFilterMode = False M = Array("", "Hub", "Flange", "Segment") For x = 1 To 3 If Controls("Hub,Flange,Segment" & x).Value = False Then M(x) = "" Next ActiveSheet.Range("$A$2:$e$20").AutoFilter , _ F…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  14. Hola Equipo de "Ayuda Excel" Tengo un problema con el ingreso y visualizacion de datos,Quiero ingresar un dato y visualizar datos en celdas especificas de hoja2 desde un form en la hoja1; Gracias de Antemano. celdas.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 548 visitas
  15. Bueno, la idea es que del archivo novedades pueda aplicar lo que se observa el en archivo LISTBOXbuscador. Ese archivo LISTBOX lo encontre en uno de estos foros gracias al usuario Salvador1, trate de aplicar lo mismo pero no me fue posible. La diferencia es que ese buscador ahora sirva para nueve columnas y no tres. Subo mi archivo y el archivo LISTBOX en el que en la hoja3 muestra como lo que quiero lograr en el mio. LISTBOX buscador.rar NOVEDADES.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 739 visitas
  16. Started by DiegoLG,

    Hola amigos como estan? tengo una situación, tengo una base de datos donde descargo información, pero a simple vista en las celdas de excel los datos pareciera como que no tuviera comillas pero si le doy copiar esa celda y le doy control B para buscar ya me pega con " mi pregunta es, ¿como puedo quitar esas comillas ocultas? me surge esta situación ya que al momento de utilizar formula, no me da el resultado por lo mismo de esa comilla. de antemano les agradesco mucho. Libro2.rar

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 15.1k visitas
    • 1 seguidor
  17. Started by zanators,

    Hola a todos buenas tardes, Escribo esta entrada para ver si me pueden ayudar con una herramienta que estoy desarrollando en excel. Necesito colocar dentro de un formulario una imagen (eso no tiene mayor problema) y al momento de dar clic en la imagen que me salga una ventana emergente con un texto que yo asignare. Basicamente lo que quiero es colocar el boton de ayuda (?) como imagen y que al hacer clic despliegue mis comentarios de ayuda para el usuario. Saludos.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 2.1k visitas
  18. Started by carlosdumon,

    buen dia esperando que me puedan contestar una duda que tengo. he creado una macro para copiar y pegar datos de diferentes libros *.csv a un libro *.xls donde consigo copiar y pegar solo 3530 datos. dado que cada libro *.csv hay aproximadamente 3530 datos el resultado final que me arroja el archivo *.xls es solo guarda los datos del ultimo libro que gusdo como si los pegara encima del anterior la macro que hice fue esta [ Sub analisis2() ' ' ' Dim FolderPath As String Dim FileName As String Dim files As String nbre = Format(Now, "dd-mm-yy") files = "C:\pomini2\" & nbre & "\analisis.xlsx" Set car = CreateObject("Scripting.FileSy…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.1k visitas
  19. Started by Gerardo Arevalo,

    Hola de nuevo a todos tengo una pregunta de lo mas tonta, pero no eh dado con la respuesta. Tengo una macro dentro de la cual me hace la resta de una celda y de ahi divide ese resultado entre 10, el resultado es mostrado en %(porcentaje) si hago esta operacion manualmente cuando me posiciono en la celda donde tengo la formula me muestra en la barra de formulas asi =4/10 siendo que la celda me muestra 40%, la macro me hace la operacion automaticamente pero al posicionarme en esta celda solo me aparece en la barra de formulas el 40%, existe alguna forma de hacer que me aparezca como algo asi =4/10, ya copie el formato y lo grabe en la macro pero nada no resulta. Gracias. …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 912 visitas
  20. Started by Majack,

    Hola amigos, Tengo lo siguiente en excel: |USUARIO| |Carlos | Mov.ventas |Mov.Compras| Mov.Salir | Mov.Cuentas | |Diana | Exp.Calcu |Mov.Ventas | |Pedro | Mov.Compras | Como pueden observar cada usuario tiene sus movimientos separados en columnas, lo que quiero lograr es una macro que me transponga los datos que tengo en columnas a filas por cada usuario, por ejemplo que quede algo así: USUARIO| Carlos | Mov.ventas | Carlos | Mov.Compras | Carlos | Mov.Salir | Carlos | Mov.Cuentas | Diana | Exp.Calcu | Diana | Mov.Ventas | Pedro | Mov.Compras | Podrían ayudarme por favor? :so…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 11.4k visitas
  21. Estos son los requerimientos para crear la macro: Procesar la información de diferentes archivos como el que se encuentra en la carpeta Informes. La información de los archivos que se encuentra en la carpeta informes debe ser copiada y pegada en el archivo InformeConsolidado teniendo en cuenta lo siguiente: El documento no debe tener registros repetidos y en la columna Ingreso solo se debe manejar dos estados: Ingreso, No ha ingresado, la macro debe basarse en la información de la columna Ingreso de cada archivo para asignar en el archivo InformeConsolidado cualquiera de los estados mencionados. Si el valor de la columna Ingreso es diferente a Nunca el valor será Ingre…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 847 visitas
  22. Buenos días al foro. Antes que nada, gracias por todas las ayudas y guías que me han brindado. Gracias por dedicar su tiempo en leer nuestras preguntas para darnos una solución. Últimamente me ha tocado codificar cerca de 200 productos de ingeniería, compuestos de planos y documentos según la codificación de mi país, PDVSA. El trabajo es verdaderamente arduo, generalmente se hace a mano, delegando partes del trabajo en varias personas, lo cual incrementa el error de codificación, básicamente en la escritura del mismo. La revisión es más tediosa aun y aunque ya tenemos practica codificando, siempre aparecen los problemas de codificación de productos en plena ejecución …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.4k visitas
  23. Holaa, tengo este código con el que genero la eliminación de celdas vacías porque extraigo archivos que contienen muchos datos Me funciona bien cuando los datos no son muchos, pero cuando son muchos me muestra el error del título Alguna alternativa para solucionarlo? Este es mi código Sub EliminarCeldas() ActiveSheet.UsedRange.SpecialCells(xlCellTypeBlanks).Delete Shift:=xlUp Range("A1").Select End Sub Espero puedan ayudarme! Gracias

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.3k visitas
    • 2 seguidores
  24. resulta que me es muy repetitivo copiar y pegar muchas de las actividades a diario y cambiar algunos que otros valores o informacion, el inconveniente es que son actividades variadas no para un solo vba sino para varios en mi poca experiencia que tengo con vba, entonces la pregunta es como puedo registrar este tipo de informacion usando vba o varios formularios quisiera que me puedan dar una idea porfavor para poder llevar toda esta informacion registrada. 6:00 Relevo de turno de seguridad en garita con prendas y consignas sin novedad. 6:05 Apaga Motores eco 1 con un nivel de reservorio 205/28 de combustib…

    • 1

      Reacciones de usuarios

    • 3 respuestas
    • 586 visitas
    • 4 seguidores
  25. Invitado

    Hola Amigos, nuevamente molestando, saben necesito una macro que me permita copiar números ingresados a otra nueva hoja, sin perder el formato, me explico: al ingresar el numero 107894563, debe aparecer 0010789456-3 y si es con menos números, estos deben aparecer con mas ceros a la izquierda, luego debo copiarlos a una nueva hoja con una macro que requiero y no tengo y que mantenga el formato con los ceros a al izquierda, el guion y el ultimo numero a la derecha (0010789456-3). Adjunto archivo y macro, para un mejor entendimiento. Desde ya agradezco su pronta ayuda a este problema. Gracias Sueldos.xls

    • 0

      Reacciones de usuarios

    • 3 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 [email protected]

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