VBA: Buscar y Reemplazar - Escribe en Word desde Excel

Поділитися
Вставка
  • Опубліковано 13 вер 2024

КОМЕНТАРІ • 43

  • @InteligenciaEficiente
    @InteligenciaEficiente  Рік тому +4

    ¡ATENCIÓN - FUNCIÓN ACTUALIZADA PARA HACER REEMPLAZOS EN ENCABEZADO Y PIE DE PÁGINA)
    Sub FindAndReplace(strSearch As String, strReplacement As String, doc As Word.Document)
    Dim wdStoryRange As Word.Range
    For Each wdStoryRange In doc.StoryRanges
    With wdStoryRange.Find
    .Text = strSearch
    .Forward = True
    .replacement.ClearFormatting
    .replacement.Text = strReplacement
    .Execute Replace:=wdReplaceAll, Forward:=True
    End With
    Next
    End Sub

    • @angeldediosrodriguez8352
      @angeldediosrodriguez8352 11 місяців тому

      Tendrás algún video que explique como poner diferentes firmas (segun aplique) en unos documentos generados por correspondencia? tengo ya mi tabla de excel y mi archivo word, solo me falta poner las imagenes

    • @samaeluis
      @samaeluis 4 місяці тому

      Excelente, me adapte al código y me funciono de maravilla

  • @joseangelroblesgarrote9116
    @joseangelroblesgarrote9116 5 місяців тому +1

    la explicación es muy buena y no se pierde en tonterías

  • @Chuse_X
    @Chuse_X 9 місяців тому

    Magnífico. Me ha servido mucho. Gracias!!

  • @aadrianaam14
    @aadrianaam14 2 роки тому +1

    Feliz año, que sigas colmado de bendiciones y mi eterno agradecimiento por todo lo que me has enseñado

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому +1

      Adriana ¡Muchísimas gracias por todo tu apoyo al canal, un abrazo y que tengas un excelente año! :D

  • @losmonteblanco
    @losmonteblanco 10 місяців тому

    ¡Buena lección, muchas gracias!

  • @klebermaldonado7778
    @klebermaldonado7778 Рік тому

    Buen vídeo fue útil para mis trabajos

  • @alpeva9688
    @alpeva9688 2 роки тому +1

    Gracias! buen video , una duda, Se puede guardar como PDF?

  • @samaeluis
    @samaeluis 4 місяці тому

    hola, excelente video, y cual seria el código para buscar e ingresar datos en el encabezado de word

  • @laurasro9217
    @laurasro9217 2 роки тому +2

    ¡Muchas gracias por el vídeo! ¡Me ha servido de mucha ayuda! No tengo ni idea de VBA, pero siguiendo los pasos y copiando el código he conseguido mi objetivo, aunque solo hay una cosa que no puedo arreglar. Busco y reemplazo palabras de Excel a Word, pero ahora mismo me cambia palabras que contengan los datos de la B4 (Búsqueda). Por ejemplo, la palabra "paño" me la busca en mi Word pero me reemplaza el dato en la palabra "español" que no es exactamente igual pero la contiene. ¿Qué restricción puedo añadir en el código para que solo busque datos exactos? ¿Tienes algún vídeo que resuelva este asunto? He buscado pero no encuentro. ¡Un saludo!

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому +1

      Hola Laura! Muchas gracias por tu comentario, te comento que para que sea una búsqueda por palabra exacta deberás agregar la propiedad MatchWholeWord = True en el bloque que escribimos en el minuto 09:52, de tal manera que se vea así:
      With doc.Range.Find
      .Text = strSearch
      .Forward = True
      .MatchWholeWord = True '

    • @laurasro9217
      @laurasro9217 2 роки тому +1

      @Inteligencia Eficiente ¡Me ha funcionado! ¡Muchísimas gracias! 🙌

  • @mundoz500
    @mundoz500 2 роки тому +2

    Excelente aporte, pero como se complementaria para que la instrucción la haga también en encabezados y pie de página.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому

      Hola Edmundo, si deseas una asesoría más personal puedes escribirme a: inteligenciaeficienteyt@gmail.com SALUDOS!!

  • @kkasio9800
    @kkasio9800 2 роки тому +1

    Muchas Gracias por el video, me gustaria saber si es posible que aparezca una ventanilla y pueda seleccionar el documento word que me interese, y no sea por el link con el nombre del documento, así pueda aplicarle el macro a varios documento word con diferente nombre.

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому

      Claro que es posible, si deseas una asesoría más personalizada con gusto puedes escribirme a: inteligenciaeficienteyt@gmail.com

  • @elmundodice3096
    @elmundodice3096 2 роки тому

    Me sirvió. Justo no sabia como reducir mi código q tiene 12 variables a reemplazar

  • @braaddcueva
    @braaddcueva 6 місяців тому

    Hola le saludo desde Manta manabi Ecuador. es usted un Maestro el problema es que yo no tengo ni idea como lograrlo, déjeme felicitarlo y por su explicación y a la vez déjeme pedirle un inmenso favor, perdone el abuso pero si tiene algún archivo de macro que pueda ayudarme, déjeme le comento, Tengo varios archivos en Word que tiene muchas pero muchas hojas y tiene abreviaturas de la Biblia y yo quisiera remplazar por el nombre del libro en lugar de la abreviatura y estoy haciéndolo manualmente y me toma mucho tiempo ya que así puedo hacerlo leer con Microsoft Edge. desde ya le quedamos agradecidos.

    • @InteligenciaEficiente
      @InteligenciaEficiente  6 місяців тому

      ¡Muchas gracias por contactarme vía mail! Seguiremos en contacto por allá. ¡Saludos!

  • @ErickGuendulain
    @ErickGuendulain Місяць тому

    Hola, copié todo el código y lo adapté a mi tabla pero me sale el e}mensaje Se ha producido el error '5854' en tiempo de ejecución:
    El parámetro de la cadena es demasiado largo.
    ¿Qué significa esto? ¿son muchos datos los que quiero cambiar? Al ejecutar el programa solo me cambia dos datos y los demás no

  • @andresmarroquinrodriguez1682
    @andresmarroquinrodriguez1682 10 місяців тому

    Buenas tardes, hice todo igual y me sale que variable de objeto With no establecido, me puedes ayudar, gracias

  • @raelavilesbonilla7651
    @raelavilesbonilla7651 Рік тому

    excelente tutorial, quisiera que me puedas apoyar, cuando ejecuto la macro, me sale una advertencia Sub FindAndReplace(strSearch As String, strReplacement As String, doc As Word.Document), que falta compilar

    • @InteligenciaEficiente
      @InteligenciaEficiente  Рік тому

      ¡Hola Rael! Si aún continúas con problemas puedes enviarme tu macro por correo: inteligenciaeficienteYT@gmail.com ¡Saludos!

  • @gersaavedra6168
    @gersaavedra6168 2 роки тому

    Hola. Lo que has presentado tiene un gran potencial, que de inmediato voy a aplicar. cualquier consulta o intercambio e idea, te ruego tengas la amabilidad de contestar mis e-mail. G|racias

  • @franquiparra1664
    @franquiparra1664 2 роки тому

    los datos también se pueden reemplazar por fecha o números ?

  • @agrocultivate9201
    @agrocultivate9201 6 місяців тому

    Muchas gracias por tu aportación. El código me da "Error de compilación: No se ha definido el tipo de definido por el usuario" y señala "Sub FindAndReplace(strSearch As String, strReplacement As String, doc As Word.Document)", Si pudieran ayudarme

    • @InteligenciaEficiente
      @InteligenciaEficiente  6 місяців тому +1

      ¡Muchas gracias por ponerte en contacto por correo! Espero que se pueda resolver el problema con la respuesta que envié, saludos!

    • @agrocultivate9201
      @agrocultivate9201 6 місяців тому

      @@InteligenciaEficiente Muchas gracias por tu rápida respuesta, el problema es que no había marcado correctamente el tick en MS word library! muy buen vídeo.

  • @jhonatanhernandez4066
    @jhonatanhernandez4066 2 роки тому +1

    Cuántos caracteres se pueden reemplazar?

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому +1

      Con el método actual tiene la limitante de 255 caracteres pero si tienes problemas envíame un correo a inteligenciaeficienteyt@gmail.com para mejorar la macro y que pueda reemplazar más caracteres. Saludos!!

  • @otzcar
    @otzcar 2 роки тому

    Excelente, solo no se si tambien por ejemplo podria que al no poseer dato en la celda del NombrePersona en el documento de word no me aparezca la palabra "Nombre:"

    • @InteligenciaEficiente
      @InteligenciaEficiente  2 роки тому

      Hola Oscar, Hay diversas soluciones para lo que necesitas hacer, sin embargo esta que te mostraré no requiere que agregues nada al código por lo que me parece lo mejor.
      bastará con que el reemplazo contenga también el sufijo "Nombre: "

  • @josseph20
    @josseph20 Рік тому

    Hice todo igual y me sale un error "el tipo de argumento de ByRef no coincide"

    • @InteligenciaEficiente
      @InteligenciaEficiente  Рік тому

      ¡Hola! Si te sale un error es porque algo no está igual que en el video... cualquier duda puedes contactarme al correo en la descripción. ¡Saludos!

  • @pablojavieralvarez
    @pablojavieralvarez Рік тому

    Deje Like, deje suscripción y aqui estoy con mi comentario. Sencillamente espectacular! Soy fotografo y te comento que lo aplique a un generador de presupuestos para eventos sumando a una base de datos de mis clientes. Solo tengo 2 cosas que me gustaria resolver, en mis presupuesto se colocan las fechas del evento por esta programacion que tan gentilmente has publicado pero me aparence en formato dd/mm/aaaa en el word cuando en el excel se visualizan como "dia" de "mes" de "año", como hago para que se reemplacen en este ultimo formato en word? y la otra duda es similar a esta ; en el campo de los precios en excel lo tengo expresados sin decimales y con el separador de miles (ej 20.000) y en el reemplazo de word se visualizan como 20000,00000 sobre todo en una formula que me genera el valor en cuotas que suele dar con decimales . Si pudiera resolver esto seria maravilloso! Gracias de todas maneras!

    • @InteligenciaEficiente
      @InteligenciaEficiente  Рік тому +1

      ¡Hola Pablo! Muchas gracias por tu valioso comentario, puedes modificar la macro en las líneas que dice replacement = replacements(1,2).Text para que de esa manera jale el formato que tenga la celda, lo más sencillo en tu caso es que le des formato a tus fechas y valores desde Excel, por ejemplo que los números los pongas con formato "Moneda" en el caso de la fecha, puedes utilizar la fórmula TEXTO en una celda que agarre la fecha por ejemplo si la celda B2 tiene una fecha 01/10/2022 con la fórmula =TEXTO("dd de mm de aaaa") podría funcionar, si tienes alguna duda puedes contactarme a mi correo y con mucho gusto puedo ayudarte. inteligenciaeficienteYT@gmail.com

    • @pablojavieralvarez
      @pablojavieralvarez Рік тому

      @@InteligenciaEficiente E-S-P-E-C-T-A-C-U-L-A-R. Gracias TOTALES!