Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Макрос переноса определенных данных в другую книгу / 11 сообщений из 11, страница 1 из 1
21.07.2010, 19:16
    #36753312
BioVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
Доброго времени суток!
У меня возникла следующая потребность, которую не совсем понимаю как реализовать.

Есть 2 файла, один из них является сводным, второй строится на основе первого. По идее можно их объединить, но первый весит уже много, а учитывая что в нем работают это не удобно.

Так вот, задача следующая. Нужен макрос, который создаст в таблице столбец после определенного, далее предложит выбор книги, из которой брать данные, после выбора книги на основе кодов в текущем файле скопирует информацию из определенных столбцов и данные в определенные строки (определит нужную строку по коду, соответственно этот же код есть в определенном столбце в книге с данными) и вставит в них данные.

Буду очень признателен за помощь.

P.S. Если не совсем корректно описано, могу выложить сами файлы.
...
Рейтинг: 0 / 0
22.07.2010, 16:15
    #36754894
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
BioVRНужен макрос
мы его должны написать? за спасибо?
...
Рейтинг: 0 / 0
22.07.2010, 16:56
    #36755029
BioVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
Shocker.Pro, я не прошу написать лично для меня макрос. То, что я написал "нужен" - это действительно так, мне он правда нужен. Думаю, что если кто пишет, что нить типа "интересно бы сделать" просто лукавят.

Сам сейчас веду работы в этой области. Думаю, что подобный инструмент будет интересен не только мне - с помощью него можно в excel формировать динамику различных показателей, особенно привлекательно, когда диапазон данных очень большой.

Когда будет готово - выложу код, может кому пригодится.
...
Рейтинг: 0 / 0
22.07.2010, 17:02
    #36755052
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
BioVRShocker.Pro, я не прошу написать лично для меня макрос.
Тогда непонятен смысл поста. Есть сделать работу целиком и за деньги - это в "работу", если есть конкретные вопросы по коду - задавайте.
...
Рейтинг: 0 / 0
22.07.2010, 17:21
    #36755127
BioVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
Shocker.Pro, ок. Я пока завис на добавлении новых столбцов в таблице

Код: plaintext
1.
2.
    Range("Таблица1[[#Headers],[TOTAL]]").Select
    Selection.ListObject.ListColumns.Add Position:= 43 


Как видно, вставка столбца происходит 43 по счету столбцов в таблице. А нужно сделать так, чтобы вставка происходила перед столбцом TOTAL.
...
Рейтинг: 0 / 0
24.07.2010, 11:04
    #36757638
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
BioVR,

я не очень понял, что вы хотели этим сказать
вставка столбца в конкретном месте (пятый столбец) на конкретном листе (Лист1):
Код: plaintext
1.
ThisWorkbook.Worksheets("Лист1").Cells( 1 ,  5 ).EntireColumn.Insert
...
Рейтинг: 0 / 0
26.07.2010, 10:15
    #36758873
BioVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
Shocker.Pro,

я не совсем это имел ввиду. Важным сделать макрос универсальным, чтобы при каждом следующем добавлении столбцов не вносить изменения в макрос.

Решил вопрос таким образом:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
Sub ДобавлениеСтолбцов()

Sheets("Chains1").Select
Columns("C:C").Select
Selection.Copy
Cells( 1 , Columns.Count).End(xlToLeft).EntireColumn.Insert

End Sub

где:
"Chains1" - имя листа;
"C:C" - копируемый столбец (на случай, если нужно скопировать определенный столбец и вставить его (в моем случае копирование формул);
Cells(1, Columns.Count).End(xlToLeft).EntireColumn.Insert - вставляет столбец перед последним заполненным столбцов (заполнение определяет по строке 1).

Соответственно просто вставка столбца:
Код: plaintext
1.
2.
Sheets("Outlets").Select
Cells( 1 , Columns.Count -  1 ).End(xlToLeft).EntireColumn.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

И возникает следующий вопрос, при простом добавлении столбцов нудно автоматически задавать имя нового столбца, точнее указывать его в шапке, есть следующий код, но он вставляет не правильную цифру.
Код: plaintext
1.
2.
3.
4.
  i = "=COUNTIF(NG)-22"
  Cells(CountIf(NG) -  22 ).Formula = s1
  s1 = "week " & i
  Worksheets("Outlets").Cells( 1 , Worksheets("Outlets").UsedRange.Columns.Count -  1 ).Value = s1

Пока не удается сделать так, что бы в графе он задал следующий номер столбца. Для примера в приложении файл. На листе Outlet можно увидеть, что номер следующего столбца должен быть week 28. Пока не получается сделать так. (в файле не обновлены коды, т.к. пробую на рабочем варианте)
...
Рейтинг: 0 / 0
26.07.2010, 10:16
    #36758876
BioVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
Собственно файл...
...
Рейтинг: 0 / 0
26.07.2010, 18:16
    #36760323
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
BioVR,

Я не смог вникнуть.
Вы можете дать ТЗ предельно четко и ясно, без примеров кода?
...
Рейтинг: 0 / 0
26.07.2010, 19:07
    #36760406
BioVR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
Shocker.Pro, с копированием файлов решили. В приложении пример, в котором есть решение. Теперь возник сам вопрос переноса данных из другой книги.

Т.е. после добавления столбцов нужно, чтобы макрос открыл диалоговое окно с возможностью выбора файла, из которого импортировать данные. Все необходимые данные располагаются на листе Outlets. При этом, графы могут изменяться. Неизменным в названиях граф остается название категории - BI, WM, REF, MWO, VC в первой строке и слово Итого во второй строке.
Т.е. сначала макрос определяет из какого столбца брать данные, далее ему нужно определить - в какую строку их записать/скопировать. Тут неизменным остается Outlet ID (код точки), который постоянно находится в обоих файлах в графе D.
...
Рейтинг: 0 / 0
26.07.2010, 19:33
    #36760439
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Excel. Макрос переноса определенных данных в другую книгу
BioVR,

и опять же - а что вызывает затруднения? задавайте конкретные вопросы
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Excel. Макрос переноса определенных данных в другую книгу / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]