ในบางครั้งการอ่านแผ่นงานทีละบรรทัดและเลือกใช้ข้อมูลจากมันก็มีประโยชน์ ตัวอย่างด้านล่างแสดงวิธีการทำเช่นนี้
บทความนี้ถือว่าผู้อ่านมี Ribbon ของนักพัฒนาที่แสดงอยู่และคุ้นเคยกับ VBA Editor มิฉะนั้นโปรดใช้“ แท็บนักพัฒนา Excel” ของ Google หรือ“ หน้าต่างรหัส Excel”
ตัวอย่างต่อไปนี้จะจัดการข้อมูลโดยการตรวจสอบที่อยู่อีเมลแต่ละแถวและเชื่อมต่อกันเป็นบรรทัดที่อยู่เดียว แม้ว่า Excel จะมีฟังก์ชัน Transpose ในตัว แต่เราตั้งใจให้โค้ดของเรายกเว้นที่อยู่บางส่วนและเพิ่มตัวคั่น
ใบสมัครของเราต้องการเพียงแผ่นเดียว คัดลอกข้อมูลด้านล่างไปยังเซลล์ A1:
| อีเมล |
| tcruise@paramount.com |
| julia.R@disney.com |
| Jules.dassin@gaumont.co.fr |
| เอนริโกเฟลลินี@cinecitta.co.it |
| marymontrary@bedlam.org.uk |
วางปุ่มบนแบบฟอร์มเพื่อเริ่มต้นรหัส
สมมติว่ามีอีเมลเหล่านี้หลายร้อยฉบับ แทนที่จะมีเพียงห้าฉบับ เราต้องการส่งข้อความเดียวกันและสำเนาบทภาพยนตร์เดียวกันไปยังทุกฉบับ มีหลายวิธีในการทำเช่นนี้ โดยวิธีที่เห็นได้ชัดที่สุดคือการเรียกใช้โปรแกรมส่งอีเมล เช่น Outlook จากโค้ด VBA อย่างไรก็ตาม แบบฝึกหัดนี้มีจุดประสงค์สองประการ:
- แสดงวิธีการวนรอบแผ่นงานอย่างง่ายดาย
- เน้นความสามารถของ 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 ในแถวที่ใช้งานอยู่โค้ดจะอ่าน Activecell.offset (0, 1). เพื่อให้ได้ค่า A2 เมื่อเราอยู่ใน A3 จะอ่าน Activecell.offset (-1, 0)
ในการทดสอบรหัสของคุณให้กำหนดปุ่มให้กับมาโคร“ หลัก”
ผู้ให้บริการอินเทอร์เน็ตบางรายเพื่อเป็นการป้องกันสแปมอาจ จำกัด จำนวนอีเมลที่คุณสามารถส่งได้ในครั้งเดียว หากคุณใช้วิธีนี้คุณควรตรวจสอบกับพวกเขาก่อนส่งอีเมลหลายร้อยฉบับในครั้งเดียว
การจัดการความเสียหายของไฟล์ Excel

บทนำผู้เขียน:
Felix Hooker เป็นผู้เชี่ยวชาญด้านการกู้คืนข้อมูลใน DataNumen, Inc. ซึ่งเป็นผู้นำระดับโลกด้านเทคโนโลยีการกู้คืนข้อมูล ได้แก่ ซ่อมแซม rar คอรัปชั่น และผลิตภัณฑ์ซอฟต์แวร์กู้คืน sql ดูข้อมูลเพิ่มเติมได้ที่ wwwdatanumenด้วย.
