Я пытаюсь объединить ячейки через excel VBA. Это связано с несколькими диапазонами. Ниже мой столExcel Macro множественная конкатенация диапазона
Degree1
Course1, Course2, Course3
Course4, course5, course6
степени 2
Course1, Course2
Course3, Course4
Course5
Course6, Course7
Степень 3
Курс1, курс2, курс3
Course4, course5, course6
Course7
Я хочу, чтобы объединить все курсы, перечисленные ниже степени в одну ячейку рядом степени. Каждая степень имеет несколько курсов & количество строк различается для каждой степени.
Я использую функцию поиска excel для идентификации ячейки, содержащую степень &, выберите курсы под ней. Я также использую функцию concat
от http://www.contextures.com/rickrothsteinexcelvbatext.html, чтобы я мог конкатенировать выбранные диапазоны.
Я попытался написать приведенный ниже код, но это не работает, я получаю ошибку значения в конце. Я предполагаю, что диапазон не хранится в переменной
Sub concatrange()
Dim D1Crng As Range 'to set courses under degree1 as range
Dim D2Crng As Range
Dim D3Crng As Range
Dim D1cell As Range 'to identify the cell of D1 and set it as range
Dim D2cell As Range
Dim D3cell As Range
Range("A1:B100").Select
Selection.Find(What:="Degree1", _
LookIn:=xlValues, LookAt:=xlPart, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Select
ActiveCell.Select
Set D1cell = Selection
Range(D1cell).Activate
ActiveCell.Offset(1, 0).End(xlDown).Select
Set D1Crng = Selection
Range(D1cell).Activate
ActiveCell.Offset(0, 1).Select
Selection.Formula = "=concat("","",D1Crng)"
End sub
Я повторив этот процесс конкатенации для других степеней.
Большое спасибо! Jeeped. Ваш код работает безупречно и сэкономил мне много времени. –