Всем доброго дня!
Помогите пжлст. Делаю выборку с нескольких листов и что-то не получается. Вот код:
Sub MyVyborka()
Dim NOMER1, NOMER2, Inom1, Inom2, i, j, k
Лист1.Select
Inom1 = Columns(1).Rows(65536).End(xlUp).Row
Inom2 = Columns(8).Rows(65536).End(xlUp).Row
k = 1
For i = 1 To Inom1
NOMER1 = Range("A" & i).Value
Лист2.Select
For j = 1 To Inom2
NOMER2 = Range("H" & j).Value
If InStr(1, NOMER1, NOMER2) > 1 Then
Лист3.Select
Range("A" & k).Value = NOMER2
k = k + 1
End If
Next j
Проверять не проверял.. но просто заменил Select на явное обращение на листы по Item. Попробуйте.
Sub MyVyborka()
Dim NOMER1 As Long, NOMER2 As Long, Inom1 As Long, Inom2 As Long, i As Long, j As Long, k As Long
' Лист1.Select
Inom1 = Sheets("Лист1".Columns(1).Rows(65536).End(xlUp).Row
Inom2 = Sheets("Лист1".Columns(8).Rows(65536).End(xlUp).Row
k = 1
For i = 1 To Inom1
NOMER1 = Sheets("Лист1".Range("A" & i).Value
' Лист2.Select
For j = 1 To Inom2
NOMER2 = Sheets("Лист2".Range("H" & j).Value
If InStr(1, NOMER1, NOMER2) > 1 Then
' Лист3.Select
Sheets("Лист3".Range("A" & k).Value = NOMER2
k = k + 1
End If
Next j
' Лист1.Select
Next i
End Sub
Sub MyVyborka()
Dim NOMER1, NOMER2, Inom1, Inom2, i, j, k, h, l
Лист1.Activate 'Select
Inom1 = Columns(1).Rows(65536).End(xlUp).Row
Inom2 = Columns(8).Rows(65536).End(xlUp).Row
k = 1
h = 1
l = 1
For i = 1 To Inom1
NOMER1 = Range("A" & i).Value
Лист2.Activate 'Select
For j = 1 To Inom2
NOMER2 = Range("H" & j).Value
If InStr(1, NOMER1, NOMER2) > 1 Then
Лист3.Activate 'Select
Range("A" & k).Value = NOMER2
k = k + 1
GoTo 2
End If
Range("K" & l).Value = NOMER1
h = h + 1
Range("L" & l).Value = NOMER2
l = l + 1
Next j
2:
Next i
End Sub
только не знаю как вытащить наружу:
If InStr(1, NOMER1, NOMER2) > 1 Then
Проверка происходит внутри Листа2 и все значения вылерают в отстойник