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

    buenas tengo esta macro: Sub ImpSeleccion() 'Impresion de seleccion With ActiveSheet.PageSetup .PrintArea = "" .Orientation = xlLandscape 'xlPortrait .PaperSize = xlPaperLetter 'formato carta .BlackAndWhite = False 'incluir colores o no .FitToPagesWide = 1 'reduce el tamaño de la hoja (ancho) .FitToPagesTall = 1 'reduce el tamaño de la hoja (alto) .CenterHorizontally = False 'centrar horizontalmente .CenterVertically = False 'centrar verticalmente End With[/CODE] esta macro imprime una seleccion de una hoja con estas caracteristias orientacion horizontal papel tamaño carta margen 1cm en blanco y negro aplico la macro a un boton, el as…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 4.7k visitas
  2. Buenas tardes, Estoy necesitando ayuda con una macro, necesito copiar de unas celdas no consecutivas y pegarlas en unas columnas de forma tal que e vaya acumulando la información debajo en la ultima fila libre de la columna, todo en la misma hoja. la particularidad es que tampoco es consecutivo el lugar en donde hay que pegar la información. Agradecería mucho su ayuda.. Saludos ejemplo.xls

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 4.7k visitas
  3. Started by commdp,

    Buenas, necesito resolver esta macro simple, voy hasta base definida con "nombre" y luego quiero que abra el formulario que está en "Datos"..."Formulario..." para que ingresen los datos por ahí. Pero se frena en ShowDataForm creo que esta macro es para 2007 y yo trabajo con el 2003. La idea es que se abra el formulario y se termine la macro. Sub auto_openForm() ' Activate the sheet that contains your database. Worksheets("Hoja3").Activate Application.Goto Reference:="base" ' Show the data form for the selected range. ActiveSheet.ShowDataForm End Sub desde ya muchas gracias.

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.7k visitas
  4. Started by victor2012,

    Buenas tardes amigos del foro Necesito de su ayuda con una macro que ejecute los siguiente: Tengo un rango de varios fechas en hoja de excel, entonces seria ejecutar una macro que convierta esas fechas en esta hoja de excel en formato texto. Anexo un archivo con la explicación de como seria esa ejecución. Agradezco mucho su amable atención saludos Victor2012 Libro1.zip

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 4.7k visitas
  5. Ando Atrapado En Mi Proyecto De Control De Almacén en un pequeño error de que no puedo mostrar mas de diez columnas en mi listbox y no se como solucionar ese error lo deje comentado en el listBox programación dejo el archivo para ver si alguien me puede apoyar y pues si el archivo les sirve os dejo como obsequio INVENTARIO.xlsm

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 4.7k visitas
    • 1 seguidor
  6. Started by alvoroto,

    Hola a todxs, os cuanto mi problema que no lo es pero me puede hacer la vida mas fácil y divertida en el trabajo:topsy_turvy: tengo que gestionar un montón de archivos excel con muchas hojas y dentro de estas hojas ciento de miles de direcciones ip:miserable: me gustaría poder buscar en todos los archivos que tengo un dato ya sean numero o letras si tener que ir abriendo cada archivo, y dándole a buscar, son cientos de hojas y pierdo tiempo cada vez que busco algo que desconozco su paradero. resumiendo quiero buscar un dato entre todos los archivos que tengo, espero haberme explicado bien.:distracted: un saludo y gracias por adelantado PD: Excel 2007

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 4.7k visitas
  7. Started by osesna16,

    Hola a todos, buena noche: No tengo mucha experiencia en Macros y recurro a ustedes para generar una macro que me genere un Layout partiendo de la Hoja "FORMATO DE PRENOMINA", lo que requiero, es que solo las columnas que estan visibles las lea, es decir, si la columna AL tiene datos, lea solamente los que estan llenados y los copie en la Hoja de "Excepciones" en la columna F, despues, que esa misma selección, agarre la columna F de "FORMATO DE PRENOMINA" y vaya a la hoja de "excepciones" y la copie en la columna D, y en la columna C de "Excepciones", me ponga el concepto de la columna que estoy vaciando, es decir "P0017" a esos registros, si la columna AL no tiene datos…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 4.7k visitas
  8. Started by mariokike,

    srs. buen dia mi pregunta es esta: porque un macro que grave en mi computadora cuando lo envio por correo a otra persona, a esa otra persona no le funciona Saludos

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 4.7k visitas
  9. Started by yordin,

    Buenos dias. nuevamente yo por aca con una consulta o petición de ayuda, es lo siguiente, en mi lugar de trabajo tengo un archivo o base de datos en Excel el cual tengo adaptado con varias macros y Userform para la emisión de constancias de trabajo, pero queria adaptarle una macro que verifique dicha constancia no halla sido emitida en los últimos 20 dias como podria hacer. Estoy usando una macro que me verifica que el dato no este repetido es la siguiente: Sub VALIDAR() Application.ScreenUpdating = False Application.Calculation = xlCalculationManual Application.EnableEvents = False ActiveSheet.DisplayPageBreaks = False Set H1 = Sheets…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 4.7k visitas
  10. Started by xinortiz,

    Buenas tardes, acudo nuevamente a su ayuda, estoy intentando hacer un registro de asistencia a la Iglesia a donde asisto la asistencia esta dividida en CLASES, cada CLASE tiene un MAESTRO y cada MAESTRO tiene sus ALUMNOS las CLASES supone que es cada Hoja, dentro de la hoja esta el registro de Alumnos con su respectivo maestro Lo que intento hacer es lo siguiente: 1° combobox me muestra las CLASES (Hojas) 2° combobox me muestra los MAESTROS (de la CLASE seleccionada) 1° listbox me muestra los ALUMNOS del MAESTRO seleccionado Los errores que tengo: 1° combobox me muestra las CLASES (Hojas) - muestra todas las hojas, solo…

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 4.7k visitas
    • 1 seguidor
  11. Started by JuanP,

    Hola, he visto algunos tutoriales para crear un botón que no sea el típico que se crea desde control de formulario, y he visto que se puede crear desde el menú Insertar > Formas, pero esos botones creados no tienen el efecto de movimiento que se aplasta no se si lo llaman Efecto Down, me llamo la curiosidad y he intentado preguntar y buscar información para ver si se puede poner dos imágenes para crear un botón con ese efecto de movimiento de pulsación. ¿Sabe alguien si se puede crear un botón por ejemplo con estas dos imágenes, que al pulsar sobre la primera imagen se cambie por la segunda imagen para abrir una macro? No sé si en lugar de un archivo P…

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 4.7k visitas
  12. Started by KAITEKI,

    Buenas tardes. Estoy intentando hacer una hoja que sirva para el juego de "Bingo". Falta todavía implementarle varias cosas, como por ejemplo la comprobación de la línea y el bingo, pero por ahora, encuentro unos pequeños inconvenientes, que no sé cómo solventar. Aparte de que me he vuelto loco para que el wait funcione medianamente bien, porque dependiendo de dónde coloque las líneas y dónde coloque el comando application.wait, los números se cantan y aparecen en la pantalla a su bola. Parece que ahora con la estructura que tengo, funciona medianamente bien. Me surgen dos problemas: Uno es que si nada más empezar el sorteo, doy a ESCAPE, …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 4.7k visitas
  13. Started by Dhen,

    Hola, buenos días a tod@s! Estoy trabajando con un libro de Excel que genero tras un código desde Access mediante VB. En este fichero, una vez abierto, quiero incluir un segmento de código que lea unos valores de texto y los vaya escribiendo, de manera vertical, en una línea. Mi problema es que la primera vez que lo ejecuto funciona y me genera un Excel tal y como lo quiero. Pero (bien cierre el informe Excel que se acabe de generar o lo deje minimizado) a la segunda vez que ejecuto el código ya no funciona y no hace nada, o bien me da el error: <Object variable or with block variable not set> ¿Alguien sabe por qué podría ser? mi segmento de código es el sigui…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 4.7k visitas
  14. Started by Pirtrafilla,

    Hola de nuevo. Sigo peleándome con mi proyecto. Lo cierto es que ya lo tengo prácticamente terminado, pero necesito acabar esto que me está volviendo a dar quebraderos de cabeza. He buscado en la red y este problema se plantea bastantes veces y he adaptado de una manera muy básica un código para un Textbox. Veréis en la captura que el formulario tiene muchos Textbox. La idea es la siguiente, en los Textbox H.Entrada, H.Salida y Tiempo NO efectivo, recojo los datos de una tabla Excel. Quedaría así una vez busco un empleado y una fecha. Lo que pretendo es poder modificarlos. o bien borrando el dato (dejándolo en blanco) o modificando la hora. Para …

    • 0

      Reacciones de usuarios

    • 18 respuestas
    • 4.7k visitas
    • 1 seguidor
  15. Started by segalo,

    Buen Dia Tengo la siguiente macro y requiero sumar las columnas con filtrro particular cada una y copiar este valor, para ello tengo el siguiente codigo, pero cuando cambian los valores ya no me funciona y eso que identifico la ultima columna con formula, me podrian ayudar revisandola y viendo como la podria modificar esta es la parte de la suma 'suma Range(LE & 10).Select Range(Selection, Selection.End(xlDown)).Select Range(LE & 11).Select Selection.End(xlDown).Select Range(LE & fila).Select Application.CutCopyMode = False ActiveCell.FormulaR1C1 = "=SUBTOTAL(9,R[-482]C:R[-2]C)" Range(L…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 4.7k visitas
  16. Started by Gaspatin,

    Hola a todos: Tengo lo siguiente en el libro de VBA: [DBOX]Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) On Error Resume Next If Not Intersect(Target, Range("B4:H14,B6:H6")) Is Nothing Then ActiveCell.Value = ActiveCell.Offset(0, -1).Value + ActiveCell.Value End If End Sub [/DBOX] Lo que quiero es que al introducir un dato en cualquiera de esas celdas me sume ese valor con el dato y me deje ese dato en la misma celda. Lo he intentado de otras maneras pero me genera una especie de bucle y no he podido solucionarlo, y las que les describo me datos diferentes. Si de favor pueden ayudarme. Gracias.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 4.7k visitas
  17. Hola Necesito de su ayuda, he intentado crear un UserForm que me permita buscar entre varias bases de datos (Hojas de un mismo Libro) y luego actualizar el resultado si es necesario como sigue: Cada base de datos (hojas)esta compuesta por valores de Fecha Estado Cantidad Tipo Destino Movimiento 2/1/2013 Pendiente 100 SIM Buenos Aires 12345 El UserForm q trato de crear viene dado por: TextBox1 que contiene el criterio de busqueda, en este caso un numero de "Movimiento" TextBox2 que me entregue el valor de la columna "Estado" (llamese: Preparado, Pendiente, Entregado, etc.) asociado a la misma fila del "Movimiento…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 4.7k visitas
  18. Hola: Alguien con Excel 2007 me puede probar el formulario del adjunto. Parece ser que al realizar búsquedas se produce el error que cito en el título de la consulta. Yo tengo Excel 2010 y no consigo reproducir el error. Ver último adjunto de este tema: https://www.ayudaexcel.com/foro/macros-programacion-vba-10/poner-barra-progreso-boton-buscar-30114/ Gracias anticipadas.

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.6k visitas
  19. buenos días, Tengo el siguiente macro. Es para copiar una hoja y dar nombre de acuerdo a una lista. Sin embargo, cuando agrego un nombre mas en la lista me da erro. Alguien me puede ayudar? Sub Copia() Dim C As Range Application.ScreenUpdating = False For Each C In Range("A2", Range("A" & Rows.Count).End(xlUp)) Sheets("Molde").Copy , Sheets(Sheets.Count) With ActiveSheet .Range("A5") = ? .Name = Left(C.Offset(, 1), 31) End With Next C Application.ScreenUpdating = True End Sub Ejemplo Copiar Hoja.xlsm

    • 0

      Reacciones de usuarios

    • 12 respuestas
    • 4.6k visitas
  20. Hola intento buscar un tema que ya estaba en el antiguo foro pero que no veo el ejemplo a ver si alguien me puede ayudar. Es de Never y es leer un archivo pdf leer determinados campos y coger esos campos y pasarlos a excel. Gracias por la ayuda

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 4.6k visitas
  21. parte del codigo y donde se produce el error es el siguiente, mas abajo se produe el error: FechaInicial_2013 = Workbooks(LibroActivo).Sheets(hojaactiva).Cells(1, 2).Value FechaFinal_2013 = Workbooks(LibroActivo).Sheets(hojaactiva).Cells(2, 2).Value FechaInicial_2014 = Workbooks(LibroActivo).Sheets(hojaactiva).Cells(3, 2).Value FechaFinal_2014 = Workbooks(LibroActivo).Sheets(hojaactiva).Cells(4, 2).Value Application.ScreenUpdating = False Set pt = ActiveSheet.PivotTables("Tabla din?mica1") Set pf = pt.PivotFields("Fecha") For Each pi In pt.PivotFields("Fecha").PivotItems FechaComparacion = VBA.Format(pi.Value, "dd/mm/yyyy") 'CDate(pi.Value) If FechaComparacion &…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 4.6k visitas
  22. Started by NandoU,

    Hola a todos quisieran que me ayuden si es posible crear un macro para salto de celdas determinadas, les explico yo estoy trabajando con 4 columnas A , B , C ,D.. y bueno comienzo a digitar con la celda A1, despues B1, C1 y D1.. y lo que quiero es qe cuando termine de digitar en la celda D1 se pase a la celda A2 y asi sucecivamente llego a la D2 y se pase automaticamente a la A3 y asi.. Espero que me ayuden y me expliquen como aplicar el macro como y donde lo pondria... ya que soy nuevo en estas cosas

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 4.6k visitas
  23. Started by diegopaula,

    Buenos dias me pregunto si me pudiesen ayudar tengo una macro que se conecta a una base de datos de acces 2010 y me conecta bien pero en el momento que le coloco contraseña a la base de datos de acces 2010 no me reconoce la contraseña y se pierde la conexion me gustaria seber como resolverlo esta es l aconexion que utilizo: .ActiveConnection = "Provider=Microsoft.ACE.OLEDB.12.0; " & "data source=" & ThisWorkbook.path & "\BDFERRYSERVICES.accdb;" & "Jet OLEDB:Database Password=SYSWORK2012;" Muchas gracias

    • 0

      Reacciones de usuarios

    • 17 respuestas
    • 4.6k visitas
  24. Started by xboxfile,

    Bloque hojasHola que tal? Querría hacer una consulta muy simple, y es que el bloqueo de hojas para trabajar con macros es un poco engorroso. Mi consulta es: ¿Hay alguna manera de bloquear hojas solo a nivel de usuario y que en las macros no tengan que desbloquear y bloquear cada vez que trabajen? Algo como los permisos en Windows, que hay para admin, sistem, user, etc. Supongo que será la pregunta del millón, pero sería un chollo que se pudiera hacer. Gracias y un cordial saludo

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 4.6k visitas
  25. Started by Daniel_E,

    Saludos!, Estoy importando datos desde una pagina web hacia mi libro de excel, otras macros realizan otras operaciones con dichos datos, El problema que tengo actualmente es que en algunas ocaciones el excel muestra un mensaje emergente y detiene todas las macros que se están ejecutando, hasta que el usuario presione "Aceptar" (Adjunto mensaje) Quisiera que el excel no muestre ningún mensaje y que las macros sigan ejecutándose, o que de alguna manera los acepte, (espero poder explicarme), En internet encontre esta linea de comando "" Application.DisplayAlerts = False "" Pero no me funciona, o al menos el mensaje sigue saliendo, Mil Gracias, …

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 4.6k 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.