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 buenos dias estoy comenzando en la programacion de macros, pero aun no soy muy bueno por lo que trabajo con la opcion grabar de macro y en este caso la macro que grabe fue copiar el formato de una fila a otra lo cual me genero el siguiente codigo: Rows("6:6").Copy Rows("5:5").PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Application.CutCopyMode = False aunque cuando ejecuto la macro esta tiende a demorarse y he visto que es debido a esta parte de la grabacion, por lo cual me gustaria contar con su ayuda para poder hacer este codigo mas simple y que se ejecute mas rapido, gracias.

    • 0

      Reacciones de usuarios

    • 15 respuestas
    • 890 visitas
    • 1 seguidor
  2. buenos dias, necesito vuestra ayuda. tengo un formulario en el que tiene dos option button dos textbox y un command. la idea es que el usuario cuando quiera saber una edad dependiendo el option button que elija le dara una edad real o actuarial. me explico. optionbutton1. Alta de asegurados en poliza. (este codigo ya lo tengo creado) es la edad real con la que el asegurado contrata calculando la edad a fecha de hoy. optionbutton2. Asegurados en vigor. (necesito codigo porque no soy capaz) esta edad se calcula restando la fecha de nacimiento y el 31/12/2022. adjunto fichero con el formulario hecho. gracias! Calcular_Edad.xlsm

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 975 visitas
    • 2 seguidores
  3. Started by gabolcx1,

    Hola, estoy queriendo exportar una hoja del archivo como pdf pero al querer guardarlo en un disco compartido (server) me da error. Aclaro que al querer hacerlo en mi disco local C si me lo permite y tambien puedo exportar la hoja como xlsx en el disco compartido pero al querer hacerlo como pdf me lo impide. La linea que utilizo es Hoja2.ExportAsFixedFormat Type:=xlTypePDF, _ Filename:=RutaEnDiscoCompartido & "\" & NombreArchivo & ".pdf", Cuando remplazo la RutaEnDiscoCompartido por una en el disco local si me permite exportarla Muchas gracias

    • 0

      Reacciones de usuarios

    • 8 respuestas
    • 737 visitas
    • 1 seguidor
  4. Started by 96andres96,

    Buenas tardes, me ha pasado algo muy raro, ya que sin saber un formulario me ha dejado de funcionar. El formulario se llama Bebida entonces en una macro tengo lo siguiente para abrirlo Sub MacroBebidas() Load Bebida Bebida.Show End Sub Hasta este entonces la macro ha funcionado bien, de hecho, esto funciona para el resto de formularios pero este formulario me ha dejado de funcionar de un momento a otro sin hacer cambios en él, ya que cuando ejecuto la macro me sale: "Error 424. Se requiere un objeto". He mirado varias veces si el nombre está bien escrito, y sí. De hecho, si estoy en el formulario y quiero ejecutarlo (sin usar macro…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 772 visitas
    • 2 seguidores
  5. Hola a todos; Rehago de nuevo la consulta de ayer, a ver si es más fácil. En el formulario he puesto dos listBox que alimento con registros usando los botones Examinar y Examinar2 Una vez cargados los registros, ¿se puede crear un procedimiento para que nos indique los items que no se repiten en ambos listbox?, usando para ello el botón "Buscar <>". Adjunto imagen de ejemplo Una vez detectados deben quedar seleccionados. Los listBox tienen establecida la propiedad Multiselect. Imagino que tendrá que ser con algún tipo de bucle y comparar pero me pierdo un poco. Saludos. MDir.xlsm

    • 0

      Reacciones de usuarios

    • 17 respuestas
    • 1.1k visitas
    • 1 seguidor
  6. Hola queridos foristas. Cuanta alegría volver a asistir a este formidable Foro. Espero se encuentren bien de Salud y muchas felicidades y próspero año nuevo para ustedes, su familia y amistades. Un amigo me prestó su internet (gracias mil a él) para poder hacer esta consulta. Qué alegría siento volver con ustedes. Tengo este archivo que no es más que un Cronograma de Vacaciones que quiero anexar (en el futuro) a otro Proyecto. Consiste en declarar con una equis (X) la quincena de determinado mes que cada trabajador desea disfrutar de las vacaciones. ¿Pero que quiero hacer? Quiero ver si se pueden que cuando escoja un determinado trabajador, el mes en cue…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 456 visitas
    • 2 seguidores
  7. Started by 96andres96,

    Buenas tardes, en un UserForm tengo una lista desplegable (ComboBox) y, obviamente, para desplegarla tengo que clicar en la flecha que tiene a la derecha. Sin embargo, me gustaría saber si hay alguna forma de hacer que se despliegue clicando en cualquier lado de la lista, sin tener que darle justo a la flecha. ¿Es posible hacer esto? Gracias.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
    • 1 seguidor
  8. File Excel Tengo problema una vez que hago "actualizar todo" no se que problemas tengo en la tablas. He puesto una imagen para que vea que pasa? lo otro es que seria con el los botones de Calcular 30. que tenga esta condición de pegado = AHORA()-30

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 541 visitas
    • 1 seguidor
  9. Muy buenas a todos, He estado bastante sobre este tema y pensaba que iba a ser un Topic mas sencillo pero la verdad que me he dado una sorpresa para mal! Por lo visto es un tema bastante complicado En mi caso , simplemente quiero adaptar mi userform a la resolución de la pantalla , ya que lo he creado en una resolución de 1920 x 1080 , he probado todo tipo de me.height= application.height .... y este tipo de cosas pero no funciona. En el caso que la solución super complicada como parece , como le puedo decir al userform que siempre se me abra en 1920x1080 Muchas gracias de antemano.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.9k visitas
    • 2 seguidores
  10. Started by Janlui,

    Hola @Antoni Gusto en saludarte. En un Post anterior vi esto tuyo que lo pasa a JPG Sub Export() Dim oWs As Worksheet Dim oRng As Range Dim oChrtO As ChartObject Dim lWidth As Long, lHeight As Long Set oWs = ActiveSheet Set oRng = oWs.Range("B2:H11") oRng.CopyPicture xlScreen, xlPicture lWidth = oRng.Width lHeight = oRng.Height Set oChrtO = oWs.ChartObjects.Add(Left:=0, Top:=0, Width:=lWidth, Height:=lHeight) oChrtO.Activate With oChrtO.Chart .Paste .Export Filename:="Case.jpg", Filtername:="JPG" End With oChrtO.Delete End Sub Existe la manera de hacer lo mismo pero a PDF? Gracias.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 731 visitas
    • 1 seguidor
  11. Started by JSDJSD,

    Existe algún método para identificar la pestaña activa de la barra Ribbon ?

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 571 visitas
    • 2 seguidores
  12. Started by arteaga_orar,

    Una buen día, les cuento que estoy diseñando un libro en excel con nómina de estudiantes y sus respectivas calificaciones, calificaciones y datos que extrae de las diferentes hojas del libro en excel. Tengo un problema al aplicar el código de Vba en excel para ordenar las calificaciones de acuerdo al nombre del estudiante, se ordena sin ningun problema, pero las formulas que se encuentran en las celdas también se mueven, cómo puedo ordenar los datos sin que se modifiquen las fórmulas y funciones que se encuentran en cada celda. Gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 617 visitas
  13. Estimados, buenas tardes y feliz año para todos Estoy lanzando un calendario desde un commandbutton y pasando la fecha seleccionada a un textbox. Se hace sin problema cuando están ambos controles en el cuerpo del formulario. El problema surge cuando los controles están dentro de un frame o multipage dentro de frame, en estos casos el control que toma es el frame Probé recorriendo los controles dentro del frame y también me da el error. La idea es que el calendario emergente se abra juntoal txt y no programar coordenadas independientes para c/u de los controles que puede traer problemas con distintas resoluciones de pantalla Tambien aqui dejo el a…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 937 visitas
    • 1 seguidor
  14. Hola a todos! tengo una consulta que pareciera ser imposible... vengo investigando hace mas de un mes y no encuentro la forma de resolverlo.... Tengo una rutina que me crea una serie de shapes rectangulares como si fueran boton de un indice... la rutina recorre cada hoja, y crea en la hoja1 un shape por cada hoja que encuentre en el libro, ... logre que le ponga el nombre de cada hoja como texto al shape... pero lo que necesito agregar el action para cada shape, , ejemplo: si existe una hoja "X" creo el shape con texto "X" en la hoja 1. y el action debe ser : ir a la hoja X , si esta oculta, mostrarla. For Each Worksheet In ThisWorkbook.Wor…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 896 visitas
  15. Buenos dias familia nuevamente necesito su ayuda. Tengo un reporte el cual consiste en una tabla lo que quiero es que me oculte la ultima columna y me desoculte la penultima columna como pueden ver en la imagen esta oculta de la colunma B hasta las Ti pero al dia siguiente cuando se carge la nueva data debe ocultarse la TI la cual tiene la fecha 12/24/2022 Y desocultarse la Vn 01/01/2023 que es la que sigue y que siga asi ocultando y desocultando columnas segun vayan pasando la fecha no se si me doy a entender recorte el archivo excel ya que solo se puede subir 100kb muchas gracias familia nuevamente y feliz año nuevo data foro.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 493 visitas
    • 1 seguidor
  16. Buenas noches comunidad! En esta instancia vengo a preguntar algo que quizá sería muy sencillo para algunos pero a mí me ha sacado canas verdes! Poseo una macro para fusionar/unir/agrupar o como más deseen llamarle! Varios libros de excel en un mismo libro! Esto lo requiero porque a partir de ahí luego extraigo los datos de los más de 400 libro por separado con otra macro que recorre luego cada hoja del ahora único libro y me saca un listado con los valores por columnas solo de la información que requiero. Aora bien mi inquietud es la siguiente! La macro siempre debo asignarle la ruta copiando y pegando en el código! Habrá una manera que pueda no tocar el códig…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 750 visitas
  17. Started by j.salas,

    Buenas noches estimados, Recurro nuevamente a ustedes para solicitar amablemente su ayuda, diseñé un formulario en Excel de consulta, que importa la información de una base de datos en Access, el cual tiene filtros que funcionan individuales o combinados, el problema es que el código que realiza la búsqueda se tiene que repetir en total 25 veces, todo exactamente igual, lo único que varía son las condicionales para la búsqueda, creen que se pueda reducir las líneas o hacerlo de otro modo que no requiera un código tan extenso?, esta es la imagen del formulario: Como pueden observar es sencillo, solamente los filtros de búsqueda son los que hacen que se repi…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 574 visitas
    • 1 seguidor
  18. Buenos dias Familia Nuevamente necesito su ayuda tengo un archivo en la cual quiero copiar los datos que estan en el sheet1 de la columna B en adelante sin el encabezado y pegarlo en la sheet2 debajo del ultimo registro que tenga esa hoja. Favor su ayuda muchas gracias anexare el documento tuve que acortar la data para poder subirlo data foro.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 564 visitas
    • 1 seguidor
  19. Buenos dias, Tengo un modulo en VBA que me coge una tabla y me la exporta a txt por Tabulaciones. Funciona perfectamente siempre que la tabla empiexe en la celda "A1". El problema es que cuando quier por ejemplo que la tabla empieze a partir de "C10" y lo indico en la fila que cuenta filas y columnas no funciona. El codigo que uso es el siguiente: Sub ASM() Dim NombreArchivo, RutaArchivo As String Dim obj As FileSystemObject Dim tx As Scripting.TextStream Dim Ht As Worksheet Dim i, j, nFilas, nColumnas As Integer NombreArchivo = "pedidos" RutaArchivo = "C:\IMPORTA_PEDIDOS\IMPORTA_ASM" &amp…

    • 0

      Reacciones de usuarios

    • 11 respuestas
    • 914 visitas
  20. Started by Cacique,

    Buenas noches amigos, Por favor, alguien podría ayudarme con esta duda. Este código que envía mensajes de información que esta en excel, a través de WhastApp, me funciona correctamente en windows, pero necesito adaptarlo para que funciones en un Excel de un ordenador MAC. Creo entender que el problema lo tengo en la ejecución de la función SHELL que inicializa la aplicación, pero no se que adaptación debo hacer para que sea operativo en MAC. De antemano agradezco su valiosa ayuda. Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As St…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.3k visitas
    • 1 seguidor
  21. Started by Jhon Maldonado,

    Saludos a todos, tengo la variable ultimafila en una macro que me cuenta los campos en un rango para luego mostrar en un mensaje cuantos se van a generar, desde 1 hasta la variable, sin embargo el rango que está leyendo está formulado y me toma las formulas como campo aunque esté vacío. Necesito que solo me cuente las que tienen información así todas tengan la formula. Agradezco la ayuda 'la variable ultimafila está contando los campos con formula, así esté vacío, necesito que solo cuente los que tienen info ultimafila = Sheets("Tabla").Range("B" & Rows.Count).End(xlUp).Row Pregunta = MsgBox("Esta seguro de generar todos los recibos ?",…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 411 visitas
  22. Started by chencholf,

    Muy buenas. Y antes de nada, felices fiestas a todos. La duda que tengo es la siguiente. Ya se como abrir libros con VBA, pero lo que me preguntaba es si se puede hacer que sea el usuario el que elija que libro abrir. O sea, crear un botón, que al pulsarlo abra una ventana que nos permita buscar y elegir el archivo. No se si se puede hacer algo así o es mucho lio. Cualquier aclaración al respecto lo agradezco. Un saludo!

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.2k visitas
  23. Started by roa30,

    Hola a todos ! como estan! vengo a pedirles ayuda y apoyo estoy enloqueciendo con un codigo que dura casi 10 min en ejecutarse ... comparto archivo de ejemplo Tengo en mi archivo una hoja "BaseDatos" con mas de 30.000 filas. las cuales tiene datos de hospital, medico y pedido y tipo de pedido. Una segunda hoja "Analisis" donde extraje los unicos de (Hospital- Pedido- Usuario), con eso me quedan unas 5.000 filas... Lo que necesito que mi codigo haga es que por cada pedido que encuentre en Analisis, recorra todas las filas de Base Datos que tengan el mismo numero de pedido, y el mismo user, para evaluar que Tipo documentos tiene ese pedido , en la colu…

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 528 visitas
    • 1 seguidor
  24. Started by edrainiery,

    Buenas tardes familia Necesito ayuda en una data como puedo usar filtros en vba para que siempre me filtre el dia en curso. En la data quiero que la macro vaya para la columna CN y me filtre la fecha del dia en curso.

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 517 visitas
  25. Buenas Familia Soy medio nuevo con esto de las macros necesito ayuda como puedo buscar y remplazar varios textos por un unico texto pero solo en la columna que quiero trabajar por ejemplo En la columna "S" quiero que me filtre los ADSL, DTH, VOZ PERSONA Y PSTN y luego que los filtre lo renombre por Multiplan Full pero solo en esa columna. Muchas gracias espero su ayuda.

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 566 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.