Страницы: 1
RSS
Поиск значения из одной книги в другой и вставка этого значения
 
ривет форумчане. Требуется ваша помощь. Мне из книги "Разобрано" нужно найти в "Справочнике" сначала лист с брендом, а затем в этом листе нужную модель в столбце "Модель краткое" и после этого в книгу "Разобрано" вставить соответствующее полное название. Сам код можно не присылать. Хотелось бы узнать: правильно ли я делаю. И какие идеи можете подкинуть. Заранее спасибо.
Приблизительный код вот:
Код
Sub CompareSub()
Dim code As String
Dim spr As String
Dim sprval As String
Dim itkval As String
 
code = Range("B4").Value
'code = Range("B2:B" & Cells(Rows.Count, 1).End(xlUp).Row).Select
'itkval = Range("C2:C" & Cells(Rows.Count, 1).End(xlUp).Row).Value
'itkval = Range("C2").Value
spr = "F:\Spravochniki_1.xlsx"
iok = Dir(spr)
'sprval = Work
 For Each iok In Worksheets
    For i = 1 To Worksheets.Count
       If Worksheets(i).Name = code Then
          'Worksheets(i).Select
          'With Worksheets(i)
          'sprval = Worksheets(i).Range("E2").Value
         ' sprval = Worksheets(i).Range("E2:E" & Cells(Rows.Count, 1).End(xlUp).Row).Value
          'If itkval = sprval Then
         ' ThisWorkbook.Range("E2") = Worksheets(i).Range("E2").Value
          'MsgBox ("da")
         ' End If
        
          'End With
          MsgBox ("da")
       End If
    Next i
 Next
 
End Sub
 
А зачем для этого макрос?
функции ВПР() достаточно будет
Изменено: bigorq - 18.06.2018 18:30:59
 
Мне это для программы нужно
 
Переходить на лист в большинстве случаев нет необходимости, поэтому эта строка не нужна:
Код
Worksheets(i).Select

Эти две строки не нужны, т.к. Вы явно указываете лист внутри этой конструкции:
Код
With Worksheets(i)
End With

Здесь нужно явно указать лист Worksheets(i), иначе макрос будет подставлять активный лист:
Код
sprval = Worksheets(i).Range("E2:E" & Worksheets(i).Cells(Worksheets(i).Rows.Count, 1).End(xlUp).Row).Value
Изменено: Karataev - 19.06.2018 18:58:21
Страницы: 1
Наверх