Я бы хотел, чтобы он мог вводить имя, а затем Excel выводил каждый рабочий лист, в котором появляется имя. Каждый рабочий лист представляет собой приложение со списком пользователей. Мне нужно иметь возможность искать пользователя и возвращать все приложения, к которым у пользователя есть доступ.
Я попытался погуглить и нашел формулу, но это было не то, что я искал. Я недостаточно опытен, чтобы знать, как придумать что-то, что будет делать то, что я хочу, но достаточно опытен, чтобы понять написанное. Формула или VBA будут работать.
Будут ли имена находиться где угодно на листах или в определенном месте (ячейки, столбец и т. д.)?
@tigeravatar, как мне это вывести?
@cybernetic.nomad Имена всегда будут в столбце A
Это должно помочь вам начать:
Sub LookForName()
Dim n As String, s As Worksheet, r As Range, msg As String
n = Application.InputBox(Prompt: = "Enter Name: ", Type:=2)
msg = ""
For Each s In Sheets
Set r = s.Cells.Find(What:=n, After:=s.Cells(1, 1))
If r Is Nothing Then
Else
msg = msg & vbCrLf & s.Name
End If
Next s
If msg = "" Then msg = "Name not found."
MsgBox msg
End Sub
Да, это делает это. это то, что я искал. Большое спасибо! Вот это да.
Вы можете использовать Find All для этого, никаких формул или VBA не требуется. Есть ли конкретная причина, по которой «Найти все» не работает?