Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Открытие файла и копирование листа - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открытие файла и копирование листа (Макросы/Sub)
Открытие файла и копирование листа
VIDEO56 Дата: Среда, 29.07.2015, 09:04 | Сообщение № 1
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Добрый день. Подскажите код макроса который бы давал возможность открыть нужный файл и скопировать из него лист "Заявка" в одноименный лист.


Всем удачного дня!
 
Ответить
СообщениеДобрый день. Подскажите код макроса который бы давал возможность открыть нужный файл и скопировать из него лист "Заявка" в одноименный лист.

Автор - VIDEO56
Дата добавления - 29.07.2015 в 09:04
SLAVICK Дата: Среда, 29.07.2015, 09:47 | Сообщение № 2
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
скопировать из него лист "Заявка" в одноименный лист.

Это как? Нужно скопировать весь лист "заявка", или данные с листа "заявка"?
Как открыть файл в Вашей прошлой теме есть:

[vba]
Код
    
wb1 = "Прайс новый.xls"    
MyPath = ThisWorkbook.Path & "\" & wb1
Workbooks.Open Filename:=MyPath
[/vba]

И скопировать лист там- же:
[vba]
Код

With Workbooks(wb1)
.Sheets.Copy Before:=ThisWorkbook.Sheets(1)
End With
[/vba]

Только этот код копирует все листы, а если скопировать лист Заявка, то :
[vba]
Код
.Sheets("Заявка").Copy Before:=ThisWorkbook.Sheets(1)
[/vba]
А если данные с листа Заявка, то:
[vba]
Код
Application.CutCopyMode = False
      Workbooks(wb).Sheets("Заявка").Cells.Copy ThisWorkbook.Sheets("Заявка").Cells(1, 1)
[/vba]


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Среда, 29.07.2015, 10:00
 
Ответить
Сообщение
скопировать из него лист "Заявка" в одноименный лист.

Это как? Нужно скопировать весь лист "заявка", или данные с листа "заявка"?
Как открыть файл в Вашей прошлой теме есть:

[vba]
Код
    
wb1 = "Прайс новый.xls"    
MyPath = ThisWorkbook.Path & "\" & wb1
Workbooks.Open Filename:=MyPath
[/vba]

И скопировать лист там- же:
[vba]
Код

With Workbooks(wb1)
.Sheets.Copy Before:=ThisWorkbook.Sheets(1)
End With
[/vba]

Только этот код копирует все листы, а если скопировать лист Заявка, то :
[vba]
Код
.Sheets("Заявка").Copy Before:=ThisWorkbook.Sheets(1)
[/vba]
А если данные с листа Заявка, то:
[vba]
Код
Application.CutCopyMode = False
      Workbooks(wb).Sheets("Заявка").Cells.Copy ThisWorkbook.Sheets("Заявка").Cells(1, 1)
[/vba]

Автор - SLAVICK
Дата добавления - 29.07.2015 в 09:47
VIDEO56 Дата: Среда, 29.07.2015, 10:12 | Сообщение № 3
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, нужно чтобы выскакивало окно с выбором файла.


Всем удачного дня!
 
Ответить
СообщениеSLAVICK, нужно чтобы выскакивало окно с выбором файла.

Автор - VIDEO56
Дата добавления - 29.07.2015 в 10:12
Pelena Дата: Среда, 29.07.2015, 10:14 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19197
Репутация: 4423 ±
Замечаний: ±

Excel 365 & Mac Excel
VIDEO56, пользуйтесь поиском по сайту.
Вот, например, готовое решение


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеVIDEO56, пользуйтесь поиском по сайту.
Вот, например, готовое решение

Автор - Pelena
Дата добавления - 29.07.2015 в 10:14
VIDEO56 Дата: Среда, 29.07.2015, 10:17 | Сообщение № 5
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Pelena, спасибо. Нашел!


Всем удачного дня!
 
Ответить
СообщениеPelena, спасибо. Нашел!

Автор - VIDEO56
Дата добавления - 29.07.2015 в 10:17
Roman777 Дата: Среда, 29.07.2015, 10:19 | Сообщение № 6
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
VIDEO56,
Я таким образом делал:

[vba]
Код
With Application.FileDialog(msoFileDialogOpen)
      .Title = "Выберите файл-образец"
      .ButtonName = "Открывашка": .AllowMultiSelect = False
      If .Show Then FilePth = .SelectedItems(1) Else Exit Sub
End With
On Error Resume Next
     Set OpeningWB = Workbooks.Open(FilePth)
[/vba]
О, уже успели...)


Много чего не знаю!!!!

Сообщение отредактировал Roman777 - Среда, 29.07.2015, 10:20
 
Ответить
СообщениеVIDEO56,
Я таким образом делал:

[vba]
Код
With Application.FileDialog(msoFileDialogOpen)
      .Title = "Выберите файл-образец"
      .ButtonName = "Открывашка": .AllowMultiSelect = False
      If .Show Then FilePth = .SelectedItems(1) Else Exit Sub
End With
On Error Resume Next
     Set OpeningWB = Workbooks.Open(FilePth)
[/vba]
О, уже успели...)

Автор - Roman777
Дата добавления - 29.07.2015 в 10:19
SLAVICK Дата: Среда, 29.07.2015, 10:21 | Сообщение № 7
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
чтобы выскакивало окно с выбором файла

Так сразу нужно было так и написать :D
А что по поводу листа? ;)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
чтобы выскакивало окно с выбором файла

Так сразу нужно было так и написать :D
А что по поводу листа? ;)

Автор - SLAVICK
Дата добавления - 29.07.2015 в 10:21
VIDEO56 Дата: Среда, 29.07.2015, 10:29 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
Roman777, спасибо!


Всем удачного дня!
 
Ответить
СообщениеRoman777, спасибо!

Автор - VIDEO56
Дата добавления - 29.07.2015 в 10:29
VIDEO56 Дата: Среда, 29.07.2015, 10:32 | Сообщение № 9
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, к коду который скинул Роман нужно дописать копировку листа из выбранного файла в первый!


Всем удачного дня!
 
Ответить
СообщениеSLAVICK, к коду который скинул Роман нужно дописать копировку листа из выбранного файла в первый!

Автор - VIDEO56
Дата добавления - 29.07.2015 в 10:32
SLAVICK Дата: Среда, 29.07.2015, 11:11 | Сообщение № 10
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
дописать копировку листа из выбранного файла в первый

Вы мое первое сообщение читали внимательно? :o
Я же предложил Два варианта - копирование листа, и копирование данных с листа - что Вам нужно?
Скопировать целый лист:
[vba]
Код
OpeningWB.Sheets("Заявка").Copy Before:=ThisWorkbook.Sheets(1)
[/vba]
Скопировать данные с листа "Заявка" в лист "Заявка":
[vba]
Код
Application.CutCopyMode = False
OpeningWB.Sheets("Заявка").Cells.Copy ThisWorkbook.Sheets("Заявка").Cells(1, 1)
[/vba]
B)


Иногда все проще чем кажется с первого взгляда.

Сообщение отредактировал SLAVICK - Среда, 29.07.2015, 11:13
 
Ответить
Сообщение
дописать копировку листа из выбранного файла в первый

Вы мое первое сообщение читали внимательно? :o
Я же предложил Два варианта - копирование листа, и копирование данных с листа - что Вам нужно?
Скопировать целый лист:
[vba]
Код
OpeningWB.Sheets("Заявка").Copy Before:=ThisWorkbook.Sheets(1)
[/vba]
Скопировать данные с листа "Заявка" в лист "Заявка":
[vba]
Код
Application.CutCopyMode = False
OpeningWB.Sheets("Заявка").Cells.Copy ThisWorkbook.Sheets("Заявка").Cells(1, 1)
[/vba]
B)

Автор - SLAVICK
Дата добавления - 29.07.2015 в 11:11
VIDEO56 Дата: Среда, 29.07.2015, 11:16 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 262
Репутация: 23 ±
Замечаний: 0% ±

Excel 2010
SLAVICK, просмотрел. Спасибо!


Всем удачного дня!
 
Ответить
СообщениеSLAVICK, просмотрел. Спасибо!

Автор - VIDEO56
Дата добавления - 29.07.2015 в 11:16
Roman777 Дата: Среда, 29.07.2015, 12:20 | Сообщение № 12
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
SLAVICK, Подскажите, пожалуйста:
В Вашем коде тут:
[vba]
Код
Application.CutCopyMode = False
OpeningWB.Sheets("Заявка").Cells.Copy ThisWorkbook.Sheets("Заявка").Cells(1, 1)
[/vba]
Зачем нужна строчка
[vba]
Код
Application.CutCopyMode = False
[/vba]
без неё результат ведь тот же будет...?


Много чего не знаю!!!!
 
Ответить
СообщениеSLAVICK, Подскажите, пожалуйста:
В Вашем коде тут:
[vba]
Код
Application.CutCopyMode = False
OpeningWB.Sheets("Заявка").Cells.Copy ThisWorkbook.Sheets("Заявка").Cells(1, 1)
[/vba]
Зачем нужна строчка
[vba]
Код
Application.CutCopyMode = False
[/vba]
без неё результат ведь тот же будет...?

Автор - Roman777
Дата добавления - 29.07.2015 в 12:20
SLAVICK Дата: Среда, 29.07.2015, 13:53 | Сообщение № 13
Группа: Модераторы
Ранг: Старожил
Сообщений: 2290
Репутация: 766 ±
Замечаний: 0% ±

2019
Зачем нужна строчка

Это отключение предупреждения буфера обмена.
Читайте тут ;)


Иногда все проще чем кажется с первого взгляда.
 
Ответить
Сообщение
Зачем нужна строчка

Это отключение предупреждения буфера обмена.
Читайте тут ;)

Автор - SLAVICK
Дата добавления - 29.07.2015 в 13:53
_Boroda_ Дата: Среда, 29.07.2015, 13:59 | Сообщение № 14
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Ну, отключение предупреждения - это следствие, а CutCopyMode = false - это отмена режима копирование (вырезания) и удаление движущихся границ вокруг диапазона.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНу, отключение предупреждения - это следствие, а CutCopyMode = false - это отмена режима копирование (вырезания) и удаление движущихся границ вокруг диапазона.

Автор - _Boroda_
Дата добавления - 29.07.2015 в 13:59
Roman777 Дата: Среда, 29.07.2015, 14:28 | Сообщение № 15
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
SLAVICK, _Boroda_, Спасибо большое!
только в тупик ставит меня. Мы вродебы отключаем режим копирования и вырезания, но потом всё-таки копируем:
[vba]
Код
OpeningWB.Sheets("Заявка").Cells.Copy ThisWorkbook.Sheets("Заявка").Cells(1, 1)
[/vba]
оно же всё-равно через буфер обмена происходит?


Много чего не знаю!!!!
 
Ответить
СообщениеSLAVICK, _Boroda_, Спасибо большое!
только в тупик ставит меня. Мы вродебы отключаем режим копирования и вырезания, но потом всё-таки копируем:
[vba]
Код
OpeningWB.Sheets("Заявка").Cells.Copy ThisWorkbook.Sheets("Заявка").Cells(1, 1)
[/vba]
оно же всё-равно через буфер обмена происходит?

Автор - Roman777
Дата добавления - 29.07.2015 в 14:28
_Boroda_ Дата: Среда, 29.07.2015, 14:31 | Сообщение № 16
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16675
Репутация: 6481 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Не, не совсем так. Вернее, дело не в этом
[vba]
Код
CutCopyMode = false
[/vba] убирает режим копирования для УЖЕ скопированного на данный момент диапазона. А потом можно копировать еще, никто не мешает. И будет новый диапазон копирования.
Кстати, при вставке типа
[vba]
Код
Range(Диапазон_1).Copy Range(Диапазон_2)
[/vba] режим копирования не создается (муравьишки вокруг скопированного диапазона не бегают), поэтому и убирать его не обязательно.


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеНе, не совсем так. Вернее, дело не в этом
[vba]
Код
CutCopyMode = false
[/vba] убирает режим копирования для УЖЕ скопированного на данный момент диапазона. А потом можно копировать еще, никто не мешает. И будет новый диапазон копирования.
Кстати, при вставке типа
[vba]
Код
Range(Диапазон_1).Copy Range(Диапазон_2)
[/vba] режим копирования не создается (муравьишки вокруг скопированного диапазона не бегают), поэтому и убирать его не обязательно.

Автор - _Boroda_
Дата добавления - 29.07.2015 в 14:31
Roman777 Дата: Среда, 29.07.2015, 14:47 | Сообщение № 17
Группа: Проверенные
Ранг: Ветеран
Сообщений: 980
Репутация: 127 ±
Замечаний: 0% ±

Excel 2007, Excel 2013
_Boroda_, Спасибо большое за разъяснения.


Много чего не знаю!!!!
 
Ответить
Сообщение_Boroda_, Спасибо большое за разъяснения.

Автор - Roman777
Дата добавления - 29.07.2015 в 14:47
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Открытие файла и копирование листа (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!