2015-01-23 2 views
0

У меня есть код ниже и вам нужно добавить функцию в y.sheets, которая позволит мне разделить пару текстовых строк в столбце A после того, как rangcells были вставлены в «Ян».Изменить VBA для разделения текстовой строки в вставленных ячейках

В принципе, я хотел бы разделить строку «PB Volume», когда она появится в столбце A на y.sheets.

Private Sub CommandButton22_Click() 
Dim x As Workbook 
Dim y As Workbook 


'## Open both workbooks first: 
Set x = Workbooks.Open("Worksheet to Copy") 
Set y = Workbooks.Open("Worksheet to Paste") 


Dim Rangecells As Variant 
    For Each Rangecells In Split("A1:ax10000", ",") 
     'Now, copy what you want from x: 
     x.Sheets("Report Data").Range(Rangecells).Copy 


     'Now, paste to y worksheet: 

     y.Sheets("Jan").Range(Rangecells).PasteSpecial 
     y.Sheets("Jan").Cells.UnMerge 




    Next 

'Close x: 
x.Close 
End Sub 
+1

Слишком маленькая деталь здесь, чтобы сделать какие-либо реальные предложения. Данные Sasmple и ожидаемые результаты помогут. –

+0

@TimWilliams было более полезным? Мне просто нужно разделить любую ячейку в столбце А, вставленной в «Ян», которая содержит строку «Том PB» – Moxdawg4

+0

Что означает «разделение»? Повернуть одну текстовую строку на две? Вставить два сегмента строки в отдельные ячейки? Освободите ячейки, чтобы отображались две ячейки? – Smandoli

ответ

0

Непроверенные:

Dim c as Range, arr 

With y.Sheets("Jan") 
    .Range(Rangecells).PasteSpecial 
    .Cells.UnMerge 
    For each c in Application.Intersect(.UsedRange,.Columns(1)).Cells 
     If c.value = "PB Volume" Then 
      arr = split(c.value, " ") 
      c.value = arr(0) 
      c.offset(0,1).value=arr(1) 
     End If 
    Next c 
End With