powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / вопрос по созданию новой рабочей книги
13 сообщений из 13, страница 1 из 1
вопрос по созданию новой рабочей книги
    #36907409
Nomad87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
доброго времени суток.
подскажите пожалуйста: мне нужно создать из текущей рабочей книги - новую книгу (определенного названия), с одним листом (опять же имя листа сразу задаю), потом из исходной книги скопировать 3 листа в новую и произовдить потом с этими листами определенные действия.

Private Sub Wb2()
Dim naz1, naz2 As String
Dim i As Integer
'Запоминаю название старой книги
naz1 = ActiveWorkbook.Name
Application.SheetsInNewWorkbook = 1
Set wbNew = Application.Workbooks.Add
wbNew.Sheets(1).Name = "Свод"
wbNew.Activate
naz2 = Application.GetSaveAsFilename("Сводные данные по собственникам.xls")
'Открываю книгу
Workbooks.Open naz2, 0 ' тут она говорит что файл не сохранен или был перемещен, как сохранить файл?
'Запомнил название новой книги
naz2 = ActiveWorkbook.Name
'ищу в старой книге нижнюю границу 1 столбика
n1 = Workbooks(naz1).Sheets(1).Range("A1").End(xlDown).Row
'n1 = Workbooks(naz2).Sheets(1).Range("A1").End(xlDown).Row
For i% = 1 To n1
'if workbooks(naz1).Cells(n1, 1) ''условие'' then
Workbooks(naz1).Cells(n1, 1) = Workbooks(naz2).Cells(i, 1)
Next
'False отвечает за сохр. изменений
Workbooks(naz2).Close '(False)
End Sub
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907417
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
Private Sub Wb2()
Dim naz1, naz2 As String
Dim i As Integer
'Запоминаю название старой книги
naz1 = ActiveWorkbook.Name
Application.SheetsInNewWorkbook =  1 
Set wbNew = Application.Workbooks.Add
wbNew.Sheets( 1 ).Name = "Свод"
wbNew.Activate
naz2 = Application.GetSaveAsFilename("Сводные данные по собственникам.xls")
'Открываю книгу
Workbooks.Open naz2,  0        ' тут она говорит что файл не сохранен или был перемещен, как сохранить файл?
'Запомнил название новой книги
naz2 = ActiveWorkbook.Name
'ищу в старой книге нижнюю границу 1 столбика
n1 = Workbooks(naz1).Sheets( 1 ).Range("A1").End(xlDown).Row
'n1 = Workbooks(naz2).Sheets(1).Range("A1").End(xlDown).Row
For i% =  1  To n1
    'if workbooks(naz1).Cells(n1, 1) ''условие'' then
        Workbooks(naz1).Cells(n1,  1 ) = Workbooks(naz2).Cells(i,  1 )
Next
'False отвечает за сохр. изменений
Workbooks(naz2).Close '(False)
End Sub
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907418
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Workbooks.Open naz2

вы пытаетесь открыть файл, которого нет
что вас удивляет?
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907433
Nomad87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
значит после создания книги его нужно сохранить? (как?)

тогда вопрос - сразу после создания новой книги я могу в ней работать?
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907443
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nomad87значит после создания книги его нужно сохранить? (как?)
не поверите. Метод книги SaveAs
Nomad87тогда вопрос - сразу после создания новой книги я могу в ней работать?
разумеется
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907469
Nomad87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
почему то не хочет этот стандартный метод сохранять ...

Workbooks(wbNew).SaveAs (naz2)

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

For i = 1 To n1
if workbooks(naz1).Cells(n1, 1) ''условие'' then
Workbooks(naz1).Cells(n1, 1) = Workbooks(naz2).Cells(i, 1)
Next

что я делаю не правильно?
я хочу создать книгу, создать в ней лист, потом сохранить книгу и именем "Свод", закрыть книгу.
потом открыть ее опять и обращаться к ней. Все.
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907487
Фотография A_Cross
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nomad87,

а путь указывать обязательно?
Код: plaintext
1.
2.
ActiveWorkbook.SaveAs Filename:= _
        "С:\...\\TEMP\name.xls", FileFormat:=xlS, _
        CreateBackup:=False
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907492
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nomad87что я делаю не правильно?

Вы просто не очень понимаете смысл объектного программирования.
wbNew - это и есть ваша книга

wbNew.SaveAs naz2 - это сохранение

wbNew.Cells(n1, 1) - это обращение к ячейке, при этом нет необходимости сохранять книгу, в общем-то
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907505
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nomad87Workbooks(naz1).Cells(n1, 1) = Workbooks(naz2).Cells(i, 1)
Shocker.ProwbNew.Cells(n1, 1) - это обращение к ячейке
точнее, вы совсем неправильно написали и я за вами потянулся
у книги нет ячеек, ячейки есть у листа
так что правильно вот так:
Код: plaintext
wbNew.WorkSheets( 1 ).Cells(n1,  1 )
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907512
Nomad87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
значит я могу ее создать, сделать активной

Application.SheetsInNewWorkbook = 1
Set wbNew = Application.Workbooks.Add
wbNew.Sheets(1).Name = "Свод"
wbNew.Activate

и сразу с ней работать?

For i = 1 To n1
if wbNew.Cells(n1, 1) ''условие'' then
Workbooks(naz1).Cells(n1, 1) = wbNew.Cells(i, 1)
Next

я правильно понимаю?
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907527
Nomad87
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
про лист и ячейки я понял, спасибо, а касаемо остального?
...
Рейтинг: 0 / 0
вопрос по созданию новой рабочей книги
    #36907530
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nomad87значит я могу ее создать, сделать активной

Application.SheetsInNewWorkbook = 1
Set wbNew = Application.Workbooks.Add
wbNew. Sheets (1).Name = "Свод"
wbNew.Activate

и сразу с ней работать?

For i = 1 To n1
if wbNew.Cells(n1, 1) ''условие'' then
Workbooks(naz1).Cells(n1, 1) = wbNew.Cells(i, 1)
Next

я правильно понимаю?

не Sheets, а WorkSheets

а вообще, сделайте так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Application.SheetsInNewWorkbook =  1 
Set wbNew = Application.Workbooks.Add
Set wsNew = wbNew.WorkSheets( 1 )
wsNew.Name = "Свод"
wbNew.Activate

For i =  1  To n1
if wsNew.Cells(n1,  1 ) ''условие'' then
wsNew.Cells(n1,  1 ) = wsNew.Cells(i,  1 )
Next

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


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