Столбцы начиная со второй половины помещаются через столбец начиная со второго столбца - 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

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


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

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

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