Cara Melakukan Loop di Lembar Kerja Excel Anda dengan VBA

Bagikan sekarang:

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.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

Korupsi File ExcelKadang-kadang kita menjumpai kerusakan buku kerja hingga Excel sendiri tidak dapat memulihkannya. Ini merupakan bencana bagi sebagian besar pengguna Excel, termasuk para ahli. Namun, jika Anda memiliki alat pemulihan yang efektif, Anda dapat memulihkannya. file xlsx rusak dengan mudah dan cepat.

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

Bagikan sekarang:

Komentar ditutup.