Заполнить соседние ячейки выделенного диапазона его значениями через разделитель - 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
Листинг программы
  1. Sub JoinSelection()
  2.     Dim a(), b()
  3.     Dim i&, ii&, j&, rw&, cl&
  4. '-----------------------------
  5.    With Selection
  6.         a = .Value
  7.         rw = .Row
  8.         cl = .Column + 1
  9.     End With
  10.     For i = 1 To UBound(a)
  11.         ReDim b(1 To UBound(a) - 1)
  12.         j = 0
  13.         For ii = 1 To UBound(a)
  14.             If a(ii, 1) <> a(i, 1) Then
  15.                 j = j + 1
  16.                 b(j) = a(ii, 1)
  17.             End If
  18.         Next
  19.         Cells(rw, cl) = Join(b, ";")
  20.         rw = rw + 1
  21.     Next
  22. End Sub

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


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

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

13   голосов , оценка 3.462 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы