powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вставка данных в Exel
2 сообщений из 2, страница 1 из 1
Вставка данных в Exel
    #35016061
masterNike
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из некоторой программной среды посредствам Select запроса, данные(строки) передаются в Exel - поле Rawdata.
После этого заполняется бланк формы в Exel и все значения из RawData, передаются в Layout (Код на VB).
Затем, после заполнения строковых данных в Layout (предположим их 20 записей), происходит вставка таблички из закладки Footer.


For i = 1 To RowsCount
Sheets("Layout").Range("A" + CStr(i + 37)).Value = Sheets("RawData").Range("A" + CStr(i))
Sheets("Layout").Range("B" + CStr(i + 37)).Value = Sheets("RawData").Range("G" + CStr(i))
Sheets("Layout").Range("C" + CStr(i + 37)).Value = Sheets("RawData").Range("C" + CStr(i))
Sheets("Layout").Range("F" + CStr(i + 37)).Value = Sheets("RawData").Range("D" + CStr(i))
Sheets("Layout").Range("G" + CStr(i + 37)).Value = Sheets("RawData").Range("E" + CStr(i))
Sheets("Layout").Range("H" + CStr(i + 37)).Value = Sheets("RawData").Range("F" + CStr(i))
Sheets("Layout").Range("E" + CStr(i + 37)).Value = Sheets("RawData").Range("O" + CStr(i))
Next
Application.GoTo Reference:="Footer"
Selection.Copy
Sheets("Layout").Select
Range("A" + CStr(RowsCount + 38)).Select
ActiveSheet.Paste

Проблема:
Предположим записей будет вставлятся не 20, а 150, то соответственно, Footer тоже будет втавляться вконце всех записей.

Нужно:
Footer вставлять не вконце всех записей, а вконце каждой Exel страницы.
Т.е. например втавить на странице 20 записей с 37 строки и потом вставлять Footer, затем переход на новую страницу, вставка следующих 20 записей и Footer и т.д.
Как в соответствии с этим поменять код в VB.
Заранее спасибо за ответ.


P.S.
Footer это таблица, где выполняется дальнейшая обработка всех вставляемых строк. И нужно выводить RowsCount между 1 и 20 и после этого всталять после каждой 20 записи на каждой странице Footer. Только как условие правильно написать, чтобы выводить до 20 записей???
Application.GoTo Reference:="Footer"
Selection.Copy
Sheets("Layout").Select
Range("A" + CStr(RowsCount + 38)).Select
ActiveSheet.Paste
Нужно типа if RowsCount 1 Between 20, то переносить остальные строки на след страницу.
...
Рейтинг: 0 / 0
Вставка данных в Exel
    #35016112
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Перевод страниц в Экселе хранится в коллекции HPageBrakes
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Вставка данных в Exel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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