Separar frase de texto macros

Buenas tardes Experto

Tengo un inconveniente y consiste en lo siguiente tengo una macro que extrae información de otro libro pero específicamente lo que necesito es que de una hoja extraigo la siguiente información:

ENCUESTA NUEVO MARCO 2005 - MARZO DE 2007

esa información la extraigo de una celda y la pego en otra celda donde ejecuto mi macro pero lo que yo necesito es solo el mes y el año cada uno por aparte y e investigado y solo me funciona con los meses:(ENERO, MARZO, ABRIL, JUNIO, JULIO, AGOSTO) PERO CON LOS MESES: (FEBRERO, MAYO, SEPTIEMBRE, OCTUBRE, NOVIEMBRE, DICIEMBRE) no me esta funcionando la formula que estoy utilizando es la siguiente:

//aquí copio de la otra hoja

Range("A1").Select
Selection.Copy
Windows("serie completa Pobl y tasas t nal cabe y resto.xls").Activate
Range("AN2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("AN3").Select
ActiveCell.FormulaR1C1 = "=RIGHT(R[-1]C,LEN(R[-1]C)-FIND(""-"",R[-1]C,1))"
Selection.Copy
Range("AN4").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("AN5").Select
ActiveCell.FormulaR1C1 = "=LEFT(R[-1]C,LEN(R[-1]C)-FIND("" "",R[-1]C,2))"
Selection.Copy
Range("AN5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("AN5").Select
ActiveCell.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("AN4").Select
Selection.Copy
Range("AO2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("AO3").Select
ActiveCell.FormulaR1C1 = "=RIGHT(R[-1]C,(FIND(""DE"",R[-1]C,1)-1))" '===***=====
Selection.Copy
Range("AO3").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Selection.Copy
Range("AO4").Select
ActiveCell.FormulaR1C1 = "=RIGHT(R[-1]C,(FIND(""0"",R[-1]C,1)-1))" '===***=====
Selection.Copy
Range("AO5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("AO5").Select
ActiveCell.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False

ese es el código que estoy usando pero no me funciona para todo es por ello que recurro para que me ayudes, adicionalmente lo que copio de la hoja de excel solo cambia el mes y digamos que no tengo problema con el año como si con los meses, agradecería me ayudaras con esto quedo a la espero de tu respuesta.

1 Respuesta

Respuesta
1

Probe tu formula y funciona perfecto para todos los meses
es probable que el registro que extraes tenga algun problema... no se
prueba lo sgte
escribe ( y no extraigas) este texto en la celda y sobre ese registro aplica tu formula
ENCUESTA NUEVO MARCO 2005 - SEPTIEMBRE DE 2007

Devolvera:

SEPTIEMBRE DE 2007

Hola y muchas gracias por la respuesta pero lo que necesito es en una celda "SEPTIEMBRE" y en otra celda "2007" cada uno por separado, ojala me pudieras ayudar con eso de nuevo muchas gracias de antemano, quedo atento a tu respuesta

Pero eso es simple

Si ya tienes en una celda "septiembre - 2012" ( lo que es el valor arrojado por tu funcion)

Pues toma todo el rango, lo copias, lo pegas como texto y luego sobre ese rango vas a "texto en columnas" y utilizas separador "espacio"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas