Заполнить соседние ячейки выделенного диапазона его значениями через разделитель - 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
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д