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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.06.2009, 18:03   #1
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию Распределить данные из одного листа.

Добрый вечер господа!
Помогите, пожалуйста, с задачкой:
Есть книга. В книге есть лист «Сводная» в нем таблица со строками от a до h и столбцы от а до в2, нужно из этой таблицы разнести данные по листам a-h в столбцы а-в2 в строки с датой указанной в листе «Сводная», курсы должны копироваться с листа Сводная в лист Курсы в строку с датой указанной в курсах.
Данные в «Сводной подгружаются из разных текстовых файлов с помощью макроса.
Хотелось бы чтобы это все работало следующим образом:
1, Загрузить данные в лист «Сводная» (выполнено. макрос)
2, Импортировать данные Курсов в лист курсы из интернета (выполнено)
3, расписать данные из листа сводная по остальным листам(макрос) – вот с этим пунктом не могу справиться.
Вложения
Тип файла: zip Распределение.zip (3.8 Кб, 32 просмотров)
Zhiltsov вне форума Ответить с цитированием
Старый 05.06.2009, 05:47   #2
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите вложение. Запустите макрос "Distribution".
Значения ячеек в диапазоне "B2:J9" на листе "Сводная" внесены для визуализации результата работы макроса.
Вложения
Тип файла: rar Распределение_2.rar (8.8 Кб, 69 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 05.06.2009, 11:08   #3
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

Спасибо огромное! Все работает!
Еще вопрос. Вот макрос который импортирует данные из текстового файла в эксель, можно его как нибудь оптимизировать. а то у меня такой макрос есть для каждого из двадцати файлов, которые(макросы) запускаются поочереди и пока они работают все мелькает на экрани(Очень быстро открываются новые листы беруться оттуда данные вставляются в нужный лист, закрываются и так 20раз, а в перспективе ещё больше)
Вложения
Тип файла: zip macro.zip (3.4 Кб, 18 просмотров)
Zhiltsov вне форума Ответить с цитированием
Старый 05.06.2009, 11:27   #4
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Попробуйте так:
Код:
Sub Main()
    Dim sh1 As Worksheet, sh2 As Worksheet
    Application.DisplayAlerts = False: Application.ScreenUpdating = False
    Workbooks.OpenText Filename:="N:\Folder\Folder1\FileName1.txt", _
        Origin:=1251, StartRow:=1, DataType:=xlFixedWidth, FieldInfo:=Array( _
        Array(0, 1), Array(11, 1), Array(29, 1), Array(48, 1), Array(67, 1), Array(86, 1), Array( _
        105, 1), Array(124, 1), Array(143, 1), Array(162, 1), Array(181, 1), Array(200, 1), Array( _
        219, 1)), TrailingMinusNumbers:=True
    Set sh1 = Sheets("Sheet1"): Set sh2 = Sheets("Sheet2"): sh1.Move After:=Workbooks("FileName2.xls").Sheets(1)
    sh2.[B3] = sh1.[L36]: sh2.[C3] = sh1.[L38]: sh2.[D3] = sh1.[L40]: sh2.[E3] = sh1.[L72]
    sh2.[F3] = sh1.[L74]: sh2.[G3] = sh1.[L76]: sh2.[H3] = sh1.[L108]: sh2.[I3] = sh1.[L110]
    sh2.[J3] = sh1.[L112]: sh2.[K3] = sh1.[B2]: Sheets("Sheet1").Delete
End Sub
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 05.06.2009, 11:57   #5
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

Все ок. спасибо.

Последний раз редактировалось Zhiltsov; 05.06.2009 в 12:06.
Zhiltsov вне форума Ответить с цитированием
Старый 08.06.2009, 13:58   #6
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

SAS888, а как сделать так, чтобы в макросе распределения значения курсов валют в лист Курсы вставлялись в числовом формате, а то приходится прощелкивать "F2-Enter"
Zhiltsov вне форума Ответить с цитированием
Старый 09.06.2009, 04:31   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Какой исходно установлен формат ячеек в листе "Курсы", в таком формате и будут отображаться вставленные данные.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 09.06.2009, 10:35   #8
Zhiltsov
Пользователь
 
Аватар для Zhiltsov
 
Регистрация: 04.06.2009
Сообщений: 56
По умолчанию

ясен. спасибо.
Zhiltsov вне форума Ответить с цитированием
Старый 07.01.2018, 06:53   #9
badiv
 
Регистрация: 07.01.2018
Сообщений: 6
По умолчанию

Здравствуйте
Помогите, пожалуйста, с задачкой:
Есть книга. В книге есть лист «Сводная» в нем таблица со строками постоянно пополняющимися данными, нужно из этой таблицы разнести данные по листам т.е 4,6,7.....112 (название соответствует столбцу С в сводной) в аналогичные столбцы на вкладках (с названием строк по С т.е 4,6,7.....112) кроме этой самой С (т.к вкладки и так соответствуют названию по С в сводной)

Хотелось бы чтобы это все работало следующим образом:
1. Записываем данные в лист «Сводная» (макрос)
2. Данные распределяются на основании столбца С в сводной, по своим вкладкам
я вижу что предыдущая дискуссия похожа, но не могу разобраться тк не знаю макросов


пример как должно выглядеть во вкладке 4 с данных по сводной

за ранее спасибо
Вложения
Тип файла: rar отбор по вкладкам по номеру.rar (105.1 Кб, 18 просмотров)
badiv вне форума Ответить с цитированием
Старый 07.01.2018, 08:36   #10
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Посмотрите пример во вложении.
Макрос "Main" очистит таблицы всех листов с числовыми именами и распределит по этим листам данные из листа "Svodnaya".
Макрос не проверяет наличие листа с текущим именем из столбца "C". Если нужно, то можно добавить такую проверку, но Вы не указали, что делать в этом случае.
Все ли так, как нужно? Нужны ли комментарии к коду?
Вложения
Тип файла: rar отбор по вкладкам по номеру_2.rar (83.3 Кб, 26 просмотров)
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенести данные с одного листа на другой. albih Microsoft Office Excel 2 02.05.2009 12:55
Копирование информации из одного листа на другой Юрийpirs2008 Microsoft Office Excel 6 24.03.2009 07:59
перенос значений с одного листа на другой ANDREEY Помощь студентам 2 10.02.2009 23:22
Вставить данные из одного листа (таблицы) в другой kartol Microsoft Office Excel 30 11.08.2008 10:43
Разные колонтитулы на двух страницах одного листа Dorvir Microsoft Office Excel 1 14.06.2008 12:25