2012-05-25 4 views
0

Мне нужна помощь с ячейками vba concatenate.Конкатенатный диапазон ячеек с критериями в столбце

У меня есть лист с расширенными данными: столбец A содержит значения, такие как Product A для нескольких строк, продукт B для нескольких строк и т. Д. Я хочу объединить, скажем, ячейки в столбцах B-J для продукта A, записать значение в столбец K или другой лист, затем сделать то же самое с продуктом B и т. Д. До конца электронной таблицы.

Я думаю, что для этого понадобится некоторое кодирование vba, которое я изучаю, но не очень хорошо, чтобы выполнить эту работу. Пожалуйста помоги!

Спасибо, CJ

+0

Ваш вопрос Название упоминает «Критерии». Можете ли вы объяснить, что вы имеете в виду? –

ответ

1

Я думаю, что это нужно будет несколько VBA не кодирования

Нет вам не нужно для этого VBA :)

Поместите эту формулу в K1 и перетащите ее

=B1&" "&C1&" "&D1&" "&E1&" "&F1&" "&G1&" "&H1&" "&I1&" "&J1 

Это конкатенации данные с SPACE в качестве разделителя. Если вы не хотите, то пространство изменить приведенную выше формулу для

=B1&C1&D1&E1&F1&G1&H1&I1&J1 

Аналогично, если вы хотите, чтобы сцепить с COMMA как разделитель затем использовать этот

=B1&", "&C1&", "&D1&", "&E1&", "&F1&", "&G1&", "&H1&", "&I1&", "&J1 

и так далее ...

1

Я читал его, как вы хотите, чтобы все в одной колонке в другую ячейку. Это процедура, которая будет принимать все данные из ячейки вы укажете, и сцепить все, что происходит вниз до тех пор, пока разрыв в данных

Option Explicit 

Function ColConc(CellRef As Range, Delimiter As String) 

Dim LoopVar As Long 
Dim StartRow As Long 
Dim EndRow As Long 
Dim Concat As String 
Dim Col As Long 

Col = CellRef.column 
StartRow = CellRef.Row 
EndRow = CellRef.End(xlDown).Row 

Concat = "" 

For LoopVar = StartRow To EndRow 
    Concat = Concat & Cells(LoopVar, Col).Value 
    If LoopVar <> EndRow Then Concat = Concat & Delimiter 
Next LoopVar 

ColConc = Concat 
End Function 

вызова, используя формулу =ColConc(A2," ") и это будет получить все от ячейки A2 , вплоть до конца этой колонки, с пробелом в качестве разделителя.
Разделитель может быть любой строкой, поэтому вы можете помещать что-либо между данными. Пустая ячейка завершает данные, которые она использует для конкатенации в одну строку.
Он будет работать только на текущем листе - потребуется больше кодирования, чтобы получить эту часть.

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