Como extraer los datos de una celda

Si tengo en una celda escrito algo así 2'-5 3/4" como puedo hacer con una macro que los numero los ponga en diferentes celdas para que quede así :
2 5 3 4
Gracias
Respuesta
1
Primero debes reemplazar los caracteres no numéricos por un espacio, luego ( en excel 2007) existe una opción denominada "texto en columnas", esta en la pestaña "Datos", te posicionas sobre el dato que deseas separar y presionas el botón, esto considerara cada carácter de la cadena 2 5 3 4 y los ubicara en columnas por separado hacia la derecha. No tiene falla.
Bye
Gracias y funciona lo que me indicas pero necesito algo un poco más automático,
se que los valores no son numéricos pero estoy ablando de docenas de celdas que tienen estas características cambiar los valores no numéricos por espacios implicaría mucho tiempo que quisiera ahorrar,
lo que quisiera es:
Del primer valos asta " ' " pasalo a la celda H1
de "-" asta " " pasalo a I1
de " " asta "/" pasalo a J1
y de "/" asta " " " pasalo a K1
se que con una macro no puedo poner """ porque da error pero poniendo el numero de carácter si da
realmente es una macro lo que necesito ya que estoy haciendo una rutina que hace muchas operaciones y solo me falta solucionar estos valores,
yo manejo el software autocad y logre una rutina que me extrae los listados de materiales de autocad en exel el problema es que, autocad me da los valores no numéricos para separar las pulgadas y ponerlo en centímetros implicaría problemas ya que trabajamos para gringos y ellos solo manejan pulgadas y pies.
Muchísimas gracias de antemano y espero se pueda lo que necesito o algo parecido
Prueba esta macro
Sub Macro1()

    Columns("A:A").Select
    Selection.Replace What:="'", Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="-", Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="/", Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.Replace What:="""", Replacement:=" ", LookAt:=xlPart, _
        SearchOrder:=xlByColumns, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    Selection.TextToColumns Destination:=Range("H1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
        Semicolon:=False, Comma:=False, Space:=True, Other:=False, FieldInfo _
        :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
        True
    Range("A1").Select
End Sub
Los datos deben estar sin rotulo, desde la celda A1 luego corre el macro, esto te eliminara los caracteres no numéricos, así que te sugiero copies los datos a otra hoja (plantilla) y una vez que los proceses los trasladas.
a ver que tal.
Bye

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas