Заполнить соседние ячейки выделенного диапазона его значениями через разделитель - VBA

Узнай цену своей работы

Формулировка задачи:

Помогите с макросом, который должен делать следующее: 1. Пользователь выделяет диапазон (всегда только в одном столбце) 2. Создаем массив и записываем в него значение ячеек выделенного диапазона 3. Перебираем массив и заполняем каждую соседнюю ячейку выделенного диапазона значениями выделенных ячеек через разделитель ";" 3.1 Пропускаем (не записываем) значение, которое есть в соседней слева (выделенной) ячейке Например, выделенный диапазон из четырех ячеек с такими значениями: 1 2 3 4 Соседний столбец должен быть 2;3;4 3;4;1 4;1;2 1;2;3 P.S. Cейчас делаю в отдельной книге с помощью формул, а потом переношу результат в другую книгу. Очень долго получается..

Решение задачи: «Заполнить соседние ячейки выделенного диапазона его значениями через разделитель»

textual
Листинг программы
Sub JoinSelection()
    Dim a(), b()
    Dim i&, ii&, j&, rw&, cl&
'-----------------------------
    With Selection
        a = .Value
        rw = .Row
        cl = .Column + 1
    End With
    For i = 1 To UBound(a)
        ReDim b(1 To UBound(a) - 1)
        j = 0
        For ii = 1 To UBound(a)
            If a(ii, 1) <> a(i, 1) Then
                j = j + 1
                b(j) = a(ii, 1)
            End If
        Next
        Cells(rw, cl) = Join(b, ";")
        rw = rw + 1
    Next
End Sub

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 3.462 из 5
Похожие ответы