powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / из Акса в ексель на несколько страниц
3 сообщений из 3, страница 1 из 1
из Акса в ексель на несколько страниц
    #32800720
Жанна_А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здрвствуйте всем!

Аксесс 97.Есть форма,по нажатию кнопки заполняется отчет,согласно шаблону.Но дело в том,что в шаблоне несколько страниц.С одной страницей все нормально работает,а с несколькими выдает ошибку:
Индекс выходит за пределы допустимого диапазона и ссылается на 5 строчку.
что не так?
я делала так:

1.Set rst = CurrentDb.OpenRecordset(ляляляляя)
2.Set xlApp = New Excel.Application
3.Set xlWkb = xlApp.Workbooks.Open("C:\шаблон.xls")
4.Set xlsheet = xlWkb.Worksheets("1 страница")
5.Set xlsheet1 = xlWkb.Worksheets("2 страница")

rst.MoveFirst
r = 4
While Not rst.EOF
xlsheet.Cells(r, 1) = r - 3
xlsheet.Cells(r, 2) = rst!ispol
xlsheet.Cells(r, 3) = rst!sdelka
xlsheet.Cells(r, 4) = rst!aktiv
xlsheet.Cells(r, 5) = rst!zb
xlsheet.Cells(r, 6) = rst!NSIN
xlsheet.Cells(r, 7) = rst!kol_vo
xlsheet.Cells(r, 8) = rst!zena
xlsheet.Cells(r, 9) = rst!zena + rst!kupon
xlsheet.Cells(r, 10) = (rst!zena + rst!kupon) * rst!kol_vo * rst!kurs
xlsheet.Cells(r, 11) = "-"
xlsheet.Cells(r, 12) = rst!dataem
xlsheet.Cells(r, 13) = rst!datapog
xlsheet.Cells(r, 14) = "-"
xlsheet.Cells(r, 15) = rst!ispol
xlsheet.Cells(r, 16) = "-"

xlsheet1.Cells(r, 1) = r - 3
xlsheet1.Cells(r, 2) = rst!ispol
xlsheet1.Cells(r, 3) = rst!sdelka
xlsheet1.Cells(r, 4) = rst!aktiv
xlsheet1.Cells(r, 5) = rst!zb
xlsheet1.Cells(r, 6) = rst!NSIN
xlsheet1.Cells(r, 7) = rst!kol_vo
xlsheet1.Cells(r, 8) = rst!zena
xlsheet1.Cells(r, 9) = rst!zena + rst!kupon
xlsheet1.Cells(r, 10) = (rst!zena + rst!kupon) * rst!kol_vo * rst!kurs

g = 1
While g <= 16
With xlsheet.Range(xlsheet.Cells(4, 1), xlsheet.Cells(r, g))
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
End With
With xlsheet1.Range(xlsheet1.Cells(4, 1), xlsheet1.Cells(r, g))
.Borders(xlEdgeLeft).LineStyle = xlContinuous
.Borders(xlEdgeLeft).Weight = xlThin
.Borders(xlEdgeTop).LineStyle = xlContinuous
.Borders(xlEdgeTop).Weight = xlThin
.Borders(xlEdgeBottom).LineStyle = xlContinuous
.Borders(xlEdgeBottom).Weight = xlThin
.Borders(xlEdgeRight).LineStyle = xlContinuous
.Borders(xlEdgeRight).Weight = xlThin
End With
g = g + 1
Wend

r = r + 1
rst.MoveNext
Wend

xlWkb.SaveAs FileName:="C:\1235.xls"
Set xlsheet = Nothing
Set xlsheet1 = Nothing

xlWkb.Close
Set xlWkb = Nothing
xlApp.Quit
Set xlApp = Nothing
End Sub
...
Рейтинг: 0 / 0
из Акса в ексель на несколько страниц
    #32800747
Фотография Alexander G
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Такая ошибка возникнет и в случае, если листа с таким именем нет.
точно второй лист называется "2 страница" ? Нет опечаток?
еще можно ссылаться по индексу
Set xlsheet = xlWkb.Worksheets(1)
Set xlsheet1 = xlWkb.Worksheets(2)
...
Рейтинг: 0 / 0
из Акса в ексель на несколько страниц
    #32800766
Жанна_А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо Александр.
Сделала ссылку по индексу-заработало!!!
все тема закрыта
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / из Акса в ексель на несколько страниц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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