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. Buenas tardes, Me encuentro con un tema de combinación de correspondencia de Excel a Word, donde funciona correctamente, con lo que quiero, pero al abrirse el documento de word, siempre me pide permiso para activar los datos con un SELECT * FROM 'Correu$' . Mi pregunta es si hay alguna forma de insertar en la macro la correspondiente orden para que no me pida autorización. Muchas gracias de antemano. Sebastià,

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 398 visitas
    • 1 seguidor
  2. 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
    • 397 visitas
    • 2 seguidores
  3. 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
    • 396 visitas
  4. buenas noches, quisiera saber si puedo mejorar mi macros que se encuentra en el evento change de la hoja de calculo de Excel, son códigos de cálculos básicos, además si me pudieran ayudar a reducir el código o darme algún tip para reducirlo yo mismo estaría muy agradecido. de ante mano muchas gracias Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False Application.Calculation = xlManual Application.EnableEvents = False If Not Intersect(Target, Range("$L$5:$Y$9")) Is Nothing Then Sub todo() Range("E22") = WorksheetFunction.Sum(Range("E4:E21")) Range("E23") = Wo…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 395 visitas
  5. Hola, para ocultar la cinta de opciones en el libro activo he utilizado el siguiente código, no obstante, aunque me permite pegar datos copiados entre hojas del mismo libro en las celdas desbloqueadas, cuando copio datos de otro libro se deshabilita las opciones de pegado. Private Sub Workbook_Activate() Application.ExecuteExcel4Macro "SHOW.TOOLBAR(""Ribbon"",False)" End Sub Os agradezco vuestra ayuda, muchas gracias.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 394 visitas
    • 1 seguidor
  6. Buen día, Llevo todo el día intentando solucionar el error de 1004: no se puede copiar la hoja " sin ningún éxito, hice la prueba copiando otras hojas del libro y me lo permite pero no entiendo porque no me deja copiar y pegar la hoja "Portada". Espero me puedan ayudar, por favor. MacroCampañas.xlsm

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 394 visitas
    • 1 seguidor
  7. Started by david45245,

    Hola, ¿hay alguna macro o forma de automatizar este proceso? Estoy usando esta extensión gratuita de Email Extractor para conseguir correos electrónicos de los sitios web: https://chrome.google.com/webstore/detail/email-extractor/jdianbbpnakhcmfkcckaboohfgnngfcc El problema es que para hacer el scrape (en este caso copiar y pegar esos E-Mail ID's) tengo que visitar cada pestaña...¿hay alguna manera de configurar una macro para que visite cada pestaña/url de sitio web y copie y pegue los emails de cada pestaña/sitio web para no tener que hacerlo manualmente?

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 393 visitas
    • 1 seguidor
  8. Started by kloxtnx,

    Buenas tardes, de abte manos muchas gracias a la comunidad por la ayuda quisiera seleccionar la ultima celda con datos y copiarla para posteriormente pegarla en una hoja nueva, este es mi codigo Sub Copiar_Valores_Contabilidad() Sheets("Extraer_Rutas").Select For i = 2 To Range("A" & Rows.Count).End(xlUp).Row ActiveSheet.Range("A" & i).Select Selection.Copy Next Sheets("Rutas_Fs").Select ActiveSheet.Range("A2").Select ActiveSheet.Paste End Sub …

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 393 visitas
  9. Buenas tardes! Tengo el siguiente código: Private Sub btnCargaBancos_Click() Dim TasaCompra, TasaVenta As Double Dim InvBanesco, InvVzla, MontoBanesco, MontoVzla As Double Dim TasaDiaBan, TasaDiaVzla, TasaActual As Double 'Inversion = Val(txtInversion.Text) InvBanesco = Val(CDbl(txtInverBanesco.Text)) InvVzla = Val(CDbl(txtInverVzla.Text)) TasaCompra = Val(CDbl(txtTasaCompra.Text)) TasaVenta = Val(CDbl(txtTasaVenta.Text)) MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanes…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 392 visitas
  10. Started by Dksluis,

    Existe la manera de que al momento rellenar los campos de búsqueda, busque al presionar algún botón llamado búsqueda y no que lo haga automático, ya que al momento de ser automático y tener muchos datos se pega o se demora mucho . Solo si puedes ayudarme @Antoni ya que tu conoces el tema. PRUEBA - copia.xlsm

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 387 visitas
  11. Hola a todos amigos, tengo este código que me trae la información de un libro, sin embargo, ando intentando importar varios archivos a la vez pero ya me bloquié, este es el código que ocupo para leer el libro, espero alguien me puede dar una idea, saludos Application.ScreenUpdating = False Dim wbLibroOrigen As Workbook Dim wsHojaOrigen As Worksheet Dim wbLibroDestino As Workbook Dim wsHojaDestino As Worksheet Dim ruta As String ruta = ActiveWorkbook.Path & "\" & "Lista_Negra_SAT.csv" 'Datos destino Set wbLibroDestino = Workbooks(ThisWorkbook.Name) Set wsHojaDestino = wbLibroDestino.Worksheets("Hoja1") 'Datos origen Set wbLibroOrigen = Workbooks.Open(ruta) S…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 387 visitas
    • 2 seguidores
  12. Started by rooney55,

    Buenas adjunto un ejemplo en la columna A es la info que tengo que obviamente es mucho mas pero puse 3 casos nomas y en otra columna puse como necesito que me quede. Si alguno sabe algun codigo para poner en vba y que me lo haga automatico se lo agradeceria help.xlsx

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 386 visitas
    • 1 seguidor
  13. Quiero copiar solo el resultado desde una macro que tiene formulas por día. Cada día la información se actualiza y la forma va a buscar x, hace el procedimiento y devuelve el resultado. Esto lo hace varias veces por día, todos los días. Por lo que a veces se truene el excel al querer manipular los resultados. Por ello siento que sería mejor pasar solo los resultados a un nuevo libro, una vez que la formula tenga dicho resultado. He visto que se pueden copiar datos condicionalmente, la condición aquí sería que la formula esté resulta. O tal vez hay otra forma más fácil pero no la encuentro.

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 385 visitas
    • 1 seguidor
  14. Started by dell24,

    hola tengo una duda, tengo varios libros de Excel ordenados de forma Numérica, cada libro de Excel tiene 4 hojas con su título y su información que puede varias en filas con información de uno a otro libro, quiero pegarlo en otro libro de Excel, como especie de un consolidado, pero de forma ordenada, es decir la información de la hoja 1 del libro 2, se copie y pegue debajo de la informacion de la hoja 1 del libro 1, la del libro 3 debajo de libro 2 y asi sucesivamente, quine pueda colaborarme con el codigo macro , Gracias de antemano

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 385 visitas
    • 1 seguidor
  15. Started by jonathanperez,

    Buenos dias. Busco una macro que me ayude a actualizar un programa. Tengo dos archivos necesito que del archivo 1 busque en el archivo 1 un número en especifico. X0001 (este número aparece en la columna D. Buscar dicho número en el archivo 2 y si aparece y el la columna F tiene un numero mayor a 0 copiarlo en el archivo 2 Si el siguiente número X0002 en el archivo 1 tiene el la columna F tiene un 0, pasar al siguiente hasta encontrar el número X que tenga número en la columna F Serian tan amables de ayudarme con esa macro. Archivo 1.xlsx Archivo 2.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 384 visitas
  16. Started by Osiany,

    Hola muy buenas noches, por favor me podrian apoyar, necesito que al señalar un ITEN del formulario AGREGAR_MANTENIMIENTO me lo ilimine de la hoja de calculo llamada "PH", y si en el Listbox "insumos2", agrego un item nuevo pueda tambien guardarlo. QUITAR LINEA.rar

    • 0

      Reacciones de usuarios

    • 7 respuestas
    • 383 visitas
    • 1 seguidor
  17. Buenos días con todo, espero se encuentren bien de salud!. Favor quisiera ver si me pueden ayudar con lo siguiente. Tengo una data en excel con los siguiente criterios FECHAS DIFERENTES , CODIGO Y NOMBRE DEL PRODUCTO. Lo que quiero realizar es que si en la fecha 17-02 tienes cantidad x de códigos y si estos no se repite el día siguiente 18-02 que automáticamente se borre, esto con la finalidad de tener un control de a partir del 18 al 19 se repite 1 vez y no me considere 2 desde fecha 17-02 teniendo en cuenta que el producto en el 18-02 no aparece. Lo sombreado son los que se repiten . TABLA ELIMINAR.xlsx

    • 1

      Reacciones de usuarios

    • 6 respuestas
    • 383 visitas
    • 2 seguidores
  18. Started by Angel Manuel,

    necesito mover un conector o linea segun este un rango de celdas vacios o sea se me deberia quedar sin mover en la esquina de la celda AE12 y solamente bajar en la columna B mientras esten las filas vacias de forma automatica. Probe con este codigo y lo he tratado de modificar pero no lo logro. Private Sub Worksheet_Change(ByVal Target As Range) On Error Resume Next If Target.Row = 2 And Target.Column = 1 Then Call SizeCircle("Linea1", Val(Target.Value)) End If End Sub Sub SizeCircle(Name As String, Diameter) Dim xCenterX As Single Dim xCenterY As Single Dim xLinea As Shape Dim xDiameter As Single Dim wksN…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 382 visitas
  19. Hola buenas, ¿alguien sabe sumar dos números racionales y devolver el resultado simplificado? Muchas gracias

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 382 visitas
  20. Hola, Hace unos días me ayudasteis a resolver una macro que buscaba en un listado la fecha coincidente o de no coincidir ninguna, te daba la más cercana comparando con otro listado. Funciona genial, pero me han surgido dos problemas al adaptarlo. 1) Si el listado donde busca (hoja FECHAS del ejemplo) es más corto que la hoja donde hay que pegar el resultado (hoja RELLENAR en el ejemplo), solo te añade el mismo número de registros que en la hoja donde busca. No sé si esto es algo que yo estoy haciendo mal al adaptarlo. 2) No he conseguido adaptarlo para que lo haga por cada cambio de código en hoja RELLENAR (columna a). Es decir, si es el código es "a" …

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 382 visitas
    • 1 seguidor
  21. Hola queridos foreros, podrían ayudarme con una macro por favor, necesito normalizar o tabular a columnas una serie de tramos (desde - hasta) que se repiten, pero que tienen distinta información ("especie") en columna E, en este ejemplo son 4 posibles "especies", a veces pueden ser 7 u 8, cada "especie" además tiene asignado un porcentaje (columna F). Lo que requiero como solución se muestra a modo de ejemplo en columnas desde la "J" a la "P". adjunto un ejemplo sencillo y la solución que requiero. Ojalá puedan ayudarme estimados foreros. ayudaexcel_tabular_tramos.xlsx

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 380 visitas
    • 1 seguidor
  22. Hola foreros, gusto en saludarlos nuevamente, espero puedan ayudarme por favor a optimizar la obtención de datos que vienen desde varias hojas que tienen la misma estructura, el problema es que algunas tienen 3 filas con datos, otra puede tener 2 ó 1 fila con datos, entonces entiendo que con una macro es posible recorrer filas con datos... si lo encuentra ... lo copia y pega en hoja "compilado_HOJAS" quedando ésta como una tabla resumen, el resultado final de cómo debería quedar lo que necesito se muestra en la hoja "compilado_HOJAS", son muchas las hojas desde donde necesito obtener la información, para este ejemplo dejé solo algunas, espero haberme echo entender, pero…

    • 0

      Reacciones de usuarios

    • 2 respuestas
    • 378 visitas
    • 2 seguidores
  23. Hola Buenas Agradecería mucho su ayuda Busco copiar datos de un libro a otro, en este caso se llama [Exhibit Esc1.xlsx]1. Mina (Nombre de libro y pestaña) La problemática surge que son muchas celdas las que debo copiar y lo debo hacer con varios libros diferentes, entonces debo cambiar esa dirección de origen en todo. Mi idea es dar un valor de variable a la dirección de origen para luego solamente cambiar la variable. Dejo un ejemplo de como me funciona y lo que quiero hacer Saludos Funciona así: Sub Report2() Range("D22").Select ActiveCell.FormulaR1C1 = "=SUM('[Exhibit Esc1.xlsx]1. Mina'!R21C5:R21C7)" Range("…

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 378 visitas
  24. Started by EdwinGC,

    Buen día comunidad Antes que nada este código lo encontré en la página Mehmet Ali Gokmen y me gustaría editar el llenado del framePerson del formulario frmMain. Para este llenado el ejemplo es tomar del mismo libro una hoja llamada BaseVentan que cuenta con 38 columnas, el framePerson me gustaría llenarlos con la columna 2, 3, 8, 10, 11, 13, 27, 28 y 29, me gustaría que se mantenga toda la visualización y ejecución del userform. Dejo el código espero que me puedan ayudar y de ante mano muchas gracias. '********MOUSE MOVE ICON CODES************************************************************************************************************…

    • 0

      Reacciones de usuarios

    • 3 respuestas
    • 377 visitas
  25. Buenos dias, tengo varias columnas que quiero copiar en otra columna pero una debajo de la otra, me podrian orientar con este tema. Saludos

    • 0

      Reacciones de usuarios

    • 1 respuesta
    • 376 visitas
    • 2 seguidores

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.