Прямо сейчас моя рабочая тетрадь имеет один мастер-лист и 30 с чем-то отдельных листов.Все люди отформатированы одинаково и просто извлекают информацию для разных отделов внутри компании.Есть ли способ, включающий макросы, которые я использую для извлечения информации о каждом отделе, чтобы избавиться от всех отдельных листов для одного листа шаблона?Я хотел бы изменить его так, чтобы при запуске макроса для определенного отдела Excel открывал новый лист на основе шаблона и затем помещал информацию, которую мой текущий макрос извлекает, в новый лист.То, что я сейчас использую для извлечения из основного рабочего листа, следующее:
Sub DepartmentName()
Dim LCopyToRow As Long
Dim LCopyToCol As Long
Dim arrColsToCopy
Dim c As Range, x As Integer
On Error GoTo Err_Execute
arrColsToCopy = Array(1, 3, 4, 8, 25, 16, 17, 15) 'which columns to copy ?
Set c = Sheets("MasterSheet").Range("Y5") 'Start search in Row 5
LCopyToRow = 10 'Start copying data to row 10 in DepartmentSheet
While Len(c.Value) > 0
'If value in column Y ends with "2540", copy to DepartmentSheet
If c.Value Like "*2540" Then
LCopyToCol = 1
Sheets("DepartmentSheet").Cells(LCopyToRow, LCopyToCol).EntireRow.Insert shift:=x1Down
For x = LBound(arrColsToCopy) To UBound(arrColsToCopy)
Sheets("DepartmentSheet").Cells(LCopyToRow, LCopyToCol).Value = _
c.EntireRow.Cells(arrColsToCopy(x)).Value
LCopyToCol = LCopyToCol + 1
Next x
LCopyToRow = LCopyToRow + 1 'next row
End If
Set c = c.Offset(1, 0)
Wend
'Position on cell A5
Range("A5").Select
MsgBox "All matching data has been copied."
Exit Sub
Err_Execute:
MsgBox "An error occurred."
End Sub
Я хотел бы вставить что-то в это, чтобы он открывал шаблон и затем публиковал информацию точно так же, как и выше.