Microsoft Excel에서 VBA를 사용하여 데이터에 언급 된 각각의 이름에 대해 별도의 워크 시트를 만듭니다.
이 기사에서는 데이터에 언급 된 각 이름에 대해 별도의 워크 시트를 만드는 매크로를 만듭니다.
원시 데이터는 이름, 캠페인 세부 정보 및 처리 된 호출 수로 구성됩니다.
이 예에서는 각 이름에 대해 별도의 워크 시트를 만들고자하며 시트에는 상담원이 처리하는 캠페인 및 통화 수와 관련된 데이터가 포함됩니다.
논리 설명
이 기사에서는 “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]로 문의 해주세요