Я разрабатываю лист отслеживания аудита для некоторых коллег-программистов и хотел бы написать макрос, который позволил бы им легко обобщать информацию, которую они отслеживают. Рабочий процесс выглядит следующим образом ...
Доктор выбран для аудита
Каждый пациент имеет свою уникальную созданную вкладку, которая содержитих конкретная информация
Аудит проводится на каждом листе
После завершения аудита мне необходимо обобщить все изменения для одного врача,Соглашение об именах всех листов такое же, как и структура.
Я хотел бы, чтобы они запускали один макрос, который будет копировать столбцы «R: T» с каждого листа в рабочей книге, в которой содержится фамилия доктора, и накладывать их друг на другав новом листе. Однако я хочу, чтобы этот новый лист создавался из макроса, и имя этого листа будет вводиться пользователем. Надеюсь, это понятно. Дайте мне знать, если кому-то нужно больше подробностей. Следующий код - это то, с чего я начал, но мне нужна помощь, чтобы продолжить. См. Ниже.
Sub Summary_Sheet()
Dim sArr() As String, Cnt As Long, WS As Object
Dim newName As String
ReDim sArr(0)
newName = InputBox("Enter Doctor's Last Name")
Sheets.Add After:=Worksheets(Sheets.Count)
ActiveSheet.Name = newName
Cnt = 0
For Each WS In ActiveWorkbook.Sheets
If InStr(WS.Name, newName) Then
ReDim Preserve sArr(Cnt)
sArr(Cnt) = WS.Name
Cnt = Cnt + 1
End If
Next
If Cnt > 0 Then Sheets(sArr).Select
Set WS = Nothing
End Sub
В настоящее время код будет создавать только новый лист и не будет выбираться на основе имени нового листа. Я знаю, что цикл for должен будет копировать и вставлять каждый отдельный лист, а не выбирать все из них, но я хотел бы обратиться к экспертам.
В конечном счете, для копируемых столбцов потребуются дубликаты. удален, и мне нужно будет сохранить лист в виде симпатичного PDF, но сначала мне нужно решить эту проблему. Любая помощь будет принята с благодарностью! Спасибо!