지금 통합 문서에는 하나의 마스터 시트와 30 가지 개별 시트가 있습니다. 모든 개인은 똑같은 포맷으로되어 있으며 회사 내의 여러 부서에 대한 정보 만 가져옵니다. 하나의 템플릿 워크 시트에 대한 모든 개별 시트를 없애기 위해 각 부서의 정보를 가져 오는 데 사용하는 매크로를 통합하는 방법이 있습니까? 특정 부서의 매크로를 실행할 때 템플릿을 기반으로 새 워크 시트를 열고 내 현재 매크로가 새 워크 시트에 가져 오는 정보를 넣도록 변경하고 싶습니다. 내가 마스터 워크 시트에서 끌어 지금 사용하는 것은 다음과내 통합 문서의 작동 방식을 재검토하려합니다.
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
내가 위에서 수행 정확하게 방법을이 템플릿을 열리도록이에 뭔가를 삽입 한 다음 정보를 게시하고 싶습니다.
부서의 정보로 새 통합 문서를 만들거나 마스터 목록과 같은 통합 문서 안에 템플릿 시트 만 복사 하시겠습니까? –
기본적으로 후자입니다. 통합 문서에 항상 두 장의 시트가 포함되도록하고 싶습니다. 맨 위 시트는 마스터이고, 맨 아래 시트는 템플릿입니다. 그런 다음 특정 부서의 매크로를 실행하면 새 (세 번째) 워크 시트가 열려야 템플릿과 똑같이 보이고 작동하며 마스터 시트의 정보를 기존 매크로에서 가져 오는 것과 똑같이 가져옵니다. – Jon
+1 아주 좋은 생각입니다. 단일 프리젠 테이션 시트 만들기! – Reafidy