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. Buenos días Soy nuevo en al foro, y tengo un pequeño problema, estoy intentando comparar 2 columnas de dos hojas y cuando coincidan los valores (código de producto) me haga una suma acumulada, he probado con todas las fórmulas que se y no consigo solucionarlo, a ver si me podeis hechar un cable El asunto es comparar la columna a de las dos hojas y si coincide el codigo, sumar la celda correspondiente de la columna cantidad de la hoja albaran a la misma columna de la hoja stock y que acumule la suma Gracias de antemano EXCEL ALMACEN.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 809 visitas
  2. Estimados, alguien me podría dar una mano con este tema? necesito poder contar celdas de colores, los cuales cambian en función del formato condicional, estuve buscando por la web pero ninguna de ls publicaciones me fue de utilidad. Gracias. Saludos.

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 4.2k visitas
  3. Buenos dias, amigos espero me puedan ayudar con este problema que encontre. Tengo abierto un formulario1 donde hay un listview, llamo al formulario2 donde ingreso los datos para el listview del formulario1, el problema es que al cerrar el formulario2, quisiera que el foco pase al listview, pero no lo consigo: Private Sub btnAceptar_Click() Call Agregar_Asientos_Voucher Unload Me UFVouchers.ListView1.SetFocus ''AQUI Mando el foco pero no lo reconoce End Sub Sub Agregar_Asientos_Voucher() Dim i As Integer With UFVouchers.ListView1 i = .ListItems.Count + 1 Rem MsgBox .ListItems.Count .ListItems.Add(i).Text = UFSubVouchers.txtCtaCbl…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 979 visitas
  4. Started by nickmartinez,

    manejo actualmente un formulario que pretende hacer que se reproduzca la vos de excel con el metodo Speech pero la reproduccion de la voz debe mencionar el valor de un combobox y eso me da error,es posible hacerlo? aqui el codigo para su evaluacion Sub voz() Dim var As String var = Userform1.ComboBox1.Value Application.Speech.Speak "var" End Sub

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.6k visitas
  5. Buenos dias: Tengo un archivo "original.xls" tipo listado con muchas filas. MAT.CONS se repite en varias filas y la siguiente columna tiene MATERIAS asociadas a ese MAT.CONS Quería conseguir con una macro que quedara como vemos en "agrupado.xls". Es decir, ver solo la fila con la primera aparición de MAT.CONS y solo en el caso de pulsar el botón + poder ver el resto de las filas. Si no me he explicado bien, puedo aclarar cualquier duda. Muchas gracias Agrupado.xlsx original.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 784 visitas
  6. Estimados Amigos, Buenas noches, una vez más requiriendo de su valiosa ayuda. Esta vez con el tema de saber más acerca de poder optimizar el BuscarV bajo vba, (VLOOKUP), ya que tengo un libro de unos 300000k registros y realmente ha tardado una eternidad en conseguir el objetivo aplicando formular1c1 y applicationvlookup. Consultando por ahí en google me encontré con el tema de los arrays y diccionarios, que increíblemente optimizan el trabajo de los vlookup en vba, pasando de hacer el trabajo de 30 minutos a 10 segundos sin exagerar. He intentando con un código que me ayudaron en un foro en inglés sin embargo no logro hacerlo trabajar además que soy nuevo en …

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 2.2k visitas
  7. Started by TREBUR,

    Buenas noches, ¿Se pueden descomponer intervalos de fechas utilizando macros? La intención es extraer la cantidad de días entre la fecha inicio y la fecha fin, y a su vez colocarlos automáticamente en el respectivo MES. Adjunto archivo de muestra... descomponer_fech.xlsx

    • 0

      Reacciones de usuarios

    • 9 respuestas
    • 1.5k visitas
  8. Started by pepe1970,

    hola necesitaría saber como hacer para enviar de un listbox a una hoja de excel y que cada vez que envié el dato no reemplace el anterior sino que agregue una linea gracias

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 751 visitas
  9. Started by howling,

    buenas noches nesecito un poco de ayuda con una macro lo explico la macro busca la ultima fila con datos y luego deberia copiar desde esa selda seleccionada hacia la derecha(rango variable) luego pegar en una columna de otra hoja buscando la ultima fila vacia con trasponer espero haberme explicado lo mejor posible a continuacion solo he llegado hasta esta, pero no encuentro el resto Dim ultimaFila As Integer ultimaFila = Cells(Rows.Count, 3).End(xlUp).Select

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 8.5k visitas
  10. Started by Manuel TR,

    Hola a todos, si alguien me pudiera ayudar a modificar una macro que encontré por ahí, la cual consolida varias columnas en una sola, para ello primero se tiene que seleccionar el rango a consolidar y luego ejecutamos la macro y la consolidación se realiza justo en la columna siguiente del rango seleccionado y lo que deseo es que la consolidación se realice pero no en la columna siguiente si no en la tercera columna siguiente del rango seleccionado. Muchas gracias Sub rango_columnas() 'macro une varias columnas en una sola columna 'para ello primero seleccionamos el rango a unir 'y luego ejecutamos la macro Dim rango As Variant Dim i As Long…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.6k visitas
  11. Buenas noches, me podéis ayudar con esta macro? es para generar codigo de barras, la cuestion que solo me funciona de la siguiente manera: Code128 20, 20, 20, 1.1, ThisWorkbook.ActiveSheet, "11Q94PTT" Pero me gustaría que se cambiara con un rango de una celda. ¿ seria posible algo asi? pero me da error Code128 20, 20, 20, 1.1, ThisWorkbook.ActiveSheet.Range("=F1C1") y mil gracias code128.rar

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 849 visitas
  12. Estimados Amigos, Buenos días, tengo el siguiente libro que realiza un procedimiento basado en buscar la última fila con información y recuperar el rango en la columna E. Me gustaría poder trabajarlo únicamente con un rango seleccionado, es decir, que cuando ejecute la macro no lo haga para todo el rango si no para el rango que seleccioné. Alguien me podría dar una mano por favor. Gracias. libropruebas.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 2.4k visitas
  13. Started by jose_luisc,

    Buen día gente del foro, acá estoy con otra consulta: le asigné a una figura que está en la hoja "Busqueda B.VENTAS" una macro para que me dirija a la celda G4 de esa misma hoja, pero ahora sumé otra hoja y necesito agregarle a ese código un condicional que evalúe: si el valor de la celda H3 que está en la hoja "VENTAS" es mayor a 21 entonces me debería dirigir a la celda G4 de hoja "Busqueda B.VENTAS" (que es donde está el botón) y si es menor o igual, que me lleve a la hoja "FACTURA MEDIA" en la celda G4. Desde ya muchas gracias Ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.7k visitas
  14. Estimados Amigos, Buenas tardes, tengo una pregunta sobre como podría optimizar una macro que recorre 300.000 registros y concatena información con el siguiente código: Sub ConcatenaColumnas() Dim numzeros As String numzeros = "0000000000" Range("A:B").Select Selection.NumberFormat = "@" Range("E3").Select '------------------Columna Validación-------------------------------------------------------------------------------------------- Do While ActiveCell <> "" 'Bucle hasta la celda este en blanco ''de la celda activada retroceder xx números (0, -xx) a la izquierda y escribir fórmula ActiveCell.Offset(0, -4).FormulaR1C1 = _ …

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.2k visitas
  15. Buenos días, Les comento que actualmente estoy trabajando en un proyecto en el cual tengo 5 formularios pero me acabo de dar cuenta que si abro cualquiera no puedo y utilizar Excel ya que trate de copiar unos datos a mi formulario pero no funciona si no hasta que cierro el formulario. Ya estuve revisando este tema pero no se si le moví algo o es normal que esto suceda? Si alguien me podría orientar al respecto se los agradecería Saludos

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 596 visitas
  16. Started by Felipe Torres,

    Estimados quien sabe como puedo acelerar el procedimiento para guardar registros, ya que el archivo adjunto realiza lo que quiero con pocos registros, pero si coloco mas registros en la hoja, se me queda pegado el excel y se demora en guardar, como a las 3 o 4 minutos para terminar el procedimiento. ¿Hay algún proc mas efectivo? La idea es llevar los registros visualizados en la hoja excel a una tabla de una base de datos SQLite. Libro1.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.9k visitas
  17. Started by eugeniocol,

    Hola buenas. Necesitaria una macro para copiar pegra de una hoja a otra con un criterio. Copiar pegar L:R si en R >0 Salud2.

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 2.9k visitas
  18. Invitado Juan Pelfort
    Started by Invitado Juan Pelfort ,

    Hola, no puedo mandar el programilla porque "pesa mucho" pero si alguien puede ayudarme, me pasa una cosa muy rara. Tengo un programa que funciona perfectamente, he hecho una macro para "Borrar" y me pone unas formas al color que yo quiero, me borra el contenido de celdas, al final del código tengo Range("A1").Select y no va ahí va a la celda F22, lo he probado de varias maneras y siempre igual, incluso si voy a cualquier celda de la Hoja (Excel) al dar a la macro "Borrar" me lleva a esta celda en vez de a la de A1, alguien me puede ayudar ? PD esta celda F22 es una celda activa en otras partes del programa, pero si a mi macro le digo A1 debería ser A1 …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 824 visitas
  19. Started by Santiago Di Landro,

    Buenos días a todos. No tengo experiencia usando macros pero me doy cuenta que son fundamentales cuándo trabajamos por ejemplo con grandes datos. Tengo una planilla como la del ejemplo adjunto donde para distintas fechas se analizan distintas características de cada pescado (chico), por ejemplo estadio de desarrollo. Mi objetivo es poder generar una nueva tabla como muestro en el ejemplo que me permita en definitiva gráficar en el tiempo para cada chip (pescado) los cambios en una característica, en este caso estadio. Agradezco mucho toda la ayuda que puedan darme. BAE Lote 1 Ejemplo.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 685 visitas
  20. Started by Dinkys,

    Buenos días, A ver si alguien me puede ayudar con esta macro : Lo que necesito es poner la ruta que hay + todas las subcarpetas que hay después de \2019 Pedidos\..... y no se como hacerlo, Gracias de antemano Sub Proceso_hipervínculo_al_pedido() Ruta = "\\192.169.11.18\RecursosCompartidos\ADMINISTRACION-VENTAS\Interdepartamental\2019 Pedidos\" parte = ActiveCell.Value Set fso = CreateObject("scripting.filesystemobject") Set carpeta = fso.getFolder(Ruta) For Each archivo In carpeta.Files If archivo.Name Like "*" & parte & "*" And Right(archivo, 3) = "pdf" Then Shell "C:\Program Files (x86)\Adobe\Acrobat D…

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 3.4k visitas
  21. Invitado Juan Pelfort
    Started by Invitado Juan Pelfort ,

    Buenos días a todos, ya se hacer un MsgBox en ThisWorkbook ya se hacer un UserForm (como información) dentro de un programa, pero no se hacer Un UserForm en ThisWorkbook que arranque al abrir un Libro (Excel) dentro un programa ya tengo un Userform con el siguiente nombre: Private Sub UserForm_Initialize () aparte de decirme como lo hago, debo cambiar este nombre al UserForm nuevo ? Como siempre, muchas gracias

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.6k visitas
  22. Hola a todos, tengo un ComboBox que tiene distintas fechas de enero de 2017 hasta diciembre de 2020. El problema es que cuando selecciono la fecha 01-02-2017 en el listado al escribir dicho valor en una celda de excel me escribe 02-01-2017. Como pueden ver en la foto el valor del ComboBox es 01/02/2017 pero en la celda B2 aparece 02-01-2017. Cómo se puede arreglar eso? Saludos a todos!

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.7k visitas
  23. Hola a todos, quisiera saber como poder utilizar en una forma una variable que con tiene el nombre de una hoja de Excel. Por ejemplo en vez de que diga el nombre de la hoja esté el valor de la variable. Saludos!

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.8k visitas
  24. Started by Armando,

    Muy buen Dia/Noche me suscribi a esta pagina con la intencion de encotrar ayuda pero cuando creo encontrarla me arroja un herror y lo unico que deseo es lo siguiente yo estoy a cargo de un estacionamiento y en ocaciones por cuestion del exceso de trabajo cometo herrores en la cuenta de horas ya que tengo que realizar el conteo mentalmente y no he podido dar con el clave 1 hora de entrada 2 hora de salida tendra que ser la hora actual del systema 3 seleccionar tres rangos de cobro (1.- 30 minutos gratis 2.- 90 minutos gratis y el tercero seria el 100% del tiempo gratis esto es para los clientes VIP) 4 numero de boleto o serie 5 tota…

    • 0

      Reacciones de usuarios

    • 14 respuestas
    • 2.5k visitas
  25. Started by Jose BN,

    Buenas tardes, Amig@s del foro quisiera solicitarles apoyo estoy intentando conseguir una macro que se ejecute en una hora determinada para esto estoy utilizado el siguiente evento: Private Sub Workbook_Open() MsgBox "Es importante recordar enviar el correo de los marchamos retirados al Laboratorio!!" & vbNewLine & "Revisar el retiro de las muestras de leche en almacenes", vbExclamation, "JBalladares ---- Aviso automático" Application.OnTime TimeValue("17:21:00"), "Recordar" End sub Hasta ahí cuando el libro se abre, se ejecuta una macro que lanza un MsgBox en la hora establecida, pero quisiera condicionarlo a que si el valor de una celda co…

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 4.9k 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.