powered by simpleCommunicator - 2.0.58     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / access vba помогите разобраться с кодом
18 сообщений из 18, страница 1 из 1
access vba помогите разобраться с кодом
    #38430881
irina_irina_irina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть код:

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
YrVag = oRecord![TretijYroven]

FNShablon = CurrentProject.Path + "\ShablonItog.xlsx"
FNShablon2 = CurrentProject.Path + "\Себестоимость.xlsx"
Set objExBook = objExApp.Workbooks.Open(FNShablon)
Set objExBook2 = objExApp.Workbooks.Open(FNShablon2)
Call VipuskItog(YrVag, FNShablon, xlSheet, objExBook, oRecord)
objExApp.Visible = True

objExBook.Worksheets("Себестоимость").Range("Январь").Copy
oNazv = objExBook2.Worksheets("янв").Range("H6").Select
For Each oNazv In objExBook2.Worksheets("янв").Range("C6:FG6")
If oNazv.Value = YrVag Then
oNazv.Select
oDiapazone = oNazv.Offset(3, 0).Select
oDiapazone.Paste 'Здесь выдает ошибку
End If
oNazv = oNazv.Offset(0, 5).Select
Next oNazv



Код работает нормально до строки
Код: vbnet
1.
oDiapazone.Paste

Диапазон копирует, нужную ячейку находит, а вставлять не хочет. 2 дня уже мучаюсь. Помогите разобраться в чем ошибка.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430900
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irina_irina_irina
Код: vbnet
1.
'Здесь выдает ошибку

irina_irina_irinaПомогите разобраться в чем ошибка.помогите в свою очередь нам, приведите тект ошибки, а то наша гадалка сломалась третий день как.

Но лучше выложите тестовый файл, так будет гораздо быстрее.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430912
irina_irina_irina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пишет '424' object required
пробовала различные варианты, описанные на форумах, например: ActiveSheet.Paste
все время выдает одну и ту же ошибку.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430915
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irina_irina_irina
Код: sql
1.
oDiapazone = oNazv.Offset(3, 0).Select


oDiapazone - это Range? тогда где Set?
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430920
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Set oDiapazone = oNazv.Offset(3, 0).Select


И уберите из кода лишние .Select, а также использование .Copy .Paste
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430934
irina_irina_irina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да
Код: vbnet
1.
oDiapazone = oNazv.Offset(3, 0).Select

это Range. Но если добавляю Set, то пишет ошибку '13' Type mismatch. Я предполагаю, что переменную oDiapazone нужно объявить. Только вот Dim oDiapazone As ? Что писать вместо знака вопроса.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430940
irina_irina_irina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AndreTM, а как тогда вы предлагаете мне копировать и вставить, если я уберу из кода Copy и Paste?
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430942
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irina_irina_irinaкак тогда вы предлагаете мне копировать и вставить, если я уберу из кода Copy и Paste?
Я бы предложил проделать всё это руками, записать макрорекордером, и посмотреть, как это в коде правильно.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430949
irina_irina_irina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Akinairina_irina_irinaкак тогда вы предлагаете мне копировать и вставить, если я уберу из кода Copy и Paste?
Я бы предложил проделать всё это руками, записать макрорекордером, и посмотреть, как это в коде правильно.
Нужно не руками, а именно автоматически из Access.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430960
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irina_irina_irina,

Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
YrVag = oRecord![TretijYroven]

FNShablon = CurrentProject.Path + "\ShablonItog.xlsx"
FNShablon2 = CurrentProject.Path + "\Себестоимость.xlsx"
Set objExBook = objExApp.Workbooks.Open(FNShablon)
Set objExBook2 = objExApp.Workbooks.Open(FNShablon2)
Call VipuskItog(YrVag, FNShablon, xlSheet, objExBook, oRecord)
objExApp.Visible = True

dim oRngCopy as Range
set oRngCopy = objExBook.Worksheets("Себестоимость").Range("Январь")
oRngCopy.Copy 'на всякий случай можно перенести в цикл копирование(вставил в цикл и закомментировал)
'Set oNazv = objExBook2.Worksheets("янв").Range("H6") - нафиг эта строка, если далее в цикле используете эту же переменную oNazv?
For Each oNazv In objExBook2.Worksheets("янв").Range("C6:FG6").Cells
    If oNazv.Value = YrVag Then
        'oRngCopy.Copy
        oNazv.Offset(3, 0).Paste
    End If
Next oNazv



Не тестировал, писал сразу в форум. Но в общем и целом должно быть так.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430963
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
The_Prist,

Поправляю сам себя(т.к. что-то фигню написал):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
YrVag = oRecord![TretijYroven]

FNShablon = CurrentProject.Path + "\ShablonItog.xlsx"
FNShablon2 = CurrentProject.Path + "\Себестоимость.xlsx"
Set objExBook = objExApp.Workbooks.Open(FNShablon)
Set objExBook2 = objExApp.Workbooks.Open(FNShablon2)
Call VipuskItog(YrVag, FNShablon, xlSheet, objExBook, oRecord)
objExApp.Visible = True'ЗАЧЕМ?

dim oRngCopy as Range
set oRngCopy = objExBook.Worksheets("Себестоимость").Range("Январь")
For Each oNazv In objExBook2.Worksheets("янв").Range("C6:FG6").Cells
    If oNazv.Value = YrVag Then
        oRngCopy.Copy oNazv.Offset(3, 0)
    End If
Next oNazv
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430973
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irina_irina_irinaНужно не руками, а именно автоматически из Access.Нужно не кодить по наитию, а посмотреть, как надо. А макрорекордер записывает (если что записывает) без ошибок.
А ещё надо строго относиться к типам.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430975
irina_irina_irina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
The_PristThe_Prist,

Поправляю сам себя(т.к. что-то фигню написал):
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
YrVag = oRecord![TretijYroven]

FNShablon = CurrentProject.Path + "\ShablonItog.xlsx"
FNShablon2 = CurrentProject.Path + "\Себестоимость.xlsx"
Set objExBook = objExApp.Workbooks.Open(FNShablon)
Set objExBook2 = objExApp.Workbooks.Open(FNShablon2)
Call VipuskItog(YrVag, FNShablon, xlSheet, objExBook, oRecord)
objExApp.Visible = True'ЗАЧЕМ?

dim oRngCopy as Range
set oRngCopy = objExBook.Worksheets("Себестоимость").Range("Январь")
For Each oNazv In objExBook2.Worksheets("янв").Range("C6:FG6").Cells
    If oNazv.Value = YrVag Then
        oRngCopy.Copy oNazv.Offset(3, 0)
    End If
Next oNazv



В строке
Код: vbnet
1.
Dim oRngCopy As Range

пишет ошибку User-defined type not defined
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430984
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
Dim oRngCopy As Object
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38430992
Фотография AndreTM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AkinaА макрорекордер записывает (если что записывает) без ошибок.Но и пишет он при этом все действия AS IS. А затем юзеру необходимо делать это .
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38431007
гр. к
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть еще вариант подключить библиотеку Microsoft Excel 1X.0 Object Library в референсах проекта Акцесса.
Иногда помогает при автоматизации.
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38431033
irina_irina_irina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо! Все работает!
...
Рейтинг: 0 / 0
access vba помогите разобраться с кодом
    #38431331
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
irina_irina_irinaВ строке
Код: vbnet
1.
Dim oRngCopy As Range

пишет ошибку User-defined type not definedУгу... откуда Аксесу знать, что такое Range...
...
Рейтинг: 0 / 0
18 сообщений из 18, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / access vba помогите разобраться с кодом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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