Exportar texto de una cadena

Julio:
En una matriz de excel tengo en la columna (c) una serie de datos:
                             C
pje. San carlos n* 3761 - rosario - santa fe
pte quintana n* 2621 - baigorria - santa fe
sanchez de bustamante n* 559 - victoria - entre ríos
lo que necesito es:
1- La columna (c) debe quedar con los datos tal cual como están
2- Se deben exportar los datos que están luego del 1° guion, a la columna (d)
Ej
                           C D
pje. San carlos n* 3761 - rosario - santa fe rosario - santa fe
pte quintana n* 2621 - baigorria - santa fe baigorria- santa fe
sanchez de bustamante n* 559 - victoria - entre ríos victoria - entre ríos
desde ya gracias

1 respuesta

Respuesta
1
Pufffffff, siempre con las mismas consultas y no aprendes, es necesario que vayas estudiando las lineas de código que te pongo para que puedas hacerlo tu solo, teniendo varias macros que siempre hacen lo mismo puedes ir aprendiendo, si das con otros expertos que avisan no hacen temas particulares solo enseñan a hacerlo, no se que hubiese sido de ti, en fin a ver si esta es la ultima consulta del mismo tema:
Te sitúas en una celda y creas un ciclo para que vaya recorriendo todas las celdas hasta la primera en blanco:
Range("C1").Select
Do While ActiveCell.Value<>""
'Pasas a variable el texto de la celda
texto=ActiveCell.Text
'Cuentas los caracteres que tiene la cadena(el nombre de la variable)
numero=Len(texto)
'Creas una variable para ir avanzando por la cadena hasta que encuentre el caracter deseado
c=1
'Extraes a una variable el caracter
car=Mid(texto,c,1)
'Creas un ciclo para que cuando la variable del caracter coincida con el buscado
Do While car<>"-"
car=Mid(texto,c,1)
c=c+1
Loop
'Confirmas que el caracter es el buscado y ejecutas lo que necesitas
If car = "-" Then
'Pasamos a variable el total de caracteres menos los que ya hemos recorrido
total = numero - c
'Extraemos a variable el texto deseado como en este caso entre el primer caracter y la 'primera letra del texto que necesitamos existen 4 caracteres mas se los sumamos
cadena = Mid(texto, total + 4, numero)
ActiveCell.Offset(0, 1).Value = cadena
Macro completa:
Sub comprobar()
Dim texto, cadena, car As String
Dim c, numero, total As Integer
Range("A1").Select
Do While ActiveCell.Value <> ""
'Pasas a variable el texto de la celda
texto = ActiveCell.Text
'Cuentas los caracteres que tiene la cadena(el nombre de la variable)
numero = Len(texto)
'Creas una variable para ir avanzando por la cadena hasta que encuentre el caracter deseado
c = 1
'Extraes a una variable el caracter
car = Mid(texto, c, 1)
'Creas un ciclo para que cuando la variable del caracter coincida con el buscado
Do While car <> "-"
car = Mid(texto, c, 1)
c = c + 1
Loop
'Confirmas que el caracter es el buscado y ejecutas lo que necesitas
If car = "-" Then
total = numero - c
cadena = Mid(texto, total + 4, numero)
ActiveCell.Offset(0, 1).Value = cadena
End If
ActiveCell.Offset(1,0).Select
Loop
End Sub
>Un saludo
>Julio
PD: Después de esto espero que ya sepas armar una macro para extraer cadena de texto del texto de una celda.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas