Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Нужно хитро объединить ячейки

Автор feodosij, 18.05.2011, 23:42

« назад - далее »

feodosij

Есть такая таблица

Нужно объединить ячейки таким образом

Подскажите, пожалуйста, какими методами можно это осуществить?

nilem

Например, выделяем диапазон (на картинке C5:D15), запускаем это:
Sub HitrOb()
Dim x, y(), i&, j&, n&, k$
If Selection.Columns.Count <> 2 Then Exit Sub
x = Selection.Value: ReDim y(1 To UBound(x), 1 To 2)
With New Collection
    On Error Resume Next
    For i = 1 To UBound(x)
        k = CStr(x(i, 2))
        If IsEmpty(.Item(k)) Then
            j = j + 1: .Add j, k
            y(j, 1) = "(" & x(i, 1) & ")"
            y(j, 2) = x(i, 2)
        Else
            n = .Item(k)
            y(n, 1) = Replace(y(n, 1), ")", ", " & x(i, 1) & ")")
        End If
    Next
End With
Selection.Offset(, 3).Value = y
End Sub

Результат запишется справа, через столбец.

feodosij

выражаю огромную благодарность. Надо по-тихоньку изучать макросы...

Alex_ST

Цитата: feodosij от 19.05.2011, 08:54Надо по-тихоньку изучать макросы...
Ну, почему же потихоньку? 
В изучении макросов нет ничего такого, что противоречило общественной морали и чего, поэтому, следовало бы стыдиться и делать это тайком когда очень уж хочется...     
С уважением, Алексей