|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - [решено] Excel vba не стартует код поиска между книгами |
|
Разное - [решено] Excel vba не стартует код поиска между книгами
|
Новый участник Сообщения: 7 |
Есть две книги..
в файле "Приказ" две подсвеченые ячейки с них забираются данные. в файле "БАЗА" в столбе С проводится поиск номера и если он есть проводится смещение в право от активной ячейки на 17 ячеек и вставляються данные. мой макрос не работает,,,, Дайте пожалуйста подсказку почему ? макрос; Sub KOD() Dim myPhrase As Range, myCell As Range, vstavkaKod As Range, poiskcell As Range, Obmen As Range myPhrase = Worksheets("Приказ").Range("B18") vstavkaKod = Worksheets("Приказ").Range("K10") ActiveWorkbooks.Open Filename:="D:\робота\1\робота\БАЗА_ВП.xlsx" Worksheets("13_11").Activate Set poiskcell = Workbooks("БАЗА_ВП").Worksheets("13_11").Range("C1:C") Set myCell = poiskcell.Find(myPhrase) If Not myCell Is Nothing Then MsgBox "Адрес найденной ячейки: " & myCell.Address Obmen = Range(ActiveCell.Address).Offset(, 17) Obmen.Value = vstavkaKod.Value Workbooks("БАЗА_ВП.xlsx").Save Else MsgBox "Не найдено" Workbooks("БАЗА_ВП.xlsx").Close End If End Sub |
|
Отправлено: 16:34, 10-08-2022 |
Динохромный Сообщения: 703
|
Профиль | Отправить PM | Цитировать Цитата vetold74:
Цитата vetold74:
Цитата vetold74:
Цитата vetold74:
Цитата vetold74:
Насколько я могу судить, код должен быть примерно таким, а файлы должны ему соответствовать: Sub KOD() Dim myPhrase As Range, myCell As Range, vstavkaKod As Range, poiskcell As Range, Obmen As Range Set myPhrase = Worksheets("Приказ").Range("B18") Set vstavkaKod = Worksheets("Приказ").Range("K10") Workbooks.Open "D:\робота\1\робота\БАЗА_ВП.xlsx" Worksheets("13_11").Activate Set poiskcell = Workbooks("БАЗА_ВП.xlsx").Worksheets("13_11").Range("C1:C30") Set myCell = poiskcell.Find(myPhrase) If Not myCell Is Nothing Then MsgBox "Адрес найденной ячейки: " & myCell.Address Set Obmen = myCell.Offset(, 17) Obmen.Value = vstavkaKod.Value Workbooks("БАЗА_ВП.xlsx").Save Else MsgBox "Не найдено" Workbooks("БАЗА_ВП.xlsx").Close End If End Sub |
|||||
------- Отправлено: 17:43, 10-08-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Файлы что прикрепил делал по быстрому сам с оригинала.. Поэтому есть неточности такие как "приказ" (название книги) "делить" (название листа в этой книги) - это один файл.
Лист "13_11" это первый лист в книге "БАЗА-ВП" это я прозевал исправить.... Поменял значения как описано выше. Ошибка та же... Run - time error ' 91 ' : Object variable or With block variable not set Перевод - Ошибка времени выполнения '91': переменная объекта или переменная блока не установлена |
Последний раз редактировалось vetold74, 10-08-2022 в 19:23. Отправлено: 19:15, 10-08-2022 | #3 |
Динохромный Сообщения: 703
|
Профиль | Отправить PM | Цитировать Цитата vetold74:
Цитата vetold74:
Цитата vetold74:
|
|||
------- Отправлено: 19:50, 10-08-2022 | #4 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата a_axe:
Суть макроса что я ищу значение ячейки В18 (книга "приказ" лист "делить" в книге "база" лист "13_11". Если значение в базе есть я смещаюсь на 17 ячеек, от активной ячейки (то значение что я нашел) и вставляю значение "К10"( с книги "приказ" лист "делить") в эту ячейку. Сохраняю результат и закрываю книгу. |
|||||
Последний раз редактировалось vetold74, 10-08-2022 в 21:41. Отправлено: 21:32, 10-08-2022 | #5 |
Динохромный Сообщения: 703
|
Профиль | Отправить PM | Цитировать Цитата vetold74:
Set poiskcell = Workbooks("БАЗА_ВП.xlsx").Worksheets("13_11").Range("C1").Resize(Workbooks("БАЗА_ВП.xlsx").Worksheets("13_11").Range("C1").End(xlDown).Row, 1) Цитата vetold74:
vetold74, на самом деле не очень понятно, зачем вам VBA, поставленные задачи легко решаются стандартными средствами экселя. Вы регистрируете движение неких материалов по точкам, или в чем смысл этого кода? |
||
------- Отправлено: 22:02, 10-08-2022 | #6 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Цитата a_axe:
В коде сначало стоит сохранение вставки (если я ее нашел), если нет то закрытие книги. Я что то напутал? |
|||
Отправлено: 22:09, 10-08-2022 | #7 |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать Добрый день. Ошибку нашел.... Это оказался формат (ссылка) обьекта поиска ячейки В18 и К10.
Большое спасибо за помощь. |
Отправлено: 09:02, 11-08-2022 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
2013 - Добавленная в Excel VBA функция не пересчитывает значения автоматически | subuday77 | Microsoft Office (Word, Excel, Outlook и т.д.) | 5 | 15-10-2018 10:10 | |
2010 - Excel не раскрывает категории + странное окно поиска. | Avatar-Lion | Microsoft Office (Word, Excel, Outlook и т.д.) | 7 | 20-08-2015 00:01 | |
.NET - добавление кода в VBA код страницы Excel | corbis | Программирование и базы данных | 0 | 01-06-2015 02:29 | |
VBA - [решено] VBA в EXCEL не освобождается память | navuhodonosor | Программирование и базы данных | 5 | 12-08-2013 00:45 | |
Не стартует, пост код D0 | nemo_the_capitain@vk | Материнские платы и память | 5 | 18-07-2013 21:22 |
|