Macro para poner texto con condición

Lo que pasa es que quiero agregar un texto de acuerdo a uno condision por ejemplo

Tengo en la columna "D" los iguientes datos :

D1) Tit SEGUNDO|Cap I|Art 9o.|II||3|i|ii

D2) Tit SEGUNDO|Cap I|Art 9o.|III||1|i|ii

D3) Tit SEGUNDO|Cap I|Art 9o.|IV||2|i|ii

D4) Tit SEGUNDO|Cap I|Art  10  Bis.|I|F|a|iii|iiii 

Quiero agregar un texto al final de cada celda si cumple una condición por ejemplo D1, D2 Y D3 el articulo es igual entonces quiero que para los tres casos al final del texto aparezca P1, P2 Y P3

Para el caso de la fila D4 como el art es diferente (art 10) entonces que me diga de nuevo P1 cada que cambie el articulo por debajo y así sucesivamnte...

D1) Tit SEGUNDO|Cap I|Art 9o.|II||3|i|ii  p1

D2) Tit SEGUNDO|Cap I|Art 9o.|III||1|i|ii  p2

D3) Tit SEGUNDO|Cap I|Art 9o.|IV||2|i|ii  p3

D4) Tit SEGUNDO|Cap I|Art  10  Bis.|I|F|a|iii|iiii   p1

2 Respuestas

Respuesta
1

Pensaba responderte... pero algo me entretuvo y veo que Dante ya te ha respondido.

Lo que me llamó la atención de tu historial es que NUNCA respondes ... y no hablo de valorarlas ya que quizás creas que nos dan algunos $ ... hablo de responder por una mera actitud de buena educación: lo recibí, lo probaré... no me resultó... o gracias!

Quiero pensar que no lo haces solo porque no sabes cómo hacerlo. Así que fijate al pie de las respuestas que recibiste que aparecen estas opciones: pedir aclaraciones o valorarlas como buena o excelente.

Y esta es la lista de tus consultas ..... ninguna comentada.

Sdos!

Respuesta
2

Según tus ejemplos, considero lo siguiente:

  • Los datos empiezan en la fila 1
  • Los datos están separados por pipe "|"
  • El artículo siempre está en el tercer dato

Si es correcto lo anterior, ejecuta la siguiente macro:

Sub Agregar_Texto()
'Por Dante Amor
    For i = 1 To Range("D" & Rows.Count).End(xlUp).Row
        datos = Split(Cells(i, "D").Value, "|")
        If ant <> datos(2) Then n = 1 Else n = n + 1
        ant = datos(2)
        Cells(i, "D").Value = Cells(i, "D").Value & " p" & n
    Next
    MsgBox "Fin"
End Sub



'.[Sal u dos. Dante Amor. No olvides valorar la respuesta. 
'.[Avísame cualquier duda

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas