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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 28.01.2015, 11:54   #1
quarkshark
Пользователь
 
Регистрация: 24.01.2015
Сообщений: 22
По умолчанию Записать значения из одной книги в несколько других

Есть 10 рядов чисел по 15 чисел в каждом ряде. Номер ряда находится в столбце А начиная с ячейки А2.

Первый ряд чисел начинается с ячейки В2, второй - с В3 и т.д.

Нужно макросом записать значения ячеек рядов чисел из этой книги в книгу название которой есть номером ряда, начиная с ячейки В2 по 5 ячеек в столбце (15 чисел - 3 столбца по 5).

Ряд чисел из В2 по Р2 должен быть записан в файл 1.xlsx первые 5 ячеек в первый столбец начиная с В2, следующие 5 ячеек во второй столбец начиная с С2 и т.д.

Аналогично, следующий ряд должен быть записан в файл 2.xlsx и т.д.

Все файлы находятся в одной и той же папке.
Вложения
Тип файла: zip Rebind.zip (6.0 Кб, 5 просмотров)
Тип файла: zip 1.zip (5.7 Кб, 4 просмотров)
Тип файла: zip 2.zip (5.7 Кб, 5 просмотров)
quarkshark вне форума Ответить с цитированием
Старый 28.01.2015, 11:55   #2
quarkshark
Пользователь
 
Регистрация: 24.01.2015
Сообщений: 22
По умолчанию Пример

Пример ниже
Изображения
Тип файла: jpg Default.jpg (17.7 Кб, 112 просмотров)
Тип файла: jpg 1.jpg (15.9 Кб, 121 просмотров)
Тип файла: jpg 2.jpg (15.7 Кб, 118 просмотров)
quarkshark вне форума Ответить с цитированием
Старый 28.01.2015, 14:43   #3
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Код:
Sub Copy35()
  Dim rg As Range, r As Long, c As Long
  Set rg = Range("B2,G2,L2"):  Application.ScreenUpdating = False
  For r = 2 To Cells(Rows.Count, 1).End(xlUp).Row
    Workbooks.Add
    For c = 0 To 4
      rg.Offset(r - 2, c).Copy Cells(r + c, 2)
    Next
    With Workbooks(Workbooks.Count)
      .SaveAs rg.Offset(r - 2, -1).Value: .Close
    End With
  Next
  Application.ScreenUpdating = True
End Sub
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 28.01.2015, 21:42   #4
quarkshark
Пользователь
 
Регистрация: 24.01.2015
Сообщений: 22
По умолчанию

Спасибо Игорь! Как можно изменить этот код чтобы записывать значения в существующие книги (где уже присутствует форматирование и другие данные) и файлы в формате .xlsm ? Тут при каждом сохранение нужно нажимать на подтверждение перезаписи файлов. И если увеличить количество чисел с 15 до 100 нужно их всех записывать через запятую (адрес каждой 5-й ячейки) или можно как-то по-другому их записать в формулу?
Цитата:
Set rg = Range("B2,G2,L2,Q2,V2,AA2")
и т.д.
quarkshark вне форума Ответить с цитированием
Старый 28.01.2015, 22:06   #5
IgorGO
Новичок
СтарожилДжуниор
 
Аватар для IgorGO
 
Регистрация: 05.02.2008
Сообщений: 9,487
По умолчанию

Цитата:
Как можно изменить этот код
изменить его можно так, что мать родная не узнает ))

уважаемый quarkshark,
подкупает в Ваших вопросах основательность, с которой Вы подходите к разьяснениям что есть и что нужно...
но когда выясняется, что это только вершина айсберга - становится грустно, задача как бы решена

в общем... удачи!
учитите VBA и не то еще можно сделать)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете
IgorGO вне форума Ответить с цитированием
Старый 29.01.2015, 10:58   #6
quarkshark
Пользователь
 
Регистрация: 24.01.2015
Сообщений: 22
По умолчанию

Спасибо Игорь! Я сейчас учу VBA но мне пока что трудно со всем разобраться самому, поэтому и просил совета. Желаю Вам тоже удачи!
quarkshark вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
(Delphi) разделение одного массива на несколько других Semiotica Помощь студентам 6 01.05.2012 21:42
1) как перетащить несколько модулей с одной книги на другую одним скопом? 2)можно ли открыть несколько книг сразу? БАХТИ Microsoft Office Excel 17 26.09.2011 18:11
Необходимо скопировать 1 лист из одной книги в большое количество других книг Nick-1984 Microsoft Office Excel 4 13.09.2011 10:56
Скопировать данные из некоторых ячеек одной книги в другие книги fcunited Microsoft Office Excel 8 09.06.2010 12:14
Заполнение одной таблицы на основании других Д'якон Помощь студентам 5 27.01.2010 19:30