워크시트를 한 줄씩 읽고 여기에서 선택적으로 데이터를 가져오는 것이 때때로 유용합니다. 아래 예는 이를 수행하는 방법을 보여줍니다.
이 기사에서는 독자에게 개발자 리본이 표시되고 VBA 편집기에 익숙하다고 가정합니다. 그렇지 않은 경우 Google "Excel 개발자 탭"또는 "Excel 코드 창"을 사용하십시오.
다음 예에서는 이메일 주소의 각 행을 검사하고 단일 주소 행으로 연결하여 데이터를 조작합니다. Excel에는 Transpose 기능이 내장되어 있지만 코드에서 일부 특정 주소를 제외하고 구분 기호를 추가하려고 합니다.
우리의 응용 프로그램은 한 장만 필요합니다. 아래 정보를 A1 셀에 복사합니다.
| 이메일 주소 |
| tcruise@paramount.com |
| julia.R@disney.com |
| Jules.dassin@gaumont.co.fr |
| EnricoFellini@cinecitta.co.it |
| marymontrary@bedlam.org.uk |
양식에 버튼을 배치하여 코드를 시작합니다.
이메일이 다섯 통이 아니라 수백 통이라고 가정해 봅시다. 각 이메일에 동일한 메시지와 시나리오 사본을 보내고 싶습니다. 이를 수행하는 방법은 여러 가지가 있지만, 가장 일반적인 방법은 VBA 코드를 사용하여 Outlook과 같은 이메일 프로그램을 호출하는 것입니다. 그러나 이 예제는 두 가지 목적을 가지고 있습니다.
- 워크시트를 쉽게 순환하는 방법을 보여줍니다.
- 각 행을 검사하고 조치를 취하는 Excel의 기능을 강조 표시합니다.
VBA 코드
VBA 코드는 모든 주소를 연결하고 각 주소 뒤에 세미콜론을 삽입하여 이메일 주소 필드에 한 번에 붙여넣을 수 있도록 합니다. 코드에서 행을 검사한 후 프랑스어 행을 제외한다는 것을 알 수 있습니다.
모듈을 삽입하고 다음을 입력하십시오.
Option Explicit
Dim strEmail As String
Dim strAll As String
Sub Main()
strAll = ""
Range("C2") = strAll 'clear previous program results
Sheets("Sheet1").Select
Range("A2").Select
Do While ActiveCell > "" 'loop until row 7
strEmail = ActiveCell
If Right(strEmail, 2) <> "fr" Then 'exclude France
strAll = strAll & strEmail & ";"
End If
Range("A" & ActiveCell.Row + 1).Select 'move on a row in the SAME column
Loop
Range("C2") = strAll
End Sub
코드는 활성 셀을 열 A에 유지하고 행만 이동합니다. 행의 다른 곳에서 정보를 참조하려면 다음을 사용합니다.
Variable = Activecell.offset(offset rows, offset columns)
예를 들어 활성 행의 B 열에서 값을 가져오려면 코드는 다음과 같습니다. 액티브셀.오프셋(0, 1). 우리가 A2에 있을 때 A3의 값을 얻으려면 활성셀.오프셋(-1, 0).
코드를 테스트하려면 버튼을 "Main" 매크로에 지정하십시오.
일부 인터넷 서비스 공급자는 스팸 방지 예방책으로 한 번에 보낼 수 있는 이메일 수를 제한할 수 있습니다. 이 방법을 사용하는 경우 한 번에 수백 개의 이메일을 발송하기 전에 확인하는 것이 가장 좋습니다.
Excel 파일 손상 처리

저자 소개 :
Felix Hooker는 데이터 복구 전문가입니다. DataNumen, Inc.는 다음과 같은 데이터 복구 기술 분야의 세계적 리더입니다. 수리 rar 부패 및 SQL 복구 소프트웨어 제품. 자세한 내용은 WWW.datanumen.COM
