powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / из Access в Excel
31 сообщений из 31, показаны все 2 страниц
из Access в Excel
    #32583931
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Знаю точно, что кто-нибудь да писал такой код.
Необходимо таблу из Акса поместить в Ексел, подкиньте кода, очень нужно.
...
Рейтинг: 0 / 0
из Access в Excel
    #32583935
Фотография paparome
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
из Access в Excel
    #32583959
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
/topic/102838&pg=2

только что делал!

ты видно не Прога а Сплюха
...
Рейтинг: 0 / 0
из Access в Excel
    #32584952
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to shuhard:
Посмотрел базу прикольно, только вопрос такой, а можно ли сделать, чтобы суммарные значения (поля жирным текстом) считались не в Аксе, а в Ексе (например: поле имеет значение СУмм(E1:e100)) и самое интересное, как это сделать.
С нетерпением жду ответа.
P.S. Начальник- урод, видите ли ему не нравится расчёт суммы в Аксе с передачей готовой таблицы в Ексел.
...
Рейтинг: 0 / 0
из Access в Excel
    #32584998
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Progato shuhard:
Посмотрел базу прикольно, только вопрос такой, а можно ли сделать, чтобы суммарные значения (поля жирным текстом) считались не в Аксе, а в Ексе (например: поле имеет значение СУмм(E1:e100)) и самое интересное, как это сделать.
С нетерпением жду ответа.
P.S. Начальник- урод, видите ли ему не нравится расчёт суммы в Аксе с передачей готовой таблицы в Ексел.

а макрос в Excel писать ты конечно не умеешь ?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Sub Макрос3()
 '
 
 ' Макрос3 Макрос
 
 ' Макрос записан 01.07.2004 (Inna)
 
 '
 
 '
 
    Range("F7").Select
    ActiveCell.Formula = "=$C$4+$C$10"
End Sub
...
Рейтинг: 0 / 0
из Access в Excel
    #32585005
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в догон сумма по диапазону будет соответственно
Код: plaintext
1.
2.
3.
Range("F7").Select
    ActiveCell.Formula = "=SUM($C$4:$C$10)"

...
Рейтинг: 0 / 0
из Access в Excel
    #32585171
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я в Excel-е чайник, можно по конкретнее
куда нада добавить
Код: plaintext
1.
2.
Range("F7").Select
    ActiveCell.Formula = "=SUM($C$4:$C$10)"
в
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
Private Sub B_Format_Click()
Dim myOlApp As Object
Dim MyWo As excel.Workbook
Dim mysheet As excel.Worksheet
Dim MyCel As Variant
Dim MyRst As ADODB.Recordset
Dim ct As Long
DoCmd.OutputTo acOutputQuery, "ZFin", acFormatXLS, "c:\inna.xls", False
Set myOlApp = CreateObject("excel.Application")
Set MyWo = myOlApp.Workbooks.Open("c:\inna.xls")
Set mysheet = MyWo.Worksheets("ZFin")
 '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Rows("1:1").Select
With Selection
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation =  90 
        .AddIndent = False
        .IndentLevel =  0 
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Rows.AutoFit
 '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Set MyRst = New ADODB.Recordset
MyRst.Open "select * from UZ7", CurrentProject.Connection, adOpenStatic, adLockReadOnly
ct =  2 
Do Until MyRst.EOF
   If MyRst![Rang_Id] <=  0  Then
     Cells(ct,  1 ).Select
    Selection.Font.Bold = True
    Selection.Font.Italic = True
   End If
ct = ct +  1 
MyRst.MoveNext
Loop
MyRst.Close
Set MyRst = Nothing
 '++++++++++++++++++++++++
 
MyWo.Save
Set mysheet = Nothing
MyWo.Close
Set MyWo = Nothing
Application.Quit
End Sub
...
Рейтинг: 0 / 0
из Access в Excel
    #32585191
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Я в Excel-е чайник, можно по конкретнее
куда нада добавить
Range("F7").Select
ActiveCell.Formula = "=SUM($C$4:$C$10)"

на каждую суммы надо добавить по 1(одной) строчке вышепреведённого типа

вставить надо в любое место текста
после
Set mysheet = MyWo.Worksheets("ZFin")

Range("F1").Select
ActiveCell.Formula = "=SUM($A$1:$C$1)"
Range("F2").Select
ActiveCell.Formula = "=SUM($A$2:$C$2)"
...
.
.
.
и до
MyWo.Save

соответственно я НЕ МОГУ предугадать :
- в каких ячейках нужна сумма;
- какие ячейки она(сумма) в себя включает
...
Рейтинг: 0 / 0
из Access в Excel
    #32585207
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Огромное спасибо, буду пробовать!!!
...
Рейтинг: 0 / 0
из Access в Excel
    #32585253
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Советую не наворачивать лишнего кода.
Range("F1").Select
ActiveCell.Formula = "=SUM($A$1:$C$1)"
достаточно просто
Код: plaintext
Range("F1").Formula = "=SUM($A$1:$C$1)"
При этом если не известно количество строк в итоговой таблице, желательно их вычислить.
Если заголовки в первой строке, то:
Код: plaintext
1.
2.
Dim nRows As Long
nRows = Range("A1").CurrentRegion.Rows.Count
Range("F1").Formula = "=SUM($A$2:$A$" & nRows & ")"
В ячейку F1 будет вставлена функция суммирующая значения в диапазоне от ячейки A2 до А[номер последней строки].
...
Рейтинг: 0 / 0
из Access в Excel
    #32585284
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
То бишь выбирать ячейку (Select), чтобы присвоить ей значение (формулу), совершенно не обязательно.
...
Рейтинг: 0 / 0
из Access в Excel
    #32585289
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо Витал за CurrentRegion.Rows.Count - изящное решение проблемы !
...
Рейтинг: 0 / 0
из Access в Excel
    #32585327
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, а вы гении!!!
...
Рейтинг: 0 / 0
из Access в Excel
    #32585346
Фотография Shuhard
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaРебята, а вы гении!!!
а ты сомневался ?
у нас и значок есть!
...
Рейтинг: 0 / 0
из Access в Excel
    #32585350
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И орден за мужество в Выслушивании мне подобных
...
Рейтинг: 0 / 0
из Access в Excel
    #32585517
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ProgaИ орден за мужество в Выслушивании мне подобных

Через месяц другой, если не забудешь про форум и не будешь бояться отвечать - можешь и сам вертеть дырку под орденок.

Кстати, напоминаю, что на этом форуме учреждены ордена "Знатный телепят", "Занятный телепят" и высший орден - "Лох Позорный" (1,2,3 степени) с гигабайтом в петлице. И еще какие то медальки... Председатель комиссии - Владимир Саныч, но он взятки берет только фруктовым сиропом.
...
Рейтинг: 0 / 0
из Access в Excel
    #32586982
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Shuhard:
Нашёл глюк не знаю как справиться!!!
Если В конце не писать
Код: plaintext
1.
application.exit
,
т.е. не закрывать Access, то при вторичном нажатии на кнопку экспорта выдаёт ошибку.
...
Рейтинг: 0 / 0
из Access в Excel
    #32586986
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ВиталКстати, напоминаю, что на этом форуме учреждены ордена "Знатный телепят", "Занятный телепят" и высший орден - "Лох Позорный" (1,2,3 степени) с гигабайтом в петлице. И еще какие то медальки... Председатель комиссии - Владимир Саныч, но он взятки берет только фруктовым сиропом.
...
Рейтинг: 0 / 0
из Access в Excel
    #32586996
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shuhard, АУ, ты очень нужен!!
...
Рейтинг: 0 / 0
из Access в Excel
    #32587017
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
нет не вы гении, я-гений, исправил глюк:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
Private Sub B_Format_Click()
Dim myOlApp As excel.Application
Dim MyWo As excel.Workbook
Dim mysheet As excel.Worksheet
Dim MyCel As Variant
Dim MyRst As ADODB.Recordset
Dim ct As Long
DoCmd.OutputTo acOutputQuery, "ZFin", acFormatXLS, "c:\inna.xls", False
Set myOlApp = New excel.Application
Set MyWo = myOlApp.Workbooks.Open("c:\inna.xls")
Set mysheet = MyWo.Worksheets("ZFin")
 '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Rows("1:1").Select
With Selection
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation =  90 
        .AddIndent = False
        .IndentLevel =  0 
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    Selection.Rows.AutoFit
 '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
Set MyRst = New ADODB.Recordset
MyRst.Open "select * from UZ7", CurrentProject.Connection, adOpenStatic, adLockReadOnly
ct =  2 
Do Until MyRst.EOF
   If MyRst![Rang_Id] <=  0  Then
     Cells(ct,  1 ).Select
    Selection.Font.Bold = True
    Selection.Font.Italic = True
   End If
ct = ct +  1 
MyRst.MoveNext
Loop
MyRst.Close
Set MyRst = Nothing
 'CurrentRegion.Row.Count
 
 '++++++++++++++++++++++++
 
MyWo.Save
Set mysheet = Nothing
MyWo.Close
Set MyWo = Nothing
myOlApp.Quit
Set myOlApp = Nothing
End Sub
Пример использования раннего и позднего связывания
...
Рейтинг: 0 / 0
из Access в Excel
    #32587062
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Опа, опять глючит зачит я тоже не гений.
Shuhard, ты где?
...
Рейтинг: 0 / 0
из Access в Excel
    #32587068
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Делать подобные открытия на дню по 10-ку - обычная работа программера. Не скажу, что при этом не испытываю радость открытия... :о))

"О, сколько нам открытий чудных
Готовит просвещенья дух,
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, Бог-изобретатель..."
...
Рейтинг: 0 / 0
из Access в Excel
    #32587072
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Витал, помог бы, ошибка глупая, но непонятная
...
Рейтинг: 0 / 0
из Access в Excel
    #32587078
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Между прочим глючит именно
Код: plaintext
1.
nRows = Range("A1").CurrentRegion.Rows.Count
...
Рейтинг: 0 / 0
из Access в Excel
    #32587084
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
ProgaОпа, опять глючит зачит я тоже не гений.
Больной, рассказывайте, как глючит.
...
Рейтинг: 0 / 0
из Access в Excel
    #32587110
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вообще-то во всей этой истории мне не понятна роль DoCmd. Если все равно используешь рекордсет в цикле - им же и добавляй данные в ексель

Код: plaintext
Cells(ct,  1 ).Value = MyRst![Rang_Id]
здесь же проверяй и здесь же и форматируй.

Насчет раннего и позднего связывания тут была уже дискуссия - я сторонник позднего.
...
Рейтинг: 0 / 0
из Access в Excel
    #32587122
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В чем глюк то? Что сообщает?
Вообще-то желательно не просто ссылаться Range("A1"), а указывая приложение или книгу

mysheet.Range("A1")
...
Рейтинг: 0 / 0
из Access в Excel
    #32587149
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 Витал: посмотри выше, я там описал в чём глюк.
...
Рейтинг: 0 / 0
из Access в Excel
    #32587208
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй закомментироваить строку с DoCmd...
А где у тебя nRows = Range("A1").Currentregion.rows.count? Не вижу.
...
Рейтинг: 0 / 0
из Access в Excel
    #32587232
Proga
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всё решение было найдено, надо было конретизировать рабочие области и листы.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
nRows = mysheet.Range("A1").CurrentRegion.Rows.Count
ncolum = mysheet.Columns.Count
mysheet.Range("k1").Formula = "=SUM($b$2:$b$" & nRows & ")"
mysheet.Range("k2").Formula = "=SUM($b$2:$j$" & ncolum & ")"
 '+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 
mysheet.Rows("1:1").Select
With myOlApp.Selection
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation =  0 
        .AddIndent = False
        .IndentLevel =  0 
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    myOlApp.Selection.Rows.AutoFit
...
Рейтинг: 0 / 0
из Access в Excel
    #32587275
Витал
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторmysheet.Range("k2").Formula = "=SUM($b$2:$j$" & ncolum & ")"

Вот это - напрочь не понял. Подсчитав количество колонок - подставляешь это количество как номер последней строки диапазона...

Если неизвестно количество колонок, а надо итоги по строкам, то используй стиль ссылок R1C1
...
Рейтинг: 0 / 0
31 сообщений из 31, показаны все 2 страниц
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / из Access в Excel
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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