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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.02.2011, 18:54   #1
evdss
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 66
По умолчанию перенос данных

помогите пожалуйста с макросом как сделать так, чтобы книги 2010.xls и 2011.xls сохранялись автоматически в текущую папку из которой был запущен первоначальный файл пример.xls?
Вложения
Тип файла: rar пример.rar (15.8 Кб, 10 просмотров)

Последний раз редактировалось evdss; 24.02.2011 в 04:51.
evdss вне форума Ответить с цитированием
Старый 23.02.2011, 19:56   #2
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Жуть этот Ваш макрос, но если Вас так устраивает...
Код:
'ChDir "E:\DOWNLOADS\"
p = ThisWorkbook.Path
ActiveWorkbook.SaveAs Filename:=p & "\2010.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
ActiveWindow.Close
ActiveWorkbook.SaveAs Filename:=p & "\2011.xlsx", FileFormat:= _
xlOpenXMLWorkbook, CreateBackup:=False
End Sub
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 24.02.2011, 04:54   #3
evdss
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 66
По умолчанию

На самом деле задача состоит в том, чтобы данные из файла разделить на два файла по фильтру в 5 столбце за 2010 и 2011 год. Макрос конечно жуть, пытаюсь что-то сделать. Если поможете буду очень благодарна
evdss вне форума Ответить с цитированием
Старый 24.02.2011, 05:55   #4
evdss
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 66
По умолчанию

подскажите, что не так. почему Данные не копируются в книгу, на последней строке выходит ошибка
Sub Copy_Paste()
Dim wbThisBook As Workbook
Range("E8").Select
Selection.AutoFilter
Worksheets(1).AutoFilterMode = False
Selection.AutoFilter Field:=5, Criteria1:="=*2010"
Set wbThisBook = ActiveWorkbook
Workbooks.Add
wbThisBook.ActiveSheet.UsedRange.Co py Cells(1, 1)
End Sub
evdss вне форума Ответить с цитированием
Старый 24.02.2011, 08:11   #5
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Хоть VBA и допускает обращение к активному листу неактивной книги, но лучше этого не делать. Последняя строка Вашего кода
Код:
wbThisBook.ActiveSheet.UsedRange.Copy Cells(1, 1)
обращается к рабочему диапазону активного листа в тот момент, когда активна другая книга. Я бы сделал так:
Код:
Sub Copy_Paste()
    Dim wbThisBook As Workbook: Application.ScreenUpdating = False
    Sheets(1).AutoFilterMode = False
    [E8].AutoFilter Field:=5, Criteria1:="=*2010"
    Set wbThisBook = ActiveWorkbook: Workbooks.Add xlWBATWorksheet
    wbThisBook.Sheets(1).UsedRange.Copy [A1]
End Sub
Естественно, вместо Sheets(1) подставьте ссылку на требуемый лист.
Чем шире угол зрения, тем он тупее.

Последний раз редактировалось SAS888; 24.02.2011 в 08:21.
SAS888 вне форума Ответить с цитированием
Старый 24.02.2011, 08:49   #6
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Я не стал копировать юзедрэндж, скопировал лист целиком. К автору: раскомментируете строку с форматом файла(я делал в 2003).
Вложения
Тип файла: rar myFilters.rar (20.6 Кб, 14 просмотров)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728

Последний раз редактировалось kuklp; 24.02.2011 в 10:01. Причина: Удалил кнопки в созданных файлах
kuklp вне форума Ответить с цитированием
Старый 24.02.2011, 11:12   #7
SAS888
Старожил
 
Аватар для SAS888
 
Регистрация: 05.12.2007
Сообщений: 4,180
По умолчанию

Цитата:
Я не стал копировать юзедрэндж...
А я не стал разбираться в изначальной задаче... Просто ответил на последний вопрос автора темы.
Чем шире угол зрения, тем он тупее.
SAS888 вне форума Ответить с цитированием
Старый 24.02.2011, 12:24   #8
kuklp
Участник клуба
 
Регистрация: 02.05.2010
Сообщений: 1,390
По умолчанию

Серег, я просто пояснил, что я сделал не так, как хотел автор. Тут твоя подпись была бы кстати:-)
mailto: kuklp60@gmail.com, ящики для благодарностей:
WM Z206653985942, R334086032478, U238399322728
kuklp вне форума Ответить с цитированием
Старый 24.02.2011, 14:59   #9
evdss
Пользователь
 
Регистрация: 12.10.2010
Сообщений: 66
По умолчанию

Спасибо большое всем!!!
evdss вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение данных и перенос данных из одной таб в другую Kot9ra Microsoft Office Access 13 02.07.2010 12:22
Перенос данных DANS Microsoft Office Excel 2 13.04.2010 12:06
сортировка данных (пересчет возможных вариантов комбинаций, перенос данных в таблицу) Vitalik85 Microsoft Office Excel 4 12.08.2009 00:30
Перенос данных Girl БД в Delphi 3 28.06.2009 20:56
Перенос данных Technolog Microsoft Office Excel 5 27.03.2009 10:45