이 기사에서는 데이터에 언급 된 각 이름에 대해 별도의 워크 시트를 만드는 매크로를 만듭니다.

원시 데이터는 이름, 캠페인 세부 정보 및 처리 된 호출 수로 구성됩니다.

ArrowRawData

이 예에서는 각 이름에 대해 별도의 워크 시트를 만들고자하며 시트에는 상담원이 처리하는 캠페인 및 통화 수와 관련된 데이터가 포함됩니다.

ArrowOutput

논리 설명

이 기사에서는 “AfterNamesCopying”매크로를 작성했습니다. 에이전트 이름에 따라 데이터를 다른 시트로 분리합니다. 데이터를 분리하기 위해 데이터에서 “이름”을 확인하고 “이름”행 아래의 데이터를 각 시트에 복사합니다.

코드 설명

Left (WksData.Cells (IntRow, 1), 4) = “이름”

위 코드는 셀의 값이“이름”으로 시작하는지 확인하는 데 사용됩니다.

오른쪽 (WksData.Cells (IntRow, 1), Len (WksData.Cells (IntRow, 1)) – 5)

위 코드는 셀 값에서 에이전트 이름을 추출하는 데 사용됩니다.

Worksheets.Add after : = Worksheets (Worksheets.Count)

위 코드는 마지막 워크 시트 뒤에 새 워크 시트를 삽입하는 데 사용됩니다.

ActiveSheet.Name = StrSheet 위 코드는 활성 시트의 이름을 바꾸는 데 사용됩니다.

Range (.Cells (IntRowL, 1), .Cells (IntRowL, 3)). Value = _ Range (WksData.Cells (IntRow, 1), WksData.Cells (IntRow, 3)). Value 위 코드는 특정 에이전트와 관련된 데이터를 추가합니다.

아래 코드를 따르세요

Option Explicit

Sub AfterNamesCopying()

'Declaring variables

Dim wks As Worksheet, WksData As Worksheet

Dim IntRow As Integer, IntRowL As Integer

Dim StrSheet As String

'Disabling screen updates

Application.ScreenUpdating = False

'Initializing variables

Set WksData = ActiveSheet

IntRow = 10

'Loop until cell in first column is empty

Do Until IsEmpty(WksData.Cells(IntRow, 1))



'Checking whether value in the cell begins with string "name"

If Left(WksData.Cells(IntRow, 1), 4) = "name" Then



'Extracting name from the cell value

StrSheet = Right(WksData.Cells(IntRow, 1), Len(WksData.Cells(IntRow, 1)) - 5)



'Adding new worksheet

Worksheets.Add after:=Worksheets(Worksheets.Count)



'Renaming the sheet

ActiveSheet.Name = StrSheet

IntRowL = 1



Else



With Worksheets(StrSheet)

'Inserting data to respective sheets

Range(.Cells(IntRowL, 1), .Cells(IntRowL, 3)).Value = _

Range(WksData.Cells(IntRow, 1), WksData.Cells(IntRow, 3)).Value

End With

IntRowL = IntRowL + 1

End If



IntRow = IntRow + 1

Loop

'Enabling screen updates

Application.ScreenUpdating = True

End Sub

이 블로그가 마음에 들면 Facebook 및 Facebook에서 친구들과 공유하십시오.

여러분의 의견을 듣고 싶습니다. 작업을 개선하고 더 나은 서비스를 제공 할 수있는 방법을 알려주십시오. [email protected]로 문의 해주세요