2012-04-01 2 views
3

Например, у меня есть строковая переменная с именем str. Эта str имеет значение:Отдельные строки в разных ячейках в excel с использованием VBA

apple 
orange 
pineapple 

Каждое слово разделено новойVbLine. Я хочу переместить его на ячейки. A1 содержит apple, A2 содержит orange и A3 содержит pineapple.

Спасибо.

+0

Благодарим за редактирование. :) –

+0

Какой диапазон данных вы хотите манипулировать - есть ли у вас существующие данные в A2, A3 и т. Д.? – brettdj

+0

, если эти ячейки не пусты, выполните переписывание. –

ответ

5

Код ниже расколов строки разделяются vbNewLine в колонке А в столбце B.

Пожалуйста, измените
ws1.[b1].Resize(UBound(X) - LBound(X) + 1, 1) = Application.Transpose(X)
в
ws1.[a1].Resize(UBound(X) - LBound(X) + 1, 1) = Application.Transpose(X)

, если вы хотите перезаписать колонка А

Sub Spliced() 
    Dim ws1 As Worksheet 
    Dim X 
    Set ws1 = Sheets(1) 
    X = Split(Join(Application.Transpose(ws1.Range(ws1.[a1], ws1.Cells(Rows.Count, "A").End(xlUp))), vbNewLine), vbNewLine) 
    ws1.[b1].Resize(UBound(X) - LBound(X) + 1, 1) = Application.Transpose(X) 
End Sub 

enter image description here

+0

Как принять строковую переменную, содержащую текст, разделенный vbNewLine? –

+0

@JaysonTamayo - этот код не разделен по вашему желанию? Нужно ли быть 'vbNewLine'? – brettdj

+1

+1 Ницца Дэйв :) –