Como separar Texto en Excel

Estoy trabajando en VB en una macro donde debo colocar en una celda cierta parte de un Texto y busque en varias funciones pero no obtengo buenos resultados.

La celda donde tengo el texto en en "A1" y el resultado lo debo obtener en "C1"

El punto es el siguiente tengo esto tres casos:

1°1° MAÑANA 1° LLAMADO donde el resultado a obtener seria MAÑANA

1°3° TARDE 2° LLAMADO donde el resultado a obtener seria TARDE

1°4° VESPERTINO 1° LLAMADO donde el resultado a obtener seria VESPERTINO

Busque con la función MED pero cuando llego a VESPERTINO no extrae la palabra completa.

Podrán ayudarme con este tema.

1 respuesta

Respuesta
1

Con fórmula sería como en la imagen:

=EXTRAE(A1;6;HALLAR(" ";A1;6)-6)

Con macro sería, también para A1, con esta instrucción:

Range("C1").Formula = "=MID(A1,6,SEARCH("" "",A1,6)-6)"

Solo debieras reemplazar A1 por la celda donde se encuentre el texto.

Como EXTRAE toma el texto a partir de la posición 6 hasta HALLAR un espacio también a partir de la posición 6, es importante que todos tus turnos tengan el mismo formato: 1º2º MAÑANA, con un espacio que separe los números del texto.

*Te invito a mirar el video Nº 15 de mi canal: Fórmulas con VBA

Olvidé la imagen ;)

Sdos!

Buenas noches Elsa

Le paso la macro creo que ud. la conoce ja, ja, lo que necesito es agregar el turno en el Libro ACTA

Lo intente con algunas fórmulas pero no obtuve resultado en la palabra "VESPERTINO" las otras "MAÑANA", "TARDE" todo bien, con las fórmulas que están en la macro.

Es por tal motivo que estoy ayuda.

Sub nvo_FILTRADO()
'x Elsamatilde
'macro que filtra con lista de criterios ubiacdos en col Q
Application.ScreenUpdating = False
Set librox = ActiveWorkbook

'ajustar rango de títulos
Range("A11:AO11").Select
'quita filtrado anterior
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData

'se posiciona en el libro Acta
Windows("ACTA.xlsx").Activate
Set libroA = ActiveWorkbook
Range("B19:D43").ClearContents
Range("B19").Select

librox.Activate
'se recorren todas las col de Materias
For x = 6 To 6 'de col F a la 41
'se filtra por cada item de la lista en col Q
fini = Range("AS" & Rows.Count).End(xlUp).Row
For i = 1 To fini
'quita filtrado anterior
If ActiveSheet.FilterMode = True Then ActiveSheet.ShowAllData
'se filtra por col x
crit = Range("AS" & i)
ActiveSheet.Range("$A$11:$AO$" & Range("A" & Rows.Count).End(xlUp).Row).AutoFilter Field:=x, Criteria1:=crit
finx = Range("C" & Rows.Count).End(xlUp).Row
'se cuenta la cant de filas resultantes
If finx > 11 Then
canti = Range(Cells(11, x), Cells(finx, x)).SpecialCells(xlCellTypeVisible).Count
'envia el nombre de la materia y del filtro
nbreMat = Cells(11, x)
anio = Left(crit, 2)
divi = Mid(crit, 3, 2)
Aquí donde debería insertarla la nueva fórmula para que se acepten las palabras MAÑANA, TARDE, VESPERTINO
'exturno = Split(Cells(11, x))(1)
'turn = Mid(crit, 6, 6)
'Se posiciona en ACTA y copia año,div,turno
Cells(11, x).Copy Destination:=libroA.Sheets(1).[C11]
libroA.Sheets(1).[F13] = anio: libroA.Sheets(1).[H13] = divi: libroA.Sheets(1).[F15] = exturno
'la variable guarda la ruta o directorio de la carpeta que buscamos

¿Por qué no colocaste el código que te pasé? Te lo envié con imágenes, en libro ... y luego colocas en tu macro un código que no es mío... ¿y yo tengo que arreglarlo? ¿No es mucho?

Y encima valorando mi respuesta por un error ajeno... qué pena lo tuyo.

Esto solicitaste:

Tengo el texto en en "A1" y el resultado lo debo obtener en "C1" y se desarrolla lo que Uds solicitan:

Range("C1").Formula = "=MID(A1,6,SEARCH("" "",A1,6)-6)"

Sdos!

Intente armar con otras fórmulas por eso se la deje como muestras y no me resultaron para ver si podía ingresar la palabra "VESPERTINO".

El error es mío y de nadie más.

¡Gracias!

Allí dejo las 2 instrucciones que necesitas.

Y esto es para todos los usuarios: Cuando piden una macro o fórmula indiquen las referencias REALES..., la situación REAL... para que no tengan que estar luego tratando de acomodar la respuesta que reciben. Y si encima luego mezclan respuestas, obtienen lo que se dice en algunos lugares: ni chicha ni limonada ;)

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas