Terkadang berguna untuk membaca lembar kerja baris demi baris dan secara selektif mengambil data darinya. Contoh di bawah ini menunjukkan bagaimana melakukan ini.
Artikel ini mengasumsikan bahwa pembaca memiliki pita Pengembang yang ditampilkan dan sudah terbiasa dengan Editor VBA. Jika tidak, silakan Google "Tab Pengembang Excel" atau "Jendela Kode Excel".
Contoh berikut memanipulasi data dengan memeriksa setiap baris alamat email dan menggabungkannya menjadi satu baris alamat. Meskipun Excel memiliki fungsi Transpose bawaan, kami bermaksud dengan kode kami untuk mengecualikan beberapa penerima tertentu dan menambahkan pembatas.
Aplikasi kami hanya membutuhkan satu lembar. Salin informasi di bawah ini ke sel A1:
| Alamat email |
| tcruise@paramount.com |
| julia.R@disney.com |
| Jules.dassin@gaumont.co.fr |
| EnricoFellini@cinecitta.co.it |
| marymontrary@bedlam.org.uk |
Letakkan tombol di formulir untuk memulai kode.
Mari kita asumsikan ada ratusan email ini, bukan hanya lima; kita ingin mengirimkan pesan yang sama dan salinan naskah film yang sama kepada setiap email. Ada beberapa cara untuk melakukan ini, yang paling umum adalah dengan memanggil program email, seperti Outlook, dari kode VBA. Namun, latihan ini memiliki dua tujuan:
- Tunjukkan cara menggilir dengan mudah melalui lembar kerja;
- Soroti kemampuan Excel untuk memeriksa setiap baris, dan menindaklanjutinya.
Kode VBA
Kode VBA akan menggabungkan semua alamat, menyisipkan titik koma setelah masing-masing, sehingga dapat ditempelkan sekaligus ke bidang penerima email. Anda akan mencatat dari kode bahwa, setelah memeriksa baris, itu akan mengecualikan baris Prancis.
Sisipkan modul, dan masukkan berikut ini:
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
Kode mempertahankan sel aktif di kolom A, hanya baris yang bergerak. Untuk merujuk informasi di tempat lain secara berurutan, kami akan menggunakan:
Variable = Activecell.offset(offset rows, offset columns)
Untuk mendapatkan nilai dari kolom B pada baris aktif, misalnya, kode akan terbaca Activecell.offset (0, 1). Untuk mendapatkan nilai A2 saat kita berada di A3 akan dibaca Activecell.offset (-1, 0).
Untuk menguji kode Anda, tetapkan tombol ke makro "Utama".
Beberapa Penyedia Layanan Internet, sebagai tindakan pencegahan anti-spam, mungkin membatasi jumlah email yang dapat Anda kirim sekaligus. Jika Anda menggunakan metode ini, mungkin yang terbaik adalah memeriksanya sebelum mengirim ratusan email sekaligus.
Menangani Korupsi File Excel

Pengantar Penulis:
Felix Hooker adalah pakar pemulihan data di DataNumen, Inc., yang merupakan pemimpin dunia dalam teknologi pemulihan data, termasuk memperbaiki rar korupsi dan produk perangkat lunak pemulihan sql. Untuk informasi lebih lanjut kunjungi www.datanumen.com
