Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.08.2009, 14:35   #1
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию Перенести данные

Вопрос очень простой, на первом листе имеется таблица с данными (диапазон столбцов известен, кол-во строк постоянно увеличивается), данные из этой таблицы необходимо перекинуть на другой лист, но так, чтобы строки расположились не одна за другой, а через три.
Писала разные циклы, но того, что нужно не получилось(((
Belokuraya вне форума Ответить с цитированием
Старый 10.08.2009, 14:58   #2
Tirendus
Форумчанин
 
Аватар для Tirendus
 
Регистрация: 20.03.2009
Сообщений: 272
По умолчанию

я бы сделал так

-----

упс, походу я не так понял думал, вы про столбцы, а не строки говорите
Вложения
Тип файла: rar Book1.rar (9.2 Кб, 12 просмотров)
Tirendus вне форума Ответить с цитированием
Старый 10.08.2009, 15:11   #3
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Код:
Dim li As Long
Application.ScreenUpdating = False
Cells(1, 1).EntireRow.Copy Sheets("Лист3").Cells(1, 1)
For li = 2 To Cells(Rows.Count, 1).End(xlUp).Row
 Cells(li, 1).EntireRow.Copy Sheets("Лист3").Cells((li - 1) * 4, 1)
Next li
Application.ScreenUpdating = True
Самый простой вариант.
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru

Последний раз редактировалось The_Prist; 10.08.2009 в 15:14.
The_Prist вне форума Ответить с цитированием
Старый 10.08.2009, 15:36   #4
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию

The_Prist, спасибо, только вот на листе, с которого я беру данные, у меня один диапазон столбцов (напр. с 30 по 109), а на листе, куда я их переношу - другой(напр.с 5 по 86).
Belokuraya вне форума Ответить с цитированием
Старый 10.08.2009, 15:42   #5
The_Prist
Участник клуба
 
Аватар для The_Prist
 
Регистрация: 17.07.2009
Сообщений: 1,088
По умолчанию

Ну тогда так
Код:
Range(Cells(li, 30),Cells(li,109)).Copy Sheets("Лист3").Cells((li - 1) * 4, 5)
WebMoney - R298726502453; Яндекс.Деньги - 41001332272872
www.excel-vba.ru
The_Prist вне форума Ответить с цитированием
Старый 10.08.2009, 15:53   #6
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию

хм, а если через цикл:

For v = 30 To 109
pro = ActiveWorkbook.Worksheets("Prod").C ells(i, v).Value
ActiveWorkbook.Worksheets("Report2M onth").Cells(j, u).Value = pro
Next

только вот как для u задать диапазон с 5 по 86?
Belokuraya вне форума Ответить с цитированием
Старый 10.08.2009, 16:08   #7
Belokuraya
Пользователь
 
Регистрация: 27.04.2009
Сообщений: 41
По умолчанию

Разобралась сама, спасибо)))
Belokuraya вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенести данные с одного листа на другой. albih Microsoft Office Excel 2 02.05.2009 12:55
Как перенести данные столбцов в один столбец? CaustiC Microsoft Office Excel 4 04.03.2009 11:11
Как перенести определённые данные из строки Kamikaze13 Microsoft Office Excel 3 21.11.2008 10:57
как перенести данные с листа excel в текстовой фаил? sergey34 Microsoft Office Excel 6 02.12.2007 22:59
Через запрос перенести данные с 6 таблиц Таня84 БД в Delphi 5 22.03.2007 15:46