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

    Buenos días; Hoy estoy muy espeso y mi cabeza no rula na de na…….me puedes ayudar Estoy intentando señalar un rango de celdas en una fila ( de A5 a Axx ), para ello estoy usando “Range(Selection, Selection.End(xlToRight)).Select”, la cosa es.......a lo que señalado tengo que añadirle una celda más. He probado un par de cosas y no doy con ello, la cosa es, que ya lo hice en su momento en una macro hace años pero…..mi cabeza ya no es lo que era. Muchas gracias y un saludo, Ejemplo.xlsm

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.5k visitas
  2. Started by ArmandoR,

    Buenas noches compañeros, adjunto fichero excel que he modificado en función de mis necesidades. En su momento fue colgado en este foro por Antoni (un grandísimo trabajo) y yo he intentado amoldarlo para que se adapte a lo que necesito dentro de la gestión de proyectos. Mi pregunta es si es posible que las barras que se generan puedan incluir además el estado de progreso que se representa en la columna I Muchas gracias TOR_PRUEBA_2.xlsm

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.5k visitas
  3. Started by ednsb,

    Hay alguna forma, tal vez formato condicional, que permita ir bloqueando las celdas en la medida en que estas son rellenadas con datos? Gracias

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.5k visitas
  4. Started by jesus241190,

    Hola buen día, disculpen aquí ya tengo esta macro, la cual envia el mail con sus datos adjuntos, pero nada más se lo envia al primer correo el cual se encuentra en la hoja "Reportes", lo que quiero es que también se lo envié al segundo correo, y no se como modificar la macro para esto, esta configurado con outlook, pero la verdad ya no se como hacerle, espero me puedan ayudar, de verdad mucha gracias por sus comentarios. Saludos. MailAdjunto.rar

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.5k visitas
  5. Started by cristian9209,

    hola Amigos, buenos días! Espero me puedan ayudar realizando esta macro Necesito consolidar la información de 9 archivos de excel en un unico archivo de Excel llamado "Inventario" . Se debe copiar la información en cada uno de los 9 archivos para consolidar una unica fuente de información. TOdos los 9 archivos cuenta con la misma estructura de información. Se debe empezar a copiar la información desde la celda "C6" hasta la cantidad de registros que se encuentren tanto a la derecha como hacia abajo. cualquier inquietud me cuenta y muchas gracias! Inventario - copia.zip

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 1.5k visitas
  6. Buen dia: Gracias por leer mi duda, no soy muy bueno en macros, pero he avanzado un poco en este formato que les pongo por laayuda de este foro(leyendo por aqui y por alla y pegando codigos a los userform)... El problema es que llevo ya algunos dias y no doy con los codigos del segundouser form.. El primer Userform es para llenar un formato de entrega de mercancia (ese ya esta) aunque me gustaria agregarle un boton donde envie por correo la hoja activa(este todavia no investigo ni trabajo en el), pero ademas cuado en este userform1 es que cuandole doy alboton "corregir", me salen las opciones de correcion en otro user form, estas se llenan, pero no se como hacer para q…

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 1.5k visitas
  7. Que tal, soy nuevo en este foro por lo que recurro a vuestra ayuda pararesolver un proceso en Excel con la creación de las macro para vincular 4planillas de carga de datos a una planilla base de datos. Paso a intentarexplicar lo que necesito: En un mismo documento existen 4 solapas de carga que serán completadasdiariamente al recibir cada novedad, ejemplo: 1- Recepción de equipo 2- Entrega de equipo para reparar 3- Regreso de equipo reparado 4- Destino de equipo reparado Cada plantilla individual debe reportar los datos a la base “ Planillade seguimiento” (5ta. Planilla) la cual será la base. Agradecería desde ya una ayuda ya que mis conocimientos …

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
  8. Started by josegomez,

    Saludos a todos solicitando nuevamente su ayuda, lo que deseo hacer es leer desde Excel a Access es decir poder ver la información que contiene Access(tablas,consultas, formularios etc.). Buscando en la red me encontré con este ejemplo que conecta Excel con Access pero no me funciono, no se a que se deba. De antemano muchas gracias. Saludos!!! Leer una base de datos access.zip

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.5k visitas
  9. Started by viejo,

    Obligar al Usuario a llenar Textbox o Combobox hola buenos dias a todos, tengo una duda, intento validar un textbox para que se obligue al usuario a llenarlo con cierta cantidad de caracteres (las que yo decida) o si esta vacio tambien lo obligue una vez que el foco se haya puesto en él. En el archivo de muestra intento validar eso pero no lo logro completar ojala este dentro de su valioso tiempo porderme ayudar a este ejemplo. Gracias validartextboxparallenado.xls

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.5k visitas
  10. Started by georgecy02,

    Buenas tardes, quisiera saber si me podrían ayudar con lo siguiente: - Tengo un sistema de facturación en excel, el cual se ejecuta con un macros, quisiera que almacene los datos de la lista generada en la macros factura en la hoja FActura puesto que solo almacena el ultimo dato ingresado(todo esto esta ubicado en la hoja FACTURA). Muchísimas gracias les adjunto el archivo [ATTACH]38378[/ATTACH] factura.zip

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 1.5k visitas
  11. Hola partiendo de este codigo del miembro ANTONI, necesitarìa si alguien puede modificarlo para que guarde directamente y solo una hoja por archivo ahora guarda 2!!! a ver si alguien puede ayudarme gracias!!!!! Sub CopiarPáginasUnaUna() Dim Página As Integer For Página = 1 To ActiveDocument.BuiltInDocumentProperties(wdPropertyPages) ActiveDocument.Select Selection.GoTo wdGoToPage, wdGoToAbsolute, Página ActiveDocument.Bookmarks("\page").Range.Select Selection.Copy Documents.Add Selection.Paste ActiveDocument.Save ActiveDocument.Close Next End Sub

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.5k visitas
  12. Started by DRAMIDOM,

    Saludos amigos, esta vez luego de mucho tiempo por razones ahora laborales, vengo con un tema que me tiene algo inquietante, se trata de que quiero resolver un asunto relacionado con las redes sociales, en este caso Twitter. He adjuntado un archivo que contiene la explicación. Quiero saber si es posible crear un bot a través de Excel que permita dar RT automáticos de manera que me simplifique el no tener que hacerlo manualmente. Cualquier duda al respecto, favor hacérmelo saber y juntos vamos proponiendo soluciones. Saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.5k visitas
  13. Started by lursaildi,

    Tengo la siguiente Macro, como puedo añadirle al nombre del archivo a guardar me coja un dato más a añadir, el valor de una celda Sub Guardar() nbre = Format(Now, "dd-mm-yyyy hh mm ss") ruta = "\\NTCL02\Calidad_a\Lcalidad\LABORATORIO_VARIOS\Peticion_ de_ensayos_FECHA" ActiveWorkbook.SaveCopyAs ruta & "\" & nbre & ".xlsm" End Sub

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 1.5k visitas
  14. Started by Juan Suarez,

    Estimados recurro nuevamente con otra consulta, Estoy trabajando con access y ahora quiero incorporar clave a la BD, no logro crear una cadena de conexión valida, copio código donde abro la base y carga un combobox, Ingresa siempre a If cn.State <> 1 , no reconoce la clave prpporcionada Saludos. Private Sub CargarComboFormRubrado() Dim cn As Object Dim datos As Object Dim consultaSQL As String Dim conexion As String Dim rutaBaseDatos As String Dim contraseña As String ' Obtengo la ruta donde se encuentra el archivo de Excel actual rutaBaseDatos = ThisWorkbook.Path & "\Rbo.accdb…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 1.5k visitas
    • 1 seguidor
  15. Started by rhg_83,

    hola amigos del foro, estoy realizando una macro en donde tengo un formulario con un combobox y me carga en un listbox los datos, cada vez que selecciono alguna opcion en el combobox me habre un archivo y asi susesivamente. pero el detalle es que me quedan los libros abiertos cada vez que selecciono en el combobox. la pregunta seria como puedo hacer para que al seleccionar en el combobox cierre el libro que tengo actual y me abra el otro y pueda estar cargando en el listbox?? anexo el codigo que tengo actualemnte sub nombre ckick() 'indicar para habilitar la hoja nombre Workbooks.Open Filename:=ThisWorkbook.Path & "\Nuevo_Usuario\" & nombre & ".xlsx" …

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.5k visitas
  16. Hola a toda la comunidad, tengo dos dudas que espero me puedan ayudar por favor, a partir un formulario de Compras, en el que me ayudo mucho el compañero de foro @Macro Antonio resolviendo mis antiguas dudas, y por lo que surgió un problema de códigos para terminar de desarrollar este formulario de Compras. (Adjunto el Archivo en la parte Inferior) El primer problema es cuando agrego los productos al ListBox de mi formulario Compras, y requiero eliminar un producto, lo selecciono y realizo doble click, hasta ese momento todo va bien, pero en caso yo en excel tenga activa otra hoja por ejemplo Productos y no la Hoja Imagen Rowsource del ListBox1 que tiene las filas …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 1.5k visitas
  17. Started by mancera117,

    buen día, tengo un un archivo que al momento de abrirse ejecuta una macro al cual esta llamando otras macros en otros archivos pero en el archivo secundario tengo un InputBox que necesito ponerle una contraseña, pregunta: que tipo de SendKeys necesito poner para que me envié el teclado que necesito? este es el código con comentarios que tengo: Sub AbRaKaDaBrA() BookActivo = ActiveWorkbook.Name Workbooks.Open Filename:="K:\WU\Log Milenio 2.xlsm" Application.Wait (Now + TimeValue("00:00:05")) Application.Run "'Log Milenio 2.xlsm'!GenerameloYa" 'cuando genero la macro "GenerameloYa" esta me brinda un inputbox Application.Wait (Now + TimeValue("00:…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.5k visitas
  18. Saludos a todos, Realice una macro que realiza la simulación Montecarlo, pero debido a mi poca experiencia en programación VBA, el uso excesivo de los ciclos hace que mi programa sea muy lento al realizar varias iteraciones (alrededor de 5000 iteraciones), por lo que necesito ayuda para optimizar el código. Se que se puede usa la sentencia "With Sheets....." pero no entiendo muy bien como se usa. Alguien podria ayudar a optimizar el código? Les presento algunos casos: 1. Primero se carga un archivo con los datos y precios de los títulos que se evaluaran en la simulación Montecarlo, una vez cargados, debo tomar los títulos y colocarlos en otra pestaña, pero estos título…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.5k visitas
  19. Started by DaveRoos,

    Hola. He escrito un Macro en un libro de Excel para que traiga información desde otro archivo de Excel, (ambos .xls), pero el código sólo trae 16.383 filas y las demás las borra. ¿Puede haber un máximo para este tipo de código?¿Por cuál lo puedo reemplazar para que no tenga este problema?. Transcribo el código que hace la conexión y trae los registros: 'crea la conexión Set Conn = New ADODB.Connection Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _ "Data Source= C:\Users\Proyecto\gestion.xls;" & _ "Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1;""" 'crea el recordset Set rs = New ADODB.Recordset 'Selecciona lo…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.5k visitas
  20. Hola, Voy a intentar plantear de nuevo un problema que tengo solucionado pero no de la mejor forma ya que es muy muy lento. Os adjunto un excel de Ejemplo con 2 hojas, la primera hoja contiene los datos tal como salen de mi ERP, la segunda hoja contiene los datos tal como yo los necesito para poder trabajar con ellos como si de una base de datos se tratase. Lo que necesito hacer es que sea más eficiente el código que tengo ya que cuando lo utilizo con archivos mas grandes tarda demasiado. En el archivo está el código que estoy usando , para que quede más claro he puesto con fondo amarillo las filas que deberían ser eliminadas y en naranja pongo el text…

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.5k visitas
  21. Started by enfan,

    Hola como estaN, Camila desde argentina y estoy terminando, Pero me quede trabada y no puedo sacarla a flote El codigo es el siguiente Set RsBusq = .Columns("A2:Z2").Find(what:="cocacola", lookat:=xlWhole, LookIn:=xlValues) If Not RsBusq Is Nothing Then ROFO = RsBusq.Offset(0, 1).Value Necesito que encuentyre todas las palabras"cocacola...." y me copie sus respectivas columnas hacia la derecha, pero no me esta saliendo... Agradezco su ayuda!

    • 0

      Reacciones de usuarios

    • 13 respuestas
    • 1.5k visitas
  22. Buenas tardes, he copiado la macro de un ejemplo y no me funciona en todas las tablas. Agradecería ayuda ya que soy flojito en macros, Adjunto envío archivo. Gracias. prueba.xlsm

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 1.5k visitas
    • 3 seguidores
  23. Started by who23,

    hola espero me puedan ayudar, mi pregunta es la siguente tengo una funcion que se basa en una matriz para realizar una interpolacion pero necesito que cuando la celda H5 cambie su valor eliga un Case y defina la matriz de rango a evaluar para que la funcion quede unicamente asi =lagrange(F10) en vez de =Lagrange(F10,$P$20:$Q$25) osea que la matriz $P$20:$Q$25 La tome como un rango en el case cuando valga "3/4" r3ocas.zip

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.5k visitas
  24. Hola a todos! Quería saber si me pueden ayudar con este problema. El problema surge porque tengo 133 archivos de excel, y me gustaría poder copiarlos a todos en un solo excel, dividiendo la información de cada archivo en una hoja, y respetando el orden de numeracion, es decir, la información del archivo llamado 1, se coloque en la hoja 1, la del archivo dos, en hoja 2, y así sucesivamente. He encontrado Macros que realizan este trabajo, pero copian toda la información en una sola hoja, y el recorrido de Archivos es aleatorio, por lo que me modifica el orden necesario de los mismos. Un saludo y ojalá puedan ayudarme.

    • 0

      Reacciones de usuarios

    • 16 respuestas
    • 1.5k visitas
    • 1 seguidor
  25. Estimado foro, Me dirijo a ustedes con la siguiente cuestión que me tiene retenido en el proyecto final de carrera. Tengo un base de datos con el formato que se muestra en el archivo adjunto, la base de datos va del año 2004 al 2017, en cada libro se encuentran los datos mensuales de cada año. Lo que me gustaría seria crear un código que me hiciera lo siguiente: -Ordenara las fechas de todos los ficheros en orden ascendente en vez de descendente -Eliminara algunas columnas de todos los libros -Introdujera una columna en cada libro con un código que le marcaría yo (NGF04, NGG04,....NGZ05, NGF05..) Una vez tuviera este tratamiento de datos me gustaría copiar cada lib…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.5k 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.