Я пытаюсь найти в Интернете код VBA, который мог бы мне помочь, но я ничего не смог найти.
Что я пытаюсь сделать:
- В той же книге у меня есть два листа.
- На листе 1 столбец A со значениями лотов (только цифры).
- На листе 2 столбец A с этими значениями (иногда более одного раза с одним и тем же значением) с большим количеством информации в других столбцах.
Пока, хорошо.
Что мне нужно, так это то, что когда я дважды щелкаю одно из этих значений на листе 1, Excel показывает только те же значения на листе 2 (а не только первое вхождение), скрывая остальные.
Пример:
Sheet 1
Column A
123
124
125
126
Sheet 2
Column A
123
124
123
125
123
126
При щелчке в ячейке со значением 123 на листе 1 Excel показывает строки с таким же значением только на листе 2, скрывая другие значения.
Я не знаю, как кодировать. Однако этот код, я думаю, можно использовать. Единственная проблема. Он возвращает номер строки первого вхождения во всплывающем окне. Что мне нужно, так это то, что Excel показывает на листе найденные значения.
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'If you select more than one cell, ignore
If Target.CountLarge > 1 Then Exit Sub
'If you select a blank cell, ignore
If Target.Value = vbNullString Then Exit Sub
Dim Finder, ClickRange
'We want the event to fire if you click in column A anywhere
Set ClickRange = Sheets("Sheet1").Range("A:A")
'If you click somewhere else, ignore
If Intersect(Target, ClickRange) Is Nothing Then Exit Sub
'Look for the value in sheet 2 column A
Set Finder = Sheets("Sheet2").Range("A:A").Find(Target.Value, LookAt:=xlWhole)
'If we don't find it, Exit Sub
If Finder Is Nothing Then Exit Sub
'To display the row:
MsgBox (Finder.Row)
'To Select it:
'If we find it, select sheet 2 and select the cell
'Sheets("Sheet2").Activate
'Finder.Select
End Sub