Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/копирование столбцов n-ое кол-во раз - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » копирование столбцов n-ое кол-во раз (Макросы/Sub)
копирование столбцов n-ое кол-во раз
новичокVBA Дата: Воскресенье, 10.08.2014, 10:36 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
Добрый день, нужно скопировать столбцы B:D заданное количество раз и вставить их перед итоговым столбцом. Я новичок, поиском нашел только копирование строк, не смог переделать на столбцы, чтобы они вставлялись перед итоговым... Заранее спасибо
К сообщению приложен файл: 6209770.xls (27.0 Kb)
 
Ответить
СообщениеДобрый день, нужно скопировать столбцы B:D заданное количество раз и вставить их перед итоговым столбцом. Я новичок, поиском нашел только копирование строк, не смог переделать на столбцы, чтобы они вставлялись перед итоговым... Заранее спасибо

Автор - новичокVBA
Дата добавления - 10.08.2014 в 10:36
Gustav Дата: Воскресенье, 10.08.2014, 12:09 | Сообщение № 2
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2695
Репутация: 1123 ±
Замечаний: 0% ±

начинал с Excel 4.0, видел 2.1
Примерно так:
[vba]
Код
Sub insertColumns()
      Dim rng1        As Range
      Dim rngItogo    As Range
      Dim rngInsert   As Range
      Dim povtorov    As Integer
        
      Set rng1 = Range("B:D")
      Set rngItogo = Range("H:J")
      povtorov = 5
        
      Set rngInsert = rngItogo.Resize(, rng1.Columns.Count * povtorov)
      rngInsert.Insert
      Set rngInsert = rngInsert.Offset(, -rng1.Columns.Count * povtorov)
      rng1.Copy rngInsert
End Sub
[/vba]
Т.е. всё по аналогии с ручными действиями: вставляем перед "Итого" нужное количество пустых столбцов, кратное кол-ву столбцов блока 1, и далее копируем блок 1 в эти пустые стобцы.


МОИ: Ник, Tip box: 41001663842605

Сообщение отредактировал Gustav - Воскресенье, 10.08.2014, 12:11
 
Ответить
СообщениеПримерно так:
[vba]
Код
Sub insertColumns()
      Dim rng1        As Range
      Dim rngItogo    As Range
      Dim rngInsert   As Range
      Dim povtorov    As Integer
        
      Set rng1 = Range("B:D")
      Set rngItogo = Range("H:J")
      povtorov = 5
        
      Set rngInsert = rngItogo.Resize(, rng1.Columns.Count * povtorov)
      rngInsert.Insert
      Set rngInsert = rngInsert.Offset(, -rng1.Columns.Count * povtorov)
      rng1.Copy rngInsert
End Sub
[/vba]
Т.е. всё по аналогии с ручными действиями: вставляем перед "Итого" нужное количество пустых столбцов, кратное кол-ву столбцов блока 1, и далее копируем блок 1 в эти пустые стобцы.

Автор - Gustav
Дата добавления - 10.08.2014 в 12:09
новичокVBA Дата: Воскресенье, 10.08.2014, 12:19 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2007
благодарю, все работает, как часы, плюс к репутации однозначно hands
 
Ответить
Сообщениеблагодарю, все работает, как часы, плюс к репутации однозначно hands

Автор - новичокVBA
Дата добавления - 10.08.2014 в 12:19
Мир MS Excel » Вопросы и решения » Вопросы по VBA » копирование столбцов n-ое кол-во раз (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!