Excel - Reemplazar varios valores a la vez por otros asociados

 
Vista:
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Inmarcesible (60 intervenciones) el 18/05/2022 10:33:43
Buenas a todos!

Tengo un texto (unas líneas de código) en donde unos 1000 valores deben modificarse. Tengo el valor nuevo que quiero que tome cada uno. (Por ejemplo, tengo en una columna los valores antiguos y en otra columnas, los valores nuevos. Pero, claro, eso no me sirve porque ya he cambiado el orden de la línea de código).

Me gustaría saber si hay alguna manera de hacerlo con una sola acción, sin alterar el orden de las líneas de código.

Muchas gracias!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Antoni Masana (2477 intervenciones) el 18/05/2022 14:27:10
Sube un libro para ver que tienes y que quieres hacer.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Inmarcesible (60 intervenciones) el 18/05/2022 17:36:48
Buenas, muchas gracias por responder Antoni.

Adjunto el excel donde aparecen todos los valores originales en la columna A. La columna B muestra el valor por que el que hay que cambiar el original.

Los valores de la columna A pertenecen a un código y, en él, están desordenados. Habría que ir buscando cada valor y, sin cambiar su posición, sustituirlo por el de la columna B.

Igual el excel no es el mejor programa para esto.

Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Antoni Masana (2477 intervenciones) el 18/05/2022 18:26:28
No entiendo como relacionas los datos de la columna A y los de la columna B.
Por lo que veo los primeros 15 caracteres de la column A, los de la izquierda, son los mismos que los 15 primeros caracteres de la columna B de cada fila:

1
<name>010001001</name>     <name>0100010010,246206295332404</name>

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Inmarcesible (60 intervenciones) el 18/05/2022 19:01:54
Eso es, y debo sustituir cada registro por el registro de la derecha.

Como son mil y pico, la idea es hacerlo todo a la vez de una sentada.

Muchas gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Antoni Masana (2477 intervenciones) el 18/05/2022 19:17:13
No entiendo cual es el problema, la solución más simple siempre es la mejor:

Seleccionas la columna B, la copias (Ctrl-C), seleccionas la columna A y la pegas (Ctrl-V)

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Inmarcesible (60 intervenciones) el 18/05/2022 19:36:30
Ah, entiendo.

A ver es que el código al que pertenecen los datos de las columna A está en un documento de texto que no puedo compartir.
Los valores de la columna están desperdigados por todo el documento de texto y tienen que reemplazarse por el valor de la columna B sin alterar su posición el documento de texto.
Yo extraje los valores del texto y los coloque en excel para tenerlo más agrupado todo.
Y como son tantos, imaginaba que había un herramienta que fuera buscando un valor de arriba abajo en el texto y reemplazarlo por el valor que sabe que debe hacerlo, el valor de la columna B.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Antoni Masana (2477 intervenciones) el 18/05/2022 19:56:37
Vale, empiezo a entender un poco cual es el problema.

¿El documento de texto es un documento Word? En caso afirmativo necesitas es una macro que busque el texto de la columna A y lo cambie por el de la columna B en el documento.

Lo que no se es si la macro se tiene que hacer en el Excel o en el Word.

Si el Word puede abrir desde la macro el Excel y recorrer las columnas solo tendría que llamar a esta macro pasando los valores a cambiar.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Sub Reemplazar_Codigo(Antes, Despues)
    CommandBars("Navigation").Visible = False
    Selection.Find.ClearFormatting
    Selection.Find.Replacement.ClearFormatting
    With Selection.Find
        .Text = Antes
        .Replacement.Text = Despues
        .Forward = True
        .Wrap = wdFindContinue
        .Format = False
        .MatchCase = False
        .MatchWholeWord = False
        .MatchWildcards = False
        .MatchSoundsLike = False
        .MatchAllWordForms = False
    End With
    Selection.Find.Execute Replace:=wdReplaceAll
End Sub

Si la macro se tiene que hacer en el Excel no se como se puedo abrir el documento y reemplazar los textos pero lo puedo investigar, lo unico que necesito el documento de texto o saber exactamente como se llama el documento y que formato tiene, me refiero a si es .doc , .docx , .txt , etc.

Si es un documento Word puedo simular uno copiando la columna A en uno nuevo y varias veces por si hay repetición en el original.

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Inmarcesible (60 intervenciones) el 18/05/2022 22:17:17
Genial! Muchas gracias!

Y esa macro ejecutada desde word podría reconocer a qué excel debe acudir y qué columnas debe tomar como antes y depués?

Mañana lo intento y te comento. Es un txt pero puedo pegarlo en un word. Lo abro siempre a través del bloc de notas o el notepad++.

Muchas gracias Antoni.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Inmarcesible (60 intervenciones) el 19/05/2022 12:16:13
Nada, no lo he logrado.

De hecho no me reconoce la macro el word. No puedo ejecutarla.

Adjunto el texto, que no es más que los valores originales.


Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Antoni Masana (2477 intervenciones) el 19/05/2022 15:24:47
Comentas que el documento es un TXT y me va mejor así.
A partir de un documento, un libro, he extraído unas cuantas frases y he reemplazado las comas y los puntos por códigos de la columna A (ver Docum_2.txt)
A partir de esta macro reemplaza en el texto los códigos de la columna A por los de la columna B. (Ver resultado en Docum_3.txt)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Sub Reemplaza()
    Dim Orig As String, Dest As String, Fila As Integer, Ps As Long
 
    Open "C:\tmp\Docum_2.txt" For Binary As #1
    Open "C:\tmp\Docum_3.txt" For Output As #2
 
    Orig = Space(LOF(1))
    Get #1, , Orig
 
    Fila = 1
    While Cells(Fila, "A") <> ""
        Do
           Ps = InStr(Orig, Cells(Fila, "A"))
           If Ps > 0 Then
               Dest = Mid(Orig, 1, Ps - 1) + Cells(Fila, "B") + Mid(Orig, Ps + Len(Cells(Fila, "A")))
               Orig = Dest
           End If
        Loop While Ps > 0
        Fila = Fila + 1
    Wend
    Print #2, Orig;
    Close
End Sub

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 140
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Reemplazar varios valores a la vez por otros asociados

Publicado por Inmarcesible (60 intervenciones) el 20/05/2022 09:35:19
Ha funcionado perfectamente! Muchas gracias!

Me encantaría entender le lenguaje VBA como tú.


Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar