커뮤니티
포인트
쿠폰
내 강의실
국비 신청 내역
증명서
계정
로그아웃
학습 질문
개발 일지
나의 활동
스스로 해결
데이터 추출을 성공한 것 같은데
[왕초보] ChatGPT 300% 활용하기 v0
4주차
북마크
정*희
댓글
2
추천
0
조회수
18
조회수
18
스스로 해결

 [실습2]설명에서

  1. 매크로를 실행해서 필터링된 마케터 시트를 획득합니다.

를 어떻게 하는지 모르겠습니다.

첨부 그림 맨 아래쪽처럼 팝업은 뜨는데 이걸 파일로 어떻게 획득하나요? 도와주세요


=======================

나 :name, part, e-mail 정보로 구성된 엑셀 파일 데이터에서 part가 한국어로 "마케팅"인 정보만 추출해서 VBA를 통해 매크로 형식을 만들어 줘. 그런데 매크로 형식을 "마케팅"만 한국어로 표시해주고 나머지는 모두 영어로 만들어줘

챗 : 알겠습니다. 아래는 수정된 VBA 코드 예제입니다. 이 코드는 엑셀 파일에서 part가 "마케팅"인 정보를 추출하고, 매크로 형식으로 출력할 때 "마케팅"은 한국어로, 그 외에는 모두 영어로 표시합니다.


Sub ExtractMarketingInfo()

  Dim ws As Worksheet

  Dim lastRow As Long, i As Long

  Dim outputString As String

   

  ' 작업하려는 시트 선택 (시트 이름에 맞게 수정)

  Set ws = ThisWorkbook.Sheets("Sheet1")

   

  ' 마지막 행 찾기

  lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

   

  ' 결과 문자열 초기화

  outputString = "Marketing Information:" & vbCrLf

   

  ' 데이터 순회하며 추출

  For i = 2 To lastRow ' 데이터가 첫 번째 행에 헤더가 있다고 가정하고 시작

    If UCase(ws.Cells(i, 2).Value) = "마케팅" Then

      outputString = outputString & "이름: " & ws.Cells(i, 1).Value & ", 부서: " & ws.Cells(i, 2).Value & ", 이메일: " & ws.Cells(i, 3).Value & vbCrLf

    Else

      outputString = outputString & "Name: " & ws.Cells(i, 1).Value & ", Part: " & ws.Cells(i, 2).Value & ", Email: " & ws.Cells(i, 3).Value & vbCrLf

    End If

  Next i

   

  ' 결과 출력

  MsgBox outputString

End Sub


이 코드도 "Sheet1"이라는 시트를 기준으로 하고 있으므로, 필요에 따라 시트 이름을 수정해주십시오. 이 코드는 "마케팅"이라는 부서에 해당하는 행은 한국어로, 그 외의 행은 영어로 출력합니다.

=======================

나 : 위 코드에서 part가 인사, 기획인 부분만 제외하고 만들어줘

챗 : 물론이죠! 아래는 part가 "인사" 또는 "기획"인 정보를 제외한 나머지 데이터를 추출하는 VBA 코드입니다


Sub ExtractNonHRPlanningInfo()

  Dim ws As Worksheet

  Dim lastRow As Long, i As Long

  Dim outputString As String

   

  ' 작업하려는 시트 선택 (시트 이름에 맞게 수정)

  Set ws = ThisWorkbook.Sheets("Sheet1")

   

  ' 마지막 행 찾기

  lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row

   

  ' 결과 문자열 초기화

  outputString = "Non-HR and Non-Planning Information:" & vbCrLf

   

  ' 데이터 순회하며 추출

  For i = 2 To lastRow ' 데이터가 첫 번째 행에 헤더가 있다고 가정하고 시작

    Dim currentPart As String

    currentPart = UCase(ws.Cells(i, 2).Value)

     

    If currentPart <> "인사" And currentPart <> "기획" Then

      outputString = outputString & "Name: " & ws.Cells(i, 1).Value & ", Part: " & ws.Cells(i, 2).Value & ", Email: " & ws.Cells(i, 3).Value & vbCrLf

    End If

  Next i

   

  ' 결과 출력

  MsgBox outputString

End Sub



스파르타 즉문즉답






취소
 공유
취소
댓글 0
댓글 알림
나의얼굴