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 96andres96,

    Buenas. Quisiera hacer una macro para guardar un rango de celdas en un PDF cuando se cliquee en un botón. La macro en sí, se hacerla. El problema viene en que el rango de celdas seleccionado es grande (no mucho), pero lo suficiente como para que cuando se genere el PDF se guarde en varias hojas. Por tanto, lo que me gustaría que me ayudasen a conseguir es a que la información del rango de celdas se redimensione para que quepa en una única hoja del PDF. ¿Es posible? Gracias.

    • 0

      Reacciones de usuarios

    • 6 respuestas
    • 4.2k visitas
    • 3 seguidores
  2. Started by muyayito,

    Buenas exceler's. Me preguntaba si hay alguna forma de ocultar el reborde de la celda activa (no se como se llama) en un libro en concreto, mediante vba, en opciones, etc. Gracias por adelantado

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.8k visitas
    • 2 seguidores
  3. Buenas noches nuevamente a los Foristas. A sugerencia de JSD de los problemas que le planteaba sobre el formulario, abro un nuevo tema. Ofrezco disculpas porque realmente es así como debe ser. El tema es el siguiente: Tengo en este formulario otros problemas que quizás puedan ayudarme: realmente he tratado de ver dónde está el error, pero mis conocimientos no alcanzan y ustedes son los MAESTROS. 1.- En el FrmPersonal trabajo lo que es el listado de Personal con todos los datos y las Nóminas de Salario. En la parte de las nóminas (LstNomina) ya lo configuré de tal manera que con el evento DobleClick pueda traer cualquier trabajador y poder modific…

    • 0

      Reacciones de usuarios

    • 24 respuestas
    • 1.5k visitas
    • 3 seguidores
  4. Started by hectorcc_18,

    Hola!! Creé un módulo de clase para obtener el último dato en una fila o columna específica, hasta hace unos días funcionaba a la perfección, la exporté a mi disco duro y en cada nuevo proyecto la incluía dentro de los módulos de clase. Desde el módulo principal defino la respectiva variable que hace uso del módulo de clase con DIM y SET sin tener problemas, el módulo de clase original lo desarrolle desde abril de este año, y como comenté no me había dado ningún problema. El código del módulo de clase se llama clsUltimoDato, y el código es el siguiente: Private Fila As Integer Private Columna As Integer -------------------------------------------------------…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 474 visitas
  5. Started by jeaa,

    Buenos dias, expertos nuevamente solicito su ayuda, lo que pasa es que tengo un formulario que funciona bien, cuando busco un codigo me muestra bien, pero si pongo otro codigo no cambia de imagenes. Adjunto el archivo REPORTES.rar

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 647 visitas
  6. Started by 96andres96,

    Buenas. Tengo un libro de excel donde dependiendo del valor de unas celdas (Inicio de sesión) quiero que se muestren unas hojas y se oculten otras. Tengo esta macro: If Sheets("Principal").Range("K23") = Sheets("Usuarios").Range("B4") And Sheets("Principal").Range("K24") = Sheets("Usuarios").Range("C4") Then 'Se comprueba usuario y contraseña ''USUARIO1 Dim Hoja As Object For Each Hoja In ActiveWorkbook.Sheets If Hoja.Name = "Inicio1" Then 'Quiero que se vea la hoja Inicio1 Hoja.Visible = True Else Hoja.Visible = False 'Oculta el resto de hojas End If Next Hoja Sin embargo, cuando voy a ejecu…

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.5k visitas
    • 2 seguidores
  7. Started by 96andres96,

    Buenas tardes. Tengo una macro que selecciona un rango de celdas para imprimir. La macro la tengo en Hoja1 y las celdas que quiero imprimir están en Hoja2. Si coloco la macro en Hoja2 para imprimir, la macro corre bien, sin embargo, si coloco la macro en Hoja1 y la ejecuto desde esa página me salta error. Estoy en Hoja1 y quiero imprimir las celdas de Hoja2 con el siguiente código y me salta error: Sub ImprimirTicket() Sheets("Hoja2").Range("O2:R10").Select Sheets("Hoja2").PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False End Sub Sin embargo, teniendo la macro en Hoja1, si le hago un apaño dirigiéndome a Hoja2 y regresando a Hoj…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1.2k visitas
    • 2 seguidores
  8. Started by Jose BN,

    Hola! amigos(as) del foro hace poco me descargué este archivo de autoría de @JSDJSD El problema que tengo es intento cambiar la imagen del icono que lleva como nombre: AccessRefreshAllLists por otra de preferencia, tratando de cambiar en esta parte: imageMso="Inicioprueba" insertando la imagen en el editor, a pesar que al momento de validar el editor Office RibbonXeditor no salta ningún error, no realiza el cambio de la imagen. <!-- Created with IDBE RibbonCreator 2019 (Version: 1.1003) --> <!-- http://www.ribboncreator2019.com --> <!-- http://www.ribboncreator2019.de --> <customUI…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 1.7k visitas
    • 2 seguidores
  9. Started by pinoji,

    Hola nuevamente muchachos. Espero estén bien todos, es mi mayor deseo. Estoy teniendo otro problema por acá con la configuración de un TextBox donde quiero expresar números. Propiamente el número que va a estar reflejado en esos TextBox son la división del Salario Mensual entre los días a trabajar y eso me da un índice o tarifa salarial diaria. No tengo problemas en las operaciones matemáticas, sino en el formato a expresar en el TextBox. Este dato lo toma el TextBox de la Hoja, la que tengo configurada (Celda) como Numero. Podrían ayudarme. Gracias de antemano y excelente semana para todos. Saludos Pino

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.4k visitas
    • 2 seguidores
  10. Started by knuckles,

    Hola a todos. Llevo meses empleando una macro para hacer scrapping la cual tengo que modificar dado que la web ya no admite IE. A través de tutoriales conseguí escribir un código que me permite obtener los datos, llevo varias semanas y tengo dos problemas: Primero, no consigo que la macro copie los datos de página 2 debajo de los datos de la página 1, los de la 3 debajo de las 2,..., sino que siempre copia encima de lo anterior. Segundo, copiar los datos en la hoja de excel actual (solo consigo que copie los datos si creo una nueva hoja) Este es el código inicial que funciona bien, debajo pongo a donde he llegado con Selenium. Emple…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 1.3k visitas
  11. Buenas Tardes, desde Colombia En un Userform tengo la Columna "A" con fechas y en la fila 1 tengo los datos de unas casas en la celda E1 se llama Casa01 la F1 se llama Casa0y y asisucesivamente hasta la celda O1 , en mi Matriz que va de E2:O50 tengo unos numeros, necesito que cuando el TEXTBOX1 que lo determina la fecha que escribay el COMBOBOX1 que lo determina el numero de Casa que escoja coincidan o se crucen me traiga el numero resultante, como hago, GRACIAS, por mi nivel NO PUEDO INSERTAR EL ARCHIVO

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 657 visitas
    • 1 seguidor
  12. Started by afigueroaf,

    Hola, Hace tiempo atrás descargué una macro a través de la cual se puede controlar el puerto Serial del laptop y por lo tanto, se puede establecer una comunicación con un dispositivo serial en protocolo RS-232. Ahora necesito hacer lo mismo, pero utilizando el protocolo serial RS-485 Modbus Alguien tiene alguna experiencia en eso? Gracias

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 586 visitas
  13. Started by 96andres96,

    Buenas tardes. Tengo el siguiente código en una macro: Sub Prueba() hora = Hour(Now) If hora <= 18 & Sheets("Hoja1").Range("G7") = 1 Then MsgBox ("haz esto") ElseIf hora > 18 & Sheets("Hoja1").Range("G7") = 2 Then MsgBox ("haz esto otro") Else MsgBox ("No se cumple") End If End Sub Sin embargo, siempre se me ejecuta el Else aunque a priori se cumplan las condiciones del If. Adjunto el excel de prueba. ¿Alguna idea del por qué no entra en el If ni en el ElseIf? Gracias Prueba.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 867 visitas
    • 2 seguidores
  14. Started by 96andres96,

    Buenas. Tengo dos preguntas sobre el uso de los formularios. Tengo un label con un texto en color negro, y me gustaría darle el color en hex: #731232 sin embargo, no sé cómo aplicarle este color a la letra. Por otro lado, quería saber si hay alguna forma de que los CommandButton tengan bordes redondeados en lugar de rectos. Gracias de antemano.

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 5.5k visitas
    • 2 seguidores
  15. Started by pinoji,

    Buenas Tardes Foristas. Una vez más acá. tengo una pequeña duda y me gustaría que ustedes me ayuden . Quiero sumar dos o más TextBox y que el resultado me lo ponga en un Label en tiempo real. Necesito el código. Una amistad me dio este, y aunque no me pareció lo implementé y no suma. Private Sub LblImporte_Change () LblImporte.Caption = Val(TxtCantidad.valuie) * Val(TxtPrecio.Value) End Sub Gracias de antemano. Tengan un feliz resto del día. Pino

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 3.1k visitas
    • 2 seguidores
  16. Hola alquien me puede ayudar para crear una macro que seleccione solamente la región a la cual ya tiene un autofiltro?

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 804 visitas
    • 1 seguidor
  17. Started by JosMa,

    Hola Tengo una parte de la macro que por MsgBox se tiene que seleccionar un archivo (hasta aquí funciona) Do While Olb <> 1 MsgBox "Selecciona archivo ", , "" Olb = Application.GetOpenFilename If Olb <> "Falso" And Olb <> "" And Olb <> 1 Then Exit Do Loop Pero cuando de ese libro que se ha abierto tengo que seleccionar diferentes hojas y luego copiar, me falla en esta linea: Workbooks.Open(Olb).Sheets(1).Copy After:=Workbooks(2).Sheets(3) Me podríais ayudar a encontrar la solución Saludos

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 1.3k visitas
    • 1 seguidor
  18. Started by Galactico,

    hola buenas, he estado hace un tiempo aprendiendo y desarrollando macros en vba para realizar scraping en paginas web, en una de las paginas que utilizo apareció esta protección del sitio, el posible bypasear con vba? he leído que se puede hacer con phyton pero no conozco ese lenguaje el mensaje que dice es Cheking your browser before accessing "sitio" dejo pantallazo https://ibb.co/wp4mwzP en caso de no ser posible, quizás ya sea momento de aprender otro tipo de lenguaje agradezco mucho la ayuda

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 619 visitas
  19. Started by Caballero Rojo,

    Hola estimadxs! En un proyecto he aplicado la siguiente macro para que la hoja Excel se tape, funciona pero cuando cierro la hoja y vuelvo a abrir la macro deja de funcionar, otra vez se la hoja, mi consulta ? es si pudieran ayudarme, es algo normal o falta algo en la macro para que quede fija. Gracias!!? Private Sub ocultar() Application.DisplayFullScreen = True Worksheets("Dashboard").Select End Sub

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 781 visitas
    • 2 seguidores
  20. Buenos días a todos;-Os voy a insertar un enlace de mi requerimiento donde os explico un poco lo que quiero conseguir si es posible.Enlace video: Video textBox En la macro tengo un textbox con la propiedad multiline en true.Al ir escribiendo una vez que llegue a un número de caracteres hace como un salto de línea y empieza e escribir debajo para eso lo que hago es ir aumentando el alto del textbox y Frame.Mi idea es que una vez que yo haga clic en el textbox este aumente el tamaño del alto si no coge en la línea hasta hacerlo coger todo y al hacer doble clic que recupere su tamaño inicial.La simulación la he hecho solo aumentando el alto y no sé si se puede tamb…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 1k visitas
    • 1 seguidor
  21. Started by Benito Bartolomé,

    Buenos días a todos; -Necesito de vuestra ayuda. Para mejor comprensión adjunto enlace de un video y comentario. Saludos y gracias de antemano Adjunto también la macro. MEvento.zip

    • 0

      Reacciones de usuarios

    • 23 respuestas
    • 4.7k visitas
  22. buenas noches estimados les cometo tengo unas macros en vba excel busco un dato que se encuentra en mi archivo de excel en la columna "A1" en una pagina web y en las columnas a la derecha "B1" "C1" "D1" "E1" "F1" me coloca los resultados me gustaría que me ayudaran si podría recorrer un rango de la columna A y realizar la búsqueda y colocar a la par los resultados cada vez que lo recorre dejo abajo mi código, de ante mano muy agradecido saludos cordiales. ------------------------------------------------------------------------------------------------------------------------- Option Explicit Private Declare PtrSafe Sub Sleep Li…

    • 0

      Reacciones de usuarios

    • 0 respuestas
    • 643 visitas
  23. Buenas tardes expexto, recurro a su ayuda para pedir sus valiosas ayudas, se trata de una dos hojas primero la hoja registro donde registra los pagos desde la columna D en la hoja pagos trabajo muy bien, pero necesito hacer otra macro que me copie los montos dependiendo del numero de cantidades de cuotas y en la fecha donde lo corresponde en la table del lado derecho donde comienza en la columna K. Por favor agradecere mucho la ayuda. Adjunto el archivo. Macro Neo.xlsm

    • 0

      Reacciones de usuarios

    • 10 respuestas
    • 908 visitas
  24. Buenas tardes, Estoy teniendo bastantes dificultades para hacer una macro de un Excel con 2 hojas, donde la macro me señale en la hoja2, en este caso renombrada "To-do" las filas que no están en la hoja1, en este caso "Prio". Quisiera que me coloreará las celdas nuevas de la hoja "To-do", copiara las filas coloreadas y las pegará en la hoja Prio detrás de la última celda llena. Adjunto el Excel con el que estoy trabajando. He intentado coger el vba de un compañero que hacía algo similar, pero no me da el resultado esperado. Muchas gracias! Hinweisschild_Control.xlsm

    • 0

      Reacciones de usuarios

    • 4 respuestas
    • 2.1k visitas
    • 1 seguidor
  25. Buenos días, Estoy intentando eliminar todas las filas que tengan en la columna A celdas vacías y duplicadas. Al ejectur ambas macros por separado, Excel no hace nada. Sub Eliminarduplicados() Dim Valor As Long Application.ScreenUpdating = Fale Sheets("Hoja1").Range("A1").Select Do While Not IsEmpty(ActiveCell) Valor = Application.WorksheetFunction.CountIf(Range("A:A"), ActiveCell.Value) If Valor > 1 Then ActiveCell.EntireRow.Delete Else ActiveCell.Offset(0, 1).Select End If Loop Range("A1").Select Application.ScreenUpdating = True End Sub Sub Elimi…

    • 0

      Reacciones de usuarios

    • 5 respuestas
    • 1.7k 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.