Столбцы начиная со второй половины помещаются через столбец начиная со второго столбца - VBA
Формулировка задачи:
Добрый день!
Имеется excel файл напечатанного ниже формата:
1. Чётное количество заполненных столбцов начиная от столбца "A" до неопределённого количества заполненных столбцов;
2. Количество заполненных столбцов может отличаться в разных строках;
3. В столбцах по порядку сначала идут названия категории, после по порядку идут содержания категории.
Пример структуры файла с названием категорий в начальных строках и описанием категорий в конечных строках, печатаю ниже:
Для более наглядного примера, помечу название категории - (Н), описание категории (О);
1. Авто(Н); Мебель(Н); Техника(Н); Красные(О); Офисная(О); Бытовая(О);
2. Книги(Н); Компьютерная техника(Н); По программированию(О); Оперативная память(О);
3. Для спорта(Н); Мужская обувь(Н); Женская одежда(Н); Ноутбук(Н); Велосипед(О); Туфли(О); Юбки(О); Игровой(О);
Напишите пожалуйста макрос который разместит названия категорий и их описания по парам, начиная о первого и следуя по порядку до последнего.
Пример необходимого результата:
1. Авто(Н); Красные(О); Мебель(Н); Офисная(О); Техника(Н); Бытовая(О);
2. Книги(Н); По программированию(О); Компьютерная техника(Н); Оперативная память(О);
3. Для спорта(Н); Велосипед(О); Мужская обувь(Н); Туфли(О); Женская одежда(Н); Юбки(О); Ноутбук(Н); Игровой(О);
Более наглядный пример в файле во вложении.
Решение задачи: «Столбцы начиная со второй половины помещаются через столбец начиная со второго столбца»
textual
Листинг программы
Sub Perestanovka() Dim i&, j&, LastRow&, LastCol& Sheets(2).Cells.ClearContents With Sheets(1) LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row For i = 1 To LastRow LastCol = .Cells(i, 1).End(xlToRight).Column For j = 1 To LastCol / 2 Sheets(2).Cells(i, j * 2 - 1) = .Cells(i, j) Sheets(2).Cells(i, j * 2) = .Cells(i, j + LastCol / 2) Next j Next i End With End Sub
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д