Трабла с отчетом!Excel и листы.

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Lexxx
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 13.04.2005 (Ср) 9:59

Трабла с отчетом!Excel и листы.

Сообщение Lexxx » 13.04.2005 (Ср) 15:09

Добрый день!Есть такая проблемка.
В документе Excel на листе 1 есть данные (строки с данными) N
На втором листе печатная форма ,где ручками надо забить в
определенных ячейках дату и фамилию.
Автоматически создается кол-во листов равное кол-ву строк Листа1
начиная с Листа3 до N
Задача:
1 созданные листы перенести печатную форму с Листа2 с забитыми датой и фамилией.
2 в эти листы в определенные ячейки нужно закатать данные с Листа1
1 строка передает данные в ячейки Листа 3 и т.д.Как сделать красиво,
через циклы,а не ковыряться с формулами и ссылками на листы?
Поможите,а то шеф у меня злой.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 14.04.2005 (Чт) 6:46

Код: Выделить всё

'в цикле заносишь данные с первого листа на новые листы (3-N)
'смотри код который я указывал тебе в другом топике
'добавишь типа worksheets(i).cells(x,y)=worksheets(1).cells(5,1) - какие ячейки переносить  и т.д.

for i=3 to n
   'заносишь данные в печатную форму (лист2) с добавленного листа (3-N)
   worksheets(2).cells(x1,y1)=worksheets(i).cells(x,y)
   ' и т.д. скока ячеек надо заносить (можешь цикл добавить если много данных переносить)
   'печатаешь 2 лист c предварительным просмотром
   worksheets(2).printout , , , True
next i

Lexxx
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 13.04.2005 (Ср) 9:59

Сообщение Lexxx » 14.04.2005 (Чт) 10:11

Наверное все можно сделать проще.
:idea: Не надо плодить листов лишних :lol: .На первом листе данные,на
втором сам бланк распоряжения,надо просто считать ячейки первой
строки Листа1 ,заполнить их в определенные ячейки Листа2,вывести на печать,затем их очистить и опять по новой.
Напечатайте код пожалуйста.А то идеи есть,а навыков нет.

Алексей К.
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 419
Зарегистрирован: 12.05.2004 (Ср) 9:41
Откуда: Ульяновск

Сообщение Алексей К. » 14.04.2005 (Чт) 10:18

Код: Выделить всё

for i=номер_строки_начало to номер_последней_строки 'первого листа
   'заносишь данные в печатную форму (лист2)
   'слева в какие ячеки заносить (x1,y1), справа какие с первого листа (x,y)
   worksheets(2).cells(x1,y1)=worksheets(1).cells(x,y)
   ' и т.д. скока ячеек надо заносить (можешь цикл добавить если много данных переносить)
   'печатаешь 2 лист c предварительным просмотром
   worksheets(2).printout , , , True
next i

Данные заменяются, следвательно и очищать не надо.

Lexxx
Начинающий
Начинающий
 
Сообщения: 6
Зарегистрирован: 13.04.2005 (Ср) 9:59

Сообщение Lexxx » 14.04.2005 (Чт) 16:12

Sub www()
For i = 1 To ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
Next i
'MsgBox (i - 1)
For x = 1 To ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
For y = 1 To ActiveSheet.Cells.SpecialCells(xlCellTypeLastCell).Row
Worksheets(2).Cells(A1, B3,C6) = Worksheets(1).Cells(Ax, By)
Next y
Next x
Worksheets(2).PrintOut , , , True

End Sub
Не получается помогайте :roll:


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот, Yandex-бот и гости: 151

    TopList