Crear un cuadro de entrada para buscar un valor

Resuelto
caribou38 Mensajes publicados 31 Estado Miembro -  
caribou38 Mensajes publicados 31 Estado Miembro -
Hola,
¿cómo puedo usar una caja que permita ingresar un valor a buscar en una lista y seleccionar todas las celdas que contengan ese valor e inscribir en la celda de al lado la hora?
No logro combinar la función de búsqueda y una inputbox.
Gracias por tu ayuda
Configuración: Windows XP Firefox 3.0

18 respuestas

  1. balou01 Mensajes publicados 86 Estado Miembro 2
     
    una de las bases de este foro si quieres obtener ayuda es decirnos en qué lenguaje deseas hacerlo...

    ¡No hay alguien que te dé la solución en todos los lenguajes posibles e imaginables!
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Hola
      estoy trabajando en un archivo de Excel y necesito hacer macros.
      -1
  2. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Hola,
    Es fácilmente realizable, pero tal vez sería más simple seleccionar una de las celdas que contiene las celdas a buscar y un botón para enviar.

    ¿Qué opinas?

    --
    La experiencia instruye más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Hola
      mi problema es que no logro escribir la macro que me permita buscar en la columna los valores que corresponden al criterio

      for i=9 to 100
      Maplage=range("F9:F100")
      cells.find(what=range("G2"), after:activecell).activate
      activecell.offset(0,3)=time

      NEXT


      Problema, esta macro no funciona como se esperaba, busca en todas las celdas de la hoja y escribe en varios lugares

      necesito su ayuda, gracias
      -1
  3. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    No especificas las coordenadas, pero he deducido..
    Sub BV2() Dim i As Long Dim Debut1 As Integer Dim Critere As Variant Debut1 = 9 Critere = Cells(2, 7) 'para G2 For i = Debut1 To Range("F1").SpecialCells(xlCellTypeLastCell).Row If Cells(i, 6) = Critere Then 'prueba columna F Cells(i, 9) = Time 'escribe columna I End If Next i End Sub

    Dices
    --
    La experiencia instruye más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Hola
      gracias por tu ayuda, tu fórmula funciona perfectamente
      estaba usando esta macro
      If Range("IV1") > 0 Then
      For Each objCell In Range("U4:AV2000")
      If objCell.Value = Range("IV1") Then objCell.Offset(1, 2) = Time
      Next objCell

      pero le toma tiempo procesar todas las filas
      gracias por tu solución

      ahora me enfrento a otro problema, tengo que escribir una macro que busque un valor en una columna, una vez encontrado, copie ciertas celdas, por ejemplo A1, A10, A23 hasta 7 valores y los copie en un rango

      no sé si he sido claro, pero ya no puedo pensar con este problema que es tema de mi práctica, gracias por tu ayuda

      hasta luego
      -1
  4. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    ¿qué es tu 'bueno', una hoja? ¿un UserForm?

    Muestra la macro que comenzaste para eso.
    --
    La experiencia instruye más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      hola
      aquí hay una parte de mi macro que me está causando problemas
      la macro busca en la base de datos un valor ingresado en el rango "CV2" y tan pronto como lo encuentra, se desplaza, copia el valor encontrado y lo pega en una hoja (bon) en otra hoja
      el problema es que si el valor no se encuentra, la macro falla
      gracias por el tiempo que me dedicas



      'rellena el local en el bon (hoja que debe ser impresa)

      With Sheets("bon")
      Columns("J:J").Select
      Selection.Find(what:=Range("CV2"), After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
      xlNext, MatchCase:=False, SearchFormat:=False).Activate
      ActiveCell.Offset(0, 1).Select

      ActiveCell.Copy

      Range("A8:A15").Select
      Selection.Find(what:=Range("CV2"), After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
      xlNext, MatchCase:=False, SearchFormat:=False).Activate
      ActiveCell.Offset(0, 2).Select

      ActiveSheet.Paste


      Columns("J:J").Select
      Selection.Find(what:=Range("CV2"), After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
      xlNext, MatchCase:=False, SearchFormat:=False).Activate
      ActiveCell.Offset(0, 2).Select

      ActiveCell.Copy

      Range("A8:A15").Select
      Selection.Find(what:=Range("CV2"), After:=ActiveCell, LookIn:= _
      xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
      xlNext, MatchCase:=False, SearchFormat:=False).Activate
      ActiveCell.Offset(0, 3).Select

      Range("B6") = Range("'hoja de entrada'!J6")
      Range("B7") = Range("'hoja de entrada'!G6")
      Range("B8") = Range("'hoja de entrada'!E6")
      Range("E16") = Range("'hoja de entrada'!H6")


      ActiveSheet.Paste

      debería usar un bucle para realizar la búsqueda, pero solo obtengo una macro que se ejecuta indefinidamente
      a+
      -1
  5. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Para tu 1ª error, hay que poner un On error,
     On Error GoTo pasa ...... Exit Sub pasa: msgbox "Valor no encontrado" End sub

    Para el 2, supongo que eso es lo que quieres hacer?

    Para realizar búsquedas más complejas, usa una instrucción For Each...Next con el operador Like. Por ejemplo, el siguiente ejemplo de código muestra cómo buscar todas las celdas del rango A1:C5 que utilizan una fuente cuyo nombre comienza con las letras « Cour ». Cuando Microsoft Excel encuentra una celda correspondiente, le asigna la fuente Times New Roman.
    For Each c In [A1:C5] If c.Font.Name Like "Cour*" Then c.Font.Name = "Times New Roman" End If Next

    Si no, explica mejor el 2.
    --
    La experiencia enseña más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Hola

      gracias por el tiempo que me dedicas

      adjunto un ejemplo de mi archivo de Excel para que veas lo que debo hacer
      tus consejos me han hecho progresar en mi proyecto, mil gracias de nuevo

      https://www.cjoint.com/?icnHRTXfv5

      he anotado en verde en la hoja a lo que debo llegar, pero por ahora estoy dando vueltas en círculo
      -1
  6. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    No entiendo, pon los datos completos (rellena toda la línea) para una línea en la hoja motor, incluida la segunda línea que parece estar contabilizada... ¿NB+ y NB-? en la penúltima columna.
    Luego, con los datos de la hoja motor, llenas completamente la hoja buena, pides datos del 1 al 7 pero ¿qué?

    --
    La experiencia enseña más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Hola

      Te vuelvo a enviar un ejemplo de mi archivo
      Lo que busco hacer es buscar en la última columna de la hoja "motor"
      las celdas que contienen un número de bono y copiarlas en la hoja bono en F3
      copiar en la fila todos los números de bono, por ejemplo (V4, Z4, AD4...) y copiarlos en la hoja bono en (B9, C9, D9, E9, F9, G9, B10)
      Luego copiar el bono en la hoja impresión
      y repetir el mismo procedimiento con la siguiente fila que contenga un número de bono


      Sé que no soy muy claro, y me disculpo

      https://www.cjoint.com/?icqqQ1SFPr
      -1
  7. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Aunque he sido claro, al menos eso me parece...
    Luego, con los datos de la hoja motor, completas completamente la hoja buena, pides datos del 1 al 7 pero ¿qué?
    Para que me entiendas mejor, A MANO COMPLETAS LA HOJA CON LOS DATOS COMO DEBE SER, JUSTO ANTES DE PONERLA EN LA HOJA DE IMPRESIÓN. así, tengo referencias sobre lo que quieres.
    Y una pregunta adicional, dices luego pasar a la siguiente línea y comenzar de nuevo,
    PERO ¿DÓNDE DEBE IR el segundo formulario... el tercero, etc... en la hoja de impresión? uno debajo del otro?
    Ten en cuenta que no estoy en tu cabeza y que necesito información, mientras no sepa exactamente lo que quieres es imposible lograrlo.
    --
    La experiencia instruye más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Hola

      y gracias nuevamente por tu paciencia
      te envío un ejemplo con un bono relleno con la información que quiero que aparezca
      sí, los bonos deben estar registrados en la hoja de impresión

      https://www.cjoint.com/?idlFcTBcHA

      no sé si lo que quiero realizar es factible, así que si tienes otra solución que me ayude a avanzar, estoy a tu disposición
      gracias por tu ayuda
      -1
    2. caribou38 Mensajes publicados 31 Estado Miembro
       
      He consultado la base de conocimiento de Microsoft y resulta que es un bug
      Te paso la información
      Tienes un DLL ActiveX de Visual Basic que tiene un método que toma un arreglo de objetos Scripting Dictionary como argumento. Puede funcionar correctamente cuando tu cliente de Visual Basic se ejecuta en el entorno de desarrollo integrado (IDE) utilizando este método, pero cuando lo ejecutas como una aplicación compilada, recibes el siguiente mensaje de error en tiempo de ejecución:
      Error de ejecución "-2147417848 (80010108)":
      Método '~~' falló "de objeto"
      Esto ocurre únicamente cuando usas enlace tardío para llamar al método.

      Volver al principio
      Resolución
      Utiliza el enlace anticipado para eludir el problema.


      Como no soy muy hábil en VBA, seguiré buscando hasta encontrar una solución.
      -1
  8. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Ningún problema para hacer lo que querías, he hecho con la información dada.
    Si no es exactamente eso, me dices...
    Tu archivo

    --
    La experiencia enseña más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Te agradezco mucho por tu ayuda y sobre todo tu paciencia
      es exactamente eso lo que estaba tratando de hacer desde hace un mes sin lograrlo

      voy a seguir pidiéndote ayuda, tu macro me copia bien el primer comprobante pero luego me envía un mensaje de error "el método pegar del objeto ha fallado" o "el método seleccionar clase ha fallado"
      -1
  9. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    ¡TEN MUCHA ATENCIÓN a los nombres de las hojas! Si me has puesto un modelo con los nombres de hojas diferentes, es por eso que falla; a menudo, un espacio marca la diferencia. Si pruebas en mi libro de trabajo, las 2 correctas están bien copiadas en impresión.
    Así que busca un poco... Te toca jugar.

    --
    La experiencia instruye más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Estoy probando bien en el archivo que me enviaste y todavía tengo este error
      seguiré buscando
      una vez más, gracias por tu ayuda que me ha sido más que valiosa.
      Te mantendré informado sobre la evolución de la situación.
      -1
      1. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199 > caribou38 Mensajes publicados 31 Estado Miembro
         
        ¿Tienes el error en MI CARPETA? Si es así, ¿qué has cambiado? Porque en mi caso funciona perfectamente.
        EDIT: Espera... ¿no lo estarías probando en Cjoint por casualidad? Porque no funciona, hay que hacer clic derecho en el nombre del archivo y guardarlo en tu disco duro, y entonces abrirlo.
        --
        La experiencia instruye más seguramente que el consejo. (André Gide)
        -1
      2. caribou38 Mensajes publicados 31 Estado Miembro > lermite222 Mensajes publicados 9042 Estado Colaborador
         
        he guardado el archivo en mi disco duro
        me pregunto si no es porque utilizo una versión de Excel 97
        tu macro funciona bien en la primera línea, pero en la siguiente envía un error
        no logra pegar el valor correcto después del primero en la hoja de impresión
        el resultado es que Excel se bloquea y tengo que presionar ctrl ALT suprimir para poder salir

        sigo buscando de dónde puede venir el error, no hay razón para que funcione en tu computadora y no en la mía

        gracias de nuevo por tu ayuda
        -1
  10. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Habrá que encontrar una solución..
    intenta esto..
    '
    --------------------------------------------- 'Copia el bueno en la página de impresión. FLbon.Range("A4:G19").Copy FLI.Cells(LigImp, 1) LigImp = LigImp + 16 '---------------------------------------------

    En la parte inferior de la macro, reemplaza todas las líneas entre los guiones por lo que está arriba, también funciona para mí, no utilicé este método primero porque a veces también crea problemas.
    dices

    --
    La experiencia instruye más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Siempre tengo el mismo error
      el primer buen es copiado en la hoja de impresión y luego este error
      tengo la impresión de que es la variable
      Dim LigImp As Long la que está causando el problema
      -1
  11. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Aparentemente es un error de Windows.
    Un DLL ActiveX de Visual Basic que se conecta en el registro de eventos de Windows NT puede provocar errores cuando es llamado por un programa cliente ejecutándose en el depurador de Visual Basic. Los posibles errores incluyen:

    • Error 429.
    • Error 80010108 OLE.
    • Violación de acceso.

    Estado
    Microsoft ha confirmado la existencia de un problema en Microsoft Transaction Server versión 1.0. Estamos investigando este problema y publicaremos la nueva información aquí en la Base de conocimientos de Microsoft tan pronto como esté disponible.


    ¿Cuál es la actualización de Windows que tienes? PakX?

    --
    La experiencia instruye más seguramente que el consejo. (André Gide)
    -1
  12. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    He vuelto a leer el mensaje de error que diste... parece que es un error con los objetos.
    Reemplaza la línea copy por
     Sheets("bon").Range("A4:G19").Copy Sheets("impression").Cells(LigImp, 1)

    y si todavía no funciona, cambiaré en el cuerpo de la macro

    Edit:
    Hay algo más, verifica en la ventana Proyecto - VBAprojet del IDE, si no tienes el proyecto MoreFunc_Toolbaar
    Dices
    --
    La experiencia enseña más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      he hecho las modificaciones, ahora el mensaje de error es "imposible leer la propiedad SpecialCells de la clase Range" error de ejecución 1004

      tengo Windows XP Pro SP3 actualizado regularmente
      no, no tengo en el proyecto VBA el proyecto toolbar

      sigo buscando
      -1
  13. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    pon tu carpeta en Cjoint
    Edita;
    Espera.. cuando Excel se bloqueó, ¿reiniciaste? si no, hazlo.
    Yo tengo el 2000 y cuando me pasa eso también tengo que hacerlo.
    --
    La experiencia enseña más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      he reiniciado y vuelto a probar, pero siempre los mismos síntomas, doctor

      te vuelvo a poner el archivo, he dejado el error para que puedas verlo

      https://www.cjoint.com/?idvunZFA47
      -1
  14. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Lo siento, pero he descargado el libro, he hecho clic en el botón y todo está OK.
    Sin tu PC realmente no veo qué es lo que falla.
    Verifica eso de nuevo..
    En el IDE >> Herramientas >> Referencias
    En la ventana que se abre debes tener las siguientes líneas marcadas..
    Visual Basic For Applications
    Microsoft Excel X.X Object Library
    Ole Automation
    Microsoft Office X.X Object Library
    Microsoft Forms 2.0 Object Library
    Si falta alguna, búscala en la lista y márcala.
    --
    La experiencia instruye más seguramente que el consejo. (André Gide)
    -1
  15. caribou38 Mensajes publicados 31 Estado Miembro
     
    he probado la macro en otro pc y el mismo resultado

    así que o me falta una librería o mi versión de Excel está fallando
    seguiré analizando la macro hasta encontrar dónde se detiene
    gracias de nuevo por tu ayuda y tu gran paciencia
    te mantendré informado si hay novedades
    hasta luego
    -1
    1. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
       
      ¿Has verificado las referencias que doy más arriba?
      --
      La experiencia instruye más seguramente que el consejo. (André Gide)
      -1
  16. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    He reorganizado la macro y eliminado todo lo relacionado con los objetos, no es un código optimizado pero probablemente funcione.

    https://www.cjoint.com/?iehNn0c54X
    ¡Hasta luego!
    --
    La experiencia enseña con más certeza que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Hola
      gracias por tu ayuda, me siento avergonzado de monopolizarte así
      tienes mi infinita gratitud
      he probado la macro, esta vez ha mejorado, funciona, pero mientras no haya vaciado la hoja de impresión, si no, vuelve a aparecer el error
      If Cells(LigImp, 1).Interior.ColorIndex = xlNone Then Exit For

      imposible leer la propiedad interior de la clase rango
      gracias de nuevo por tu ayuda
      -1
    2. caribou38 Mensajes publicados 31 Estado Miembro
       
      He modificado la forma de copiar los bonos en la página de impresión, parece que funciona aunque me copia los bonos en orden descendente

      pero por falta de mejor por ahora

      es bien esta línea que no pasa en mi caso, sabe Dios por qué
      Copia el bono en la página de impresión.
      Sheets("bon").Range("A4:G19").Copy Sheets("impression").Cells(LigImp, 1)
      LigImp = LigImp + 16

      la he reemplazado por

      'Copia el bono en la página de impresión.
      Sheets("bon").Select
      Range("A4:G20").Select
      Selection.Copy
      Sheets("impression").Select
      Rows("1:1").Select
      Selection.Insert Shift:=xlDown

      gracias de nuevo infinitamente por tu ayuda y es sincero, me has sacado de un aprieto, un mes que he estado lidiando con esta macro
      -1
    3. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199 > caribou38 Mensajes publicados 31 Estado Miembro
       
      No, vuelve a este libro de trabajo entonces, y añade debajo de...
       'hay realmente fórmulas para llegar a la última línea 'rellena pero no funciona cuando hay filtros 'que están activados. Si LigImp < 1 entonces LigImp = 1

      Eso ya no tenía nada que ver con los errores anteriores, es un error normal si LigImp = 0
      Porque tu manera de hacerlo en el siguiente puesto no es muy... ehh
      ¡Hasta luego!

      --
      La experiencia instruye más seguramente que el consejo. (André Gide)
      -1
    4. caribou38 Mensajes publicados 31 Estado Miembro > lermite222 Mensajes publicados 9042 Estado Colaborador
       
      He intentado tu modificación pero recibo un nuevo error

      es la forma de copiar en la hoja de impresión que no funciona para mí
      el segundo punto es que acabo de darme cuenta de que si la primera celda en la hoja de lista de motores está vacía, la macro se detiene y no revisa las otras celdas

      estoy viendo si puedo reemplazar if por each for
      ¿qué opinas?
      sé indulgente conmigo, estoy empezando con las macros y me has ayudado a progresar
      -1
    5. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199 > caribou38 Mensajes publicados 31 Estado Miembro
       
      no cambies nada en el for, si no, no funcionará más, para hacer un For each necesitas saber hasta dónde llegar, lo cual no es posible con tus filtros.
      Está hecho a propósito que se detenga, no debe haber una línea vacía cada 2 líneas, es por los autofiltros que pusiste, es difícil saber hasta dónde llegar, pero si me pones un libro un poco más completo y realista, revisaría eso.
      y explícame para qué sirve esta fórmula, por eso solo tomé cada dos líneas..
      =NBVAL(X4;AB4;AF4;AJ4;AN4;AR4;AV4)-NBVAL(X5;AB5;AF5;AJ5;AN5;AR5;AV5)
      Ya te hice la pregunta pero no has respondido.
      ¿La hoja motor está terminada o puede variar con el tiempo?
      --
      La experiencia enseña más seguro que el consejo. (André Gide)
      -1
  17. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Haaaach.. Ahora entiendo mejor, cambiaste la fórmula =NBVAL(X5;AB5;AF5;AJ5;AN5;AR5;AV5) que ya no hace referencia a la línea siguiente y tu 2ª línea está inicializada. La prueba de que hay que dar la mayor cantidad de información posible y que no sea errónea.
    Sub SplitData() Dim i As Long, e As Integer Dim TB Dim Ls TB = Array(16, 17, 18, 50, 22, 26, 30, 38, 42, 46) Ls = Array("C9", "D9", "A9", "F4") '--------------------------------------------- 'Ancho de las columnas For i = 1 To 7 Sheets("impression").Columns(i).ColumnWidth = Sheets("bon").Columns(i).ColumnWidth Next i '--------------------------------------------- For i = 4 To Range("AX1").SpecialCells(xlCellTypeLastCell).Row If Sheets("Liste moteur").Cells(i, 50) <> "" Then ' VideBon For e = 0 To 3 Sheets("bon").Range(Ls(e)) = Sheets("Liste moteur").Cells(i, TB(e)) Next e For e = 0 To 5 Sheets("bon").Range("B10").Offset(0, e) = Sheets("Liste moteur").Cells(i, TB(e + 4)) Next e '--------------------------------------------- 'Copia el bon en la página de impresión. Sheets("bon").Select Range("A4:G20").Select Selection.Copy Sheets("impression").Select Range("A65536").End(xlUp).Offset(1, 0).Select Selection.Insert Shift:=xlDown '--------------------------------------------- End If Next i Application.CutCopyMode = False Sheets("Liste moteur").Select Range("A1").Select End Sub


    A+
    --
    La experiencia instruye más seguro que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      Muchas gracias por tu ayuda, esta vez la macro funciona a la perfección
      una vez más mil disculpas por mis explicaciones que, te lo confieso, no siempre fueron claras
      te estoy agradecido y una parte del éxito de mi pasantía te la debo

      una vez más gracias y hasta luego
      -1
    2. caribou38 Mensajes publicados 31 Estado Miembro
       
      Lo siento, no puedo ayudar con eso.
      -1
  18. lermite222 Mensajes publicados 9042 Estado Colaborador 1 199
     
    Hola,
    Como no tengo tus hojas, no pude realmente probar
    Sub validar() Dim RC As String Application.ScreenUpdating = False Sheets("BDD").Select On Error Resume Next 'si hay un error en Finf Sheets("BDD").Select Cells.Find(What:=Sheets("hoja de entrada").Range("J6").Value, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate On Error GoTo 0 ' cancela la detección de errores RC = ActiveCell.Offset(0, 1).Address & ":" & ActiveCell.Offset(0, 7).Address Range(RC).Copy Sheets("hoja de entrada").Select Range("K17").Select ActiveSheet.Paste Application.ScreenUpdating = False End Sub

    ¡Hasta luego!
    --
    La experiencia enseña más seguramente que el consejo. (André Gide)
    -1
    1. caribou38 Mensajes publicados 31 Estado Miembro
       
      hola

      he sustituido tu macro por la que tenía y funciona perfectamente, gracias

      te adjunto mi libro si tienes tiempo para echarle un vistazo
      algunas funciones pueden fallar porque no he incluido la totalidad, que pesa 4MB

      intenté poner los botones que están en las hojas en una barra de herramientas, pero sin éxito
      solo logro hacer que todo se bloquee

      segundo punto, las funciones encontrar que fallan si no se encuentra resultado

      gracias de nuevo por toda la ayuda que me has proporcionado

      https://www.cjoint.com/?igo3TGgddD
      -1