
* 겪고 있는 문제 상황을 최대한 자세하게 작성해주세요.
* 문제 해결을 위해 어떤 시도를 해보았는지 구체적으로 함께 알려주세요.
엑셀 파일에서 vba코드를 실행하면 아래와 같은 에러가 계속 발생합니다. chatGPT에게 물어보고 코드를 수정해봐도 계속 같은 오류가 발생합니다.
.png)
.png)
작성한 코드 및 에러 메세지
Sub ExtractMarketingData()
Dim wb As Workbook
Dim wsSource As Worksheet
Dim wsMarketing As Worksheet
Dim lastRowSource As Long
Dim lastRowMarketing As Long
Dim i As Long
' 현재 열려 있는 워크북 가져오기
Set wb = ThisWorkbook
' 원본 시트와 마케터 시트 지정
Set wsSource = wb.Sheets("Sheet") ' 원본 시트명으로 변경해야 합니다.
On Error Resume Next
Set wsMarketing = wb.Sheets("마케터")
On Error GoTo 0
' 마케터 시트가 없으면 생성
If wsMarketing Is Nothing Then
Set wsMarketing = wb.Sheets.Add(After:=wb.Sheets(wb.Sheets.Count))
wsMarketing.Name = "마케터"
Else
wsMarketing.Cells.Clear ' 기존 데이터 삭제
End If
' 원본 시트의 마지막 행 찾기
lastRowSource = wsSource.Cells(wsSource.Rows.Count, "A").End(xlUp).Row
' 마케터 시트의 시작 행 지정
lastRowMarketing = 1
' 마케팅 데이터 추출
For i = 2 To lastRowSource ' 데이터가 있는 첫 번째 행부터 마지막 행까지 반복
If Trim(wsSource.Cells(i, "part").Value) = "마케팅" Then ' "part" 열에 "마케팅"인 경우
' 마케터 시트에 추가
wsMarketing.Cells(lastRowMarketing, 1).Value = wsSource.Cells(i, "name").Value
wsMarketing.Cells(lastRowMarketing, 2).Value = wsSource.Cells(i, "part").Value
wsMarketing.Cells(lastRowMarketing, 3).Value = wsSource.Cells(i, "e-mail").Value
lastRowMarketing = lastRowMarketing + 1 ' 다음 행으로 이동
End If
Next i
MsgBox "마케터 시트에 데이터가 추가되었습니다.", vbInformation
End Sub
