|
* 답변하시는 분들께 도움이 되도록 자신의 환경을 아래 항목 옆에 기재해 주세요.
1. 엑셀 버전(95,97,2000,2002):
2. 윈도우즈의 버전(win95,win98,winME,winNT,win2000,winXP):
3. CPU (486,PentiumI/II/III/IV...):
4. RAM (32,64,128,256,512MB,1G...):
* 아래줄에 질문을 작성하세요 >>
1.2002
2.2002
3.intel celeron 프로세서
4.256MB
perd파일과 pdc파일을 첨부하였습니다.
Macro5a(pdc파일의 매크로)를 진행함에 문제가 발생하였는데요
perd파일의 각 시트에 있는 에이전트의 이름과 숫자가 일치하는
pdc파일의 셀을 찾아 T를 표시하는 것입니다.
pdc에서 볼 수 있는 총11개의 에이전트 중에서
perd-> sheet1에는 3개의 에이전트가 있는데요
sheet1에 있지 않은 파일은 건너뛰고 있는 파일만 T를 나타내면 좋겠는데
있지 않은 파일을 검사하는 부분에서 디버그가 발생하네요
"pdc파일 -> 편집 -> 찾기 -> (찾을내용: CreaAgent) 다음찾기"를 하면
찾을 수 없다는 메시지만 뜨는데..
1. 수정해야 하는 부분과
2. 찾기 메뉴를 이용한 위 문제의 해결방법
... 을 알려주세요
==============[하늘정원님 글에 대한 답변입니다]==============
안녕하세요? 하늘정원 님
제 업무가 아니라서 자세히 이해하기 힘들지만요
perd.xls 파일의 에이전트의 수 만큼 추출하여 그 수만큼 "T" 자를
입력하려는 의도로 판단되어 아래의 코드로 perd.xls파일의 Extract시트에
정리를 해 보았습니다.
참고하시고 하시는 일 잘 되시기를 바랍니다.
Sub Extract_Test()
Dim ws As Worksheet
Dim rNum As Long
Dim cnt As Long
Dim i As Byte
Dim strFind As String
On Error GoTo errHandler
For Each ws In ThisWorkbook.Worksheets
If ws.Name <> "Extract" Then
For i = 1 To 11
strFind = Choose(i, "EnteAgent", "CreaAgent", "SubsidiaryAgent", "ExitAgent", "CropAgent", "JVParentAgent", "MergExitAgent", "TradeAgent", "LicensingAgent", "ParentOfSubsiAgent", "BlockDiffusAgent")
cnt = Application.CountIf(ws.UsedRange, strFind)
With Worksheets("Extract")
If cnt > 0 Then
rNum = .Cells(65536, i + 2).End(xlUp).Offset(1, 0).Row
.Range(.Cells(rNum, i + 2), .Cells(rNum + cnt - 1, i + 2)).Value = "T"
End If
End With
Next i
End If
Next ws
Exit Sub
errHandler:
MsgBox Err.Number & " / " & Err.Description
End Sub
* 테스트 후에 오류처리기를 테스트 없이 올렸더니 오류발생하여 일부 수정하였습니다 |
|