워크시트를 한 줄씩 읽고 여기에서 선택적으로 데이터를 가져오는 것이 때때로 유용합니다. 아래 예는 이를 수행하는 방법을 보여줍니다.
이 기사에서는 독자에게 개발자 리본이 표시되고 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 |
양식에 버튼을 배치하여 코드를 시작합니다.
Let’s assume there are hundreds of these emails instead of only five; we want to send each the same message and the same copy of our screenplay. There are several ways of doing this, most notably by calling the emailer, like Outlook, from VBA code. However, this exercise serves two purposes:
- 워크시트를 쉽게 순환하는 방법을 보여줍니다.
- 각 행을 검사하고 조치를 취하는 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
