2016-11-28 4 views
0

Ich habe eine Excel-Problem, das ich nicht sicher bin, dass es gelöst werden kann.Excel separaten Zelle Wert in Zeilen

Ich möchte dieses Format Excel ändern

enter image description here

Zu diesem Format:

enter image description here

möglich?

Terry

+0

Haben Sie den "Text in Spalten-Funktion" im Datenmenü versucht? –

+0

Ja. Ich habe es versucht aber es ist nicht was ich wollte. – xingtan

Antwort

0
verwenden können

Dies ist möglich. Sie müssen VBA verwenden, wenn Sie sie nicht manuell machen möchten.

Schritt eins: Verwenden Sie Text in Spalten die Werte in Spalte C zu trennen

Columns("C:C").Select 
Selection.TextToColumns Destination:=Range("C1"), DataType:=xlDelimited, _ 
    TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _ 
    Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ 
    :=Array(Array(1, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:=True 

Zweiter Schritt: Fügen Sie ihn in ein anderes Blatt, sondern transponieren

Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _ 
    False, Transpose:=True 

Schritt: Kopieren Spalte A und Spalte B in das neue Blatt und Wiederholen über alle Einträge hinweg in C

Es gibt zwei Schleifen beteiligt, eine zu Iterieren durch jeden Eintrag in c: c und die andere, um A und B bis A einzufügen II C sind in neues Blatt ausgefüllt.

Wenn Sie mit VBA nicht vertraut sind, können Sie immer ein Makro aufnehmen und versuchen, es Dynamisch zu machen, so dass die Bereiche und Schleifen an Ihre Daten angepasst werden.

Wenn Ihre Daten nicht so groß sind und Sie nicht VBA verwenden möchten Sie können Split String und Transpose Funktionen überprüfen.

Split String

Transpose

0

Sie dieses

Sub main() 
    Dim users As Variant 

    users = Split(Replace(Range("C2"), " ", ""), ",") 
    Range("A2:B2").Resize(UBound(users) + 1).Value = Range("A2:B2").Value 
    Range("C2").Resize(UBound(users) + 1).Value = Application.Transpose(users) 
End Sub 
+0

wow. Tks es hat funktioniert. – xingtan

+0

Gern geschehen. Vielleicht möchten Sie meine Antwort als akzeptiert markieren. Vielen Dank! – user3598756

+0

@xingtan, ich sehe, du fragst weiter und bekommst gute Antworten, aber nimm sie nie als akzeptiert hin. Gemäß dieser Website-Regeln (siehe [Was soll ich tun, wenn jemand meine Frage beantwortet?] (Http://stackoverflow.com/help/someone-answers)) müssen Sie auf das Häkchen neben der Antwort klicken, um es zu deaktivieren ausgegraut, um ausgefüllt zu werden. Vielen Dank! – user3598756

Verwandte Themen