Функция Split, простейшее из простейшего - VBA
Формулировка задачи:
Здравствуйте, уважаемые знатоки! Задача простая, но решение нужно срочно. В ячейки A1:A3 записаны значения 1, 2, 3 по порядку. В ячейки B1:B3 записаны значения "42v44v46", "44", "42v44v46" соответственно. Необходим макрос, который разделяет B1:B3 с разделителем "v", записывает значения в столбец D и к каждому разделенному значению в столбец С приписывает соответствующее ему значение из столбца А. Думаю, достаточно понятно. К неразделённой строке 2 так и приписать значение "2".
Вот код, который уже имеется, что нужно добавить?
Решение задачи: «Функция Split, простейшее из простейшего»
textual
Листинг программы
Sub Test2() Dim iRow&, iCount&, iArr$(), iArr2(), i& Application.ScreenUpdating = False iArr2 = Range(Cells(1, 1), Cells(Rows.Count, 2).End(xlUp)).Value iRow = 1 For i = 1 To UBound(iArr2) iArr = Split(iArr2(i, 2), "v") iCount = UBound(iArr) + 1 If iCount > 1 Then Cells(iRow, 4).Resize(iCount) = Application.Transpose(iArr) Cells(iRow, 3).Resize(iCount) = iArr2(i, 1) Else Cells(iRow, 4) = iArr2(i, 2) Cells(iRow, 3) = iArr2(i, 1) End If iRow = iRow + iCount Next Application.ScreenUpdating = True End Sub