Saltar al contenido

Modificar texto en algunas líneas


Recommended Posts

publicado

Hola.

Tengo una hoja de control con líneas de fechas y referencias. Cada referencia tiene una parte fija (AB 1234, etc.) seguida de otra variable (CD 1010, etc.).

En base a esta quiero crear otra hoja para referencias nuevas y necesito modificar algunas referencias para crear otras nuevas.

Ejemplo: Las referencias AB 1234 se convierten en BC 3456

Atención: No se trata de crear nuevas líneas sino de modificar las existentes y solo la parte "fija" sin tocar la "variable".

¿Se puede automatizar esta modificación?

Gracias.

Modificar texto en líneas.xlsx

publicado
Cita

NO SE TRATA DE CREAR NUEVAS LÍNEAS SINO DE MODIFICAR LAS EXISTENTES, Y SOLO LA PARTE "FIJA" SIN TOCAR LA "VARIABLE".

Si lo entendí bien, podrías usar este código VBA

Sub ReemplazarTexto()
    Dim rango As Range
    Set rango = ThisWorkbook.Sheets("Hoja1").Range("B:B")
    rango.Replace What:="AB 1234", Replacement:="BC 3456", LookAt:=xlPart
End Sub

Saludines

publicado

Sugerencia: También si quisieras tener opción de elegir que texto buscar y con cual texto reemplazar puedes modificar el código un poco.

Sub reemplazarTexto()
    Dim rango As Range
    Dim buscarTexto As String
    Dim reemplazarTexto As String
    
    buscarTexto = InputBox("Ingrese el texto a buscar:")
    reemplazarTexto = InputBox("Ingrese el texto de reemplazo:")
    
    Set rango = ThisWorkbook.Sheets("Hoja1").Range("B:B")
    rango.Replace What:=buscarTexto, Replacement:=reemplazarTexto, LookAt:=xlPart
End Sub

 

publicado
Cita

En base a esta quiero crear otra hoja para referencias nuevas y necesito modificar algunas referencias para crear las nuevas.

Eso no me quedó muy claro,  ¿la sentencia tiene que hacer una nueva hoja y conservar la Hoja1 sin cambios? ¿Forma parte de esta consulta o crearás un nuevo tema'

publicado

Hola Israel,

De nuevo das en el clavo! 

Respondiendo a tus cuestiones:

La primera opción es absolutamente válida. 

La segunda opción sería perfecta si en el InputBox pudiese seleccionar una línea con el texto específico y modificarlo para ingresarlo. Solo haría falta un InputBox en vez de dos. ¿Se podría hacer?

Y respecto a la pregunta. No. La sentencia no tiene que crear una hoja nueva. 

Gracias!

publicado
hace 14 minutos , home can dijo:

La segunda opción sería perfecta si en el InputBox pudiese seleccionar una línea con el texto específico y modificarlo para ingresarlo.

Lo lamento, no termino de entenderlo. ¿Te refieres a seleccionar la celda, luego darle F2 seleccionar el texto y luego cambiarlo donde aplique? No digo que no se pueda, pero de hecho para la idea del código me inspire en la opción nativa de Excel que es Buscar y reemplazar.

Incluso es mejor la opción nativa de Excel, porque mi sentencia propuesta solo tiene efecto sobre la columna B, en cambio en esa tienes más opciones:

image.png.e7b084337c9930659721155ba0c5e889.png

Quedo atento a tus comentarios.

publicado

Aprendiendo cada día contigo, amigo Israel!

Ya tengo para practicar un rato e ir conociendo la funcionalidad.

Gracias.

Tema cerrado.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.