Страницы: 1
RSS
Подтягивание данных из другого файла
 
Здравствуйте!

Ранее с вашей помощью - выполнила подтягивание данных в ячейку из исходного файла, но это неудобно оказалось - данных много, поэтому требуется сделать подтягивание из другого файла = каким образом изменить код подскажите пожалуйста.
Код
Private Sub Worksheet_Change(ByVal Target As Range)

If Target.Cells.Count > 1 Then Exit Sub
If Not Intersect(Target, Range("J3:J500")) Is Nothing Then
Dim MV As Range
Dim L As Variant
L = Target
Set MV = Worksheets("маты").Columns(1).Find(L, , , xlWhole)
    If Not MV Is Nothing Then
    k = MV.Value
    Debug.Print
    Target.Offset(0, -7) = MV.Offset(0, 1) & " " & MV.Offset(0, 2) & " " & MV.Offset(0, 3)
    Target.Offset(0, -6) = MV.Offset(0, 4)
    
  End If
End If
End Sub
 
Цитата
каким образом изменить код
Ну у вас поиск значения был в листе Worksheets("маты").Columns(1)
Замените на другую книгу (Новый файл, лист ,столбец такой-то)
Обе книги д.б. открыты
 
Добрый день!
Kuzmich, заменила - выдает ошибку - что не так?
Код
Set MV = Workbook("матывсе").Sheet(1).Columns(1).Find(L, , , xlWhole)

 
Цитата
что не так?
Код
Set MV = Workbooks("матывсе.xlsx").WorkSheets(1)
 
Kuzmich, здравствуйте
выдает ошибку на
Код
 Target.Offset(0, -7) = MV.Offset(0, 1) & " " & MV.Offset(0, 2) & " " & MV.Offset(0, 3)
 
Добрый день!
Товарищи! может кто-нибудь помочь? ошибка в коде...
 
Вы бы в файле показали...
 
vikttur,
Доброе утро!
прикладываю
 
Цитата
Лена11: выдает ошибку на
перед строкой, на которой выскакивает ошибка напишите
MsgBox Target.Address & " — " & MV.Address и скажите, что выдаст окно — т.к. Target у вас не может быть нигде, кроме как в 10 столбце, то Offset(,-7) не подведёт, а значит дело в MV

P.S.: зачем Debug.Print в 11 строке, если вы в него ничего не пишете?…
Код
Private Sub Worksheet_Change(ByVal Target As Range)
Dim MV As Range

If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("J3:J500")) Is Nothing Then Exit Sub
Set MV = Worksheets("маты").Columns(1).Find(Target.Value2, , , xlWhole)
If MV Is Nothing Then Exit Sub

msgbox mv.address

k = MV.Value
Target.Offset(0, -7) = MV.Offset(0, 1) & " " & MV.Offset(0, 2) & " " & MV.Offset(0, 3)
Target.Offset(0, -6) = MV.Offset(0, 4)
End Sub
Изменено: Jack Famous - 03.07.2020 10:27:43
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
В этой строке надо заменить
Код
Set MV = Worksheets("маты").Columns(1).Find(Target.Value2, , , xlWhole)

на
Код
Set MV = Workbooks("новый файл.xlsx").Worksheets(1).Columns(1).Find(Target.Value2, , , xlWhole)
Изменено: Kuzmich - 15.07.2020 20:29:19
 
Kuzmich, Jack Famous, доброе утро!
Ничего не работает(!
Изменено: Лена11 - 10.07.2020 09:11:44
 
Можете описать саму задачу, что и куда должно подтягиваться, и по какому событию, а не показывать код, который у вас на данный момент не работает так как вам хочется?
"Все гениальное просто, а все простое гениально!!!"
 
Nordheim,
Доброе утро!
Задача такая - в исходной таблице в ячейку J вводим № - необходимо чтобы заполнялись ячейки с наименованием С (из ячеек B+C+D нового файла) и ед.изм D (из ячейки E нового файла) в зависимости от № (данные должны подтягиваться из нового файла).  
Страницы: 1
Наверх