2016-01-18 15 views
1

Я пытаюсь разделить ячейки, если они содержат «,» в следующую строку. Я использую эту формулу для получения данных из листа 1 (= Sheet1! B3) и т. Д., И данные находятся в B3 : AF50. я использую эту УВУСплит-ячейки с формулой в следующей строке Excel vba

Sub splitcells() 
Dim InxSplit As Long 
Dim SplitCell() As String 
Dim RowCrnt As Long 

With Worksheets("Sheet2") 

RowCrnt = 3 

Do While True 


    If .Cells(RowCrnt, "b").Value = "" Then 
    Exit Do 
    End If 

    SplitCell = Split(.Cells(RowCrnt, "b").Value, ",") 

    If UBound(SplitCell) > 0 Then 

    .Cells(RowCrnt, "b").Value = SplitCell(0) 


    For InxSplit = 1 To UBound(SplitCell) 
     RowCrnt = RowCrnt + 1 

     .Cells(RowCrnt, "b").Value = SplitCell(InxSplit) 

     .Cells(RowCrnt, "B").Value = .Cells(RowCrnt - 1, "B").Value 
    Next 
    End If 

    RowCrnt = RowCrnt + 1 

    Loop 

End With 

End Sub 

Проблема

  • Я не знаю, как дать диапазон (B3: Af50) в этом коде
  • Этот код не держит мой код (= Лист1!)
  • это просто копирование значения до «»

моих значений ячеек, как этот

B3 ABC, XYZ, KKK, LLL я хочу, чтобы разделить, как B3 = ABC и B4 = XYZ B5 = KKK b6 = LLL

и если значение B3 изменяется она должна очистить клетки (B4 , B5, B6) расщепляется рано и обновление, если разделить необходимые критерии ""

У листа, как, что

enter image description here

после раскола должна выглядеть, что с формулой неповрежденной

enter image description here

ответ

3

Нет необходимости в VBA.

С данными в Лист1 клеток B3, поместить его в любую ячейку любого листа:

=TRIM(MID(SUBSTITUTE(Sheet1!$B3,",",REPT(" ",999)),COLUMNS($A:A)*999-998,999)) 

и скопировать в поперечнике.

enter image description here

EDIT # 1:

Чтобы скопировать вниз, используйте эту формулу вместо:

=TRIM(MID(SUBSTITUTE(Sheet1!B$3,",",REPT(" ",999)),ROWS($1:1)*999-998,999)) 
+0

он разделив ее на столбцы, а также, если значение в листе 1 изменить не обновлять лист 2 –

+0

@MuhammadKhurrumButt Посмотреть мой ** ИЗМЕНИТЬ # 1: ** –

+0

Редактировать # 1 работает хорошо, но только в первых 4 строках не охватывают g полный диапазон B3: AF50 –

Смежные вопросы