Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Копирование диапазона из одной книги excel в другую.

67K
11 апреля 2011 года
Pic@sso
10 / / 05.04.2011
имеется рабочая книга с названием 1.xls. в этой книге имеется лист с названием "data". Необходимо скопировать диапазон A1:CI4 и вставить его в новую(отдельную) книгу (с одним листом).Название книги которое состоит из значений Тест G3 пройден H3 .
275
11 апреля 2011 года
pashulka
985 / / 19.09.2004
Если Ваш новый вопрос имеет непосредственное отношение к прошлому, то :

 
Код:
Private Sub Test_Copy()
    Dim iSource As Worksheet, iNewBook As Workbook
    Set iSource = ThisWorkbook.Worksheets("Data")
    Set iNewBook = Workbooks.Add(xlWBATWorksheet)
   
    iBookName$ = "Тест " & iSource.Range("G3") & " пройден " & iSource.Range("H3") & ".xls"
    iSource.Range("A1:CI4").Copy Destination:=iNewBook.Worksheets(1).Range("A1")
    iNewBook.SaveAs Filename:="C:\Мои_документы\" & iBookName$
End Sub



Если форматирование ячеек не имеет значения, а важны лишь значения, то :

 
Код:
Private Sub Test()
    Dim iNewBook As Workbook
    Set iNewBook = Workbooks.Add(xlWBATWorksheet)
    With ThisWorkbook.Worksheets("Data")
         iNewBook.Worksheets(1).[A1:CI4] = .[A1:CI4].Value
         iNewBook.SaveAs Filename:="C:\Мои_документы\" & "Тест " & .[G3] & " пройден " & .[H3] & ".xls"
    End With
End Sub


 
Код:
Private Sub Test2()
    Dim iSource As Worksheet
    Set iSource = ThisWorkbook.Worksheets("Data")
    With Workbooks.Add(xlWBATWorksheet)
         .Worksheets(1).[A1:CI4] = iSource.[A1:CI4].Value
         .SaveAs Filename:="C:\Мои_документы\" & "Тест " & iSource.[G3] & " пройден " & iSource.[H3] & ".xls"
    End With
End Sub
67K
11 апреля 2011 года
Pic@sso
10 / / 05.04.2011
Дело немного интереснее !
суть такова что первые 2 строки эта шапка таблицы (A1:CI2)
а соответственно третья строка это значения которые надо копировать как значения (A3:CI3)
275
11 апреля 2011 года
pashulka
985 / / 19.09.2004
У Вас, что в диапазоне A3:CI3 находятся формулы ?
67K
11 апреля 2011 года
Pic@sso
10 / / 05.04.2011
да( формулы и ссылки), но их надо как значения вставить, а диапазон A1:CI2 это просто форма ( шапка) таблицы
275
11 апреля 2011 года
pashulka
985 / / 19.09.2004
Простого да, вполне хватило бы

Код:
Private Sub Test_Copy2()
    Dim iSource As Worksheet, iNewBook As Workbook
    Set iSource = ThisWorkbook.Worksheets("Data")
    iBookName$ = "Тест " & iSource.Range("G3") & " пройден " & iSource.Range("H3") & ".xls"
    iSource.Range("A1:CI4").Copy
   
    Set iNewBook = Workbooks.Add(xlWBATWorksheet)
    iNewBook.Worksheets(1).Range("A1").PasteSpecial xlValues
    iNewBook.Worksheets(1).Range("A1").PasteSpecial xlFormats
    iNewBook.SaveAs Filename:="C:\Мои_документы\" & iBookName$
End Sub


Код:
Private Sub Test_Copy3()
    Dim iSource As Worksheet
    Set iSource = ThisWorkbook.Worksheets("Data")
    iSource.Range("A1:CI4").Copy
   
    With Workbooks.Add(xlWBATWorksheet)
         .Worksheets(1).Range("A1").PasteSpecial xlValues
         .Worksheets(1).Range("A1").PasteSpecial xlFormats
         .SaveAs Filename:="C:\Мои_документы\Тест " & _
         iSource.Range("G3") & " пройден " & iSource.Range("H3") & ".xls"
    End With
End Sub
67K
11 апреля 2011 года
Pic@sso
10 / / 05.04.2011
огромное спасибо !
275
11 апреля 2011 года
pashulka
985 / / 19.09.2004
P.S. В конце макроса имеет смысл использовать ещё и Application.CutCopyMode = False
67K
12 апреля 2011 года
Pic@sso
10 / / 05.04.2011
Хорошо. Учту. А как теперь в эту новую книгу автоматически добавить кнопку с макросом( тело макроса может храниться в создаваемой книге, или где либо ещё ) .
275
12 апреля 2011 года
pashulka
985 / / 19.09.2004
1) Кнопки бывают разные, вот пример создания родной кнопки с панели инструментов "Формы"

 
Код:
With .Worksheets(1).Buttons.Add(Left:=75, Top:=25, Width:=75, Height:=25)
     .Text = "Моя кнопка"
     .OnAction = "MyMacros1"
End With



2) Работа с модулем в VBE, создание/импорт/экспорт
67K
12 апреля 2011 года
Pic@sso
10 / / 05.04.2011
зарегистрировался на указанном форуме но чтото у меня нежелает открывать эту страничку ! :(

возможно ли копрование выделенного диапазона не shets-ая по книгам и листам ? как упростить код ?
275
12 апреля 2011 года
pashulka
985 / / 19.09.2004
У меня ссылка, естественно, открывается, причём без всякой регистрации. В любом случае Вы можете самостоятельно поискать эту тему в F.A.Q. указанного форума.

Что касается копирования, то в моём примере нет выделения, и упрощать там особого нечего.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог