Есть база данных в экселе пронумерованных по порядку изделий, которую заполняют несколько пользователей по сети, и один вне сети, после того, как они выполнили работу. Изделия раздаются рандомно каждому пользователю. Для автономного пользователя сделал отдельный пользовательский файл, который успешно импортирует базу к себе, но вот с экспортом я застрял, так как нужно отправить данные в базу, только те, с которыми он работал, ориентируясь на индивидуальный номер изделия. Проблема в моем коде в том, что перед вставкой буфер обмена опустошается и на этом код останавливается.
PrivateSub ExportB_Click() With Sheets("setting")
itsbook = .Cells(15, 1) 'имя текущей книги пользовательского файла
path = .Cells(13, 1) 'путь к книге с базой
Namebook = .Cells(14, 1) 'имя книги с базой EndWith
OnErrorGoTo5
Workbooks.Open path, ReadOnly:=False
Workbooks(itsbook).Activate With Sheets("Æóðíàë ÈÁ")
iLastRow = .Cells(Rows.Count, 1).End(xlUp).Row For y = 5To iLastRow If .Cells(y, 13) <> EmptyAnd .Cells(y, 17) = EmptyThen'определение строки, которую нужно скопировать
ak = .Cells(y, 1) 'определение индивидуального номера изделия
Range(Sheets("Æóðíàë ÈÁ").Cells(y, 13), Sheets("Æóðíàë ÈÁ").Cells(y, 53)).Copy
Workbooks(Namebook).Activate With Sheets("Æóðíàë ÈÁ") If .FilterMode Then .ShowAllData
iRow = .Range(.Cells(5, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, 1)).Find(What:=Val(ak)).Row 'поиск номера строки в соответствии с индивидуальным номеров в базе
Sheets("Æóðíàë ÈÁ").Range(Sheets("Æóðíàë ÈÁ").Cells(iRow, 13), Sheets("Æóðíàë ÈÁ").Cells(iRow, 53)).PasteSpecial Paste:=xlPasteValuesAndNumberFormats 'вставка данных в базу, отсюда не работает. EndWith EndIf
Workbooks(itsbook).Activate
Next y EndWith
Workbooks(Namebook).Activate
Workbooks(Namebook).SaveAs Filename:=path
Workbooks(Namebook).Close OnErrorGoTo0
Workbooks(itsbook).Activate
5: EndSub
Есть база данных в экселе пронумерованных по порядку изделий, которую заполняют несколько пользователей по сети, и один вне сети, после того, как они выполнили работу. Изделия раздаются рандомно каждому пользователю. Для автономного пользователя сделал отдельный пользовательский файл, который успешно импортирует базу к себе, но вот с экспортом я застрял, так как нужно отправить данные в базу, только те, с которыми он работал, ориентируясь на индивидуальный номер изделия. Проблема в моем коде в том, что перед вставкой буфер обмена опустошается и на этом код останавливается.
PrivateSub ExportB_Click() With Sheets("setting")
itsbook = .Cells(15, 1) 'имя текущей книги пользовательского файла
path = .Cells(13, 1) 'путь к книге с базой
Namebook = .Cells(14, 1) 'имя книги с базой EndWith
OnErrorGoTo5
Workbooks.Open path, ReadOnly:=False
Workbooks(itsbook).Activate With Sheets("Æóðíàë ÈÁ")
iLastRow = .Cells(Rows.Count, 1).End(xlUp).Row For y = 5To iLastRow If .Cells(y, 13) <> EmptyAnd .Cells(y, 17) = EmptyThen'определение строки, которую нужно скопировать
ak = .Cells(y, 1) 'определение индивидуального номера изделия
Range(Sheets("Æóðíàë ÈÁ").Cells(y, 13), Sheets("Æóðíàë ÈÁ").Cells(y, 53)).Copy
Workbooks(Namebook).Activate With Sheets("Æóðíàë ÈÁ") If .FilterMode Then .ShowAllData
iRow = .Range(.Cells(5, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, 1)).Find(What:=Val(ak)).Row 'поиск номера строки в соответствии с индивидуальным номеров в базе
Sheets("Æóðíàë ÈÁ").Range(Sheets("Æóðíàë ÈÁ").Cells(iRow, 13), Sheets("Æóðíàë ÈÁ").Cells(iRow, 53)).PasteSpecial Paste:=xlPasteValuesAndNumberFormats 'вставка данных в базу, отсюда не работает. EndWith EndIf
Workbooks(itsbook).Activate
Next y EndWith
Workbooks(Namebook).Activate
Workbooks(Namebook).SaveAs Filename:=path
Workbooks(Namebook).Close OnErrorGoTo0