Separar datos

Hola,
Continuamente tengo ficheros excel donde aparecen datos en filas separados por comas y otros datos en otra fila de igual manera... Algo así:
electroliticos  C83,C84,C113
tantalo           C104
insercion        C111,C114,C115
Quisiera obtener una nueva hoja con los datos separados cada uno en una nueva fila.
Electrolíticos C83
Electrolíticos C84
Electrolíticos C113
Tántalo C104
Inserción C111
Inserción C114
Inserción C115
¿Alguna IDEA?

1 Respuesta

Respuesta
1
En Excel 2007 en la pestaña "Datos" tienes un botón que indica "Texto en columnas", con esta funcionalidad puedes realizar la separación de cada cadena de texto y dejarlas separadas en varias celdas, es decir : electrolíticos C83, C84, C113, quedaría así
A1= electroliticos  B1=C83 C1=C84 D1=C113
luego solo debes concatenar los valores utilizando el comodin & haciendo erferencia a la Celda A1 como celda fija ( ya que serie el "titulo" ), ej: =+$A$1  & " " & B1 eso te daria
electroliticos C83
y así con las sgtes celdas
espero te ayude.
Gracias por tu aclaración, pero no me sirve... Se me olvido decirte que un fichero de este tipo puede tener cientos de filas y hacerlo manualmente me llevaría mucho tiempo...
Busco algún script que lo solucione automáticamente...
¿Tienes alguna idea?
Prueba esto
Private Sub CommandButton1_Click()
Dim i As Long
Dim g As Integer
Dim v As Long
Range("iv65536:iv65536").Formula = "=COUNTA(C[-254])"
    Range("A1:A65536").Select
    Selection.TextToColumns Destination:=Range("B1"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=True, Tab:=True, _
        Semicolon:=False, Comma:=True, Space:=True, Other:=False, FieldInfo:= _
        Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _
        True
Range("b1").Select
For i = 1 To Range("iv65536:iv65536").Value
    For g = 3 To 256
            Worksheets(Hoja7.Name).Cells(1, g).Select
            If Worksheets(Hoja7.Name).Cells(i, g) = "" Then Exit For
            cadena = Trim(Hoja7.Range("b" & i).Value) & Worksheets(Hoja7.Name).Cells(i, g)
            Sheets(Hoja8.Name).Select
            Hoja8.Range("A2").Select
            Selection.EntireRow.Insert
         Hoja8.Range("A2") = cadena
        Sheets(Hoja7.Name).Select
    DoEvents
    Next
 DoEvents
Next
Range("A14").Select
    Range("IV65536").Select
    Selection.ClearContents
     Range("a1").Select
MsgBox "Terminado", vbInformation
End Sub
Los datos deben estar en la columna A, para el ejemplo yo uyilize Hoja7 y Hoja8, al hacer click tomara los datos de la hoja 7, los procesara y los ira dejando en la Hoja8, según modelo que describiste.
Espero te sirva, si no, bueno, se hizo el intento, pero de seguro te dará alguna idea para que tu puedas desarrollar.
Bye

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas