Gelung Do VBA - Bagaimana untuk menggunakan Excel VBA Do Loops?

Isi kandungan

Gelung Doo Excel VBA

VBA Do loop , ini adalah sekumpulan arahan di dalam sub prosedur di mana kod menjalankan sebilangan kali sehingga kriteria yang diinginkan tercapai atau ambang mana pun terlampau atau selamat untuk mengatakannya sehingga data yang diperlukan diperoleh.

Walaupun gelung berfungsi pada hasil logik, ia terus menjalankan gelung berulang-ulang sementara keadaan ujian BENAR. Sebaik sahaja keadaan ujian kembali SALAH, ia akan keluar dari gelung. Gelung adalah nadi dari mana-mana bahasa pengaturcaraan. Dalam artikel kami, kami menunjukkan pentingnya gelung dan cara pengekodannya. Dalam artikel ini, kami menunjukkan kepada anda cara menggunakan Do Loop.

Bagaimana cara menggunakan VBA Do Loop?

Contoh # 1 - Keadaan di hujung Gelung

Kami telah melihat ujian keadaan pada awal gelung. Dalam kod sebelumnya, kita telah melihat contoh memasukkan nombor siri, dan kodnya seperti itu.

Kod:

Sub Do_While_Loop_Contoh1 () Dim k As Long k = 1 Do While k <= 10 Sel (k, 1). Nilai = kk = k + 1 Gelung Akhir Sub

Sekarang anda boleh menjalankan kod ini secara manual atau melalui kekunci pintas F5 untuk melihat hasilnya.

Kod ini akan memasukkan nombor siri dari 1 hingga 10.

Tetapi kita juga dapat menguji keadaan di hujung gelung juga. Kita perlu menggunakan perkataan "while" dan ujian keadaan di akhir selepas perkataan Loop.

Satu-satunya perubahan di sini adalah menerapkan ujian pada akhir, seperti gambar di bawah.

Kod:

Sub Do_While_Loop_Contoh1 () Dim k Selagi k = 1 Sel Sel (k, 1). Nilai = kk = k + 1 Gelung Sementara k <= 10 Sub Akhir

Seperti ini, kita juga boleh menguji keadaan di akhir pernyataan gelung.

Catatan: Kod akan dijalankan, kemudian menguji keadaan untuk kembali ke gelung sekali lagi atau tidak. Ini bermaksud ia akan dijalankan terlebih dahulu dan kemudian mencuba keadaan kemudian.

Contoh # 2 - Penjumlahan Menggunakan Gelombang Semasa Melakukan

Andaikan anda mempunyai data jualan dan kos dalam lembaran excel anda. Berikut adalah set data dummy yang telah saya buat untuk pengiraan.

Sekarang kita perlu mendapatkan nilai keuntungan di lajur C. Saya sudah membuat kod yang akan berfungsi untuk saya.

Kod:

Sub Do_While_Loop_Example2 () Dim k As Long Dim LR As Long k = 2 LR = Cells (Rows.Count, 1). End (xlUp). Row Do While k <= LR Sel (k, 3). Nilai = Sel (k , 1) + Sel (k, 2) k = k + 1 Gelung Akhir Sub
LR = Sel (Rows.Count, 1). End (xlUp). Baris

Kod ini akan mengenal pasti baris terakhir yang digunakan pada lajur pertama. Ini menjadikan kod dinamik kerana jika ada penambahan atau penghapusan data, ini akan menyesuaikan masa urutan saya untuk menjalankan gelung.

k = 2

Kami mahu pengiraan dilakukan dari sel kedua dan seterusnya. Jadi nilai awal k adalah 2.

Lakukan Semasa k <= LR

Seperti yang saya katakan, LR akan mencari baris terakhir yang digunakan di lajur pertama. Ini bermaksud gelung akan berjalan sementara k adalah <= dengan nilai LR. Dalam kes ini, saya mempunyai 10 baris, jadi LR = 10.

Gelung akan berjalan sehingga nilai k mencapai 10. Setelah jumlahnya melepasi 10 gelung, ia akan berhenti.

Sekarang anda boleh menjalankan kod ini menggunakan kekunci pintas F5 atau secara manual untuk melihat hasilnya.

Contoh # 3 - Penyataan Keluar dalam Gelombang Semasa Sambil

Kita juga boleh keluar dari gelung sementara keadaannya masih BENAR sahaja. Sebagai contoh, ambil data di atas di sini juga.

Anggaplah anda tidak mahu melakukan pengiraan penuh, tetapi anda hanya perlu mengira 5 baris pertama keuntungan, dan sebaik sahaja sampai pada baris ke- 6 , anda ingin keluar dari lingkaran. Ini dapat dilakukan dengan menggunakan fungsi IF di excel. Kod di bawah merangkumi pernyataan keluar.

Kod:

Sub Do_While_Loop_Example3 () Dim k As Long Dim LR As Long k = 2 LR = Cells (Rows.Count, 1). End (xlUp). Row Do While k 6 Kemudian Exit Do Cells (k, 3). Value = Cell ( k, 1) + Sel (k, 2) k = k + 1 Gelung Akhir Sub
"Jika k> 6 Kemudian Keluarlah"

Garis kod ini akan memulakan proses keluar. Gelung akan terus berjalan sehingga nilai k mencapai 6. Saat melebihi 6, Jika keadaan akan melaksanakan kodnya, "Exit Do."

Sekarang anda boleh menjalankan kod ini menggunakan kekunci pintas F5 atau secara manual untuk melihat hasilnya.

Perkara yang Perlu Diingat

  • Adakah. Gelung berfungsi berdasarkan hasil logik, dan ia terus menjalankan gelung berulang-ulang sementara keadaan ujiannya BENAR. Sebaik sahaja keadaan ujian kembali SALAH, ia akan keluar dari gelung.
  • Kita dapat keluar dari gelung pada waktu tertentu dengan menyesuaikan satu lagi ujian logik di dalam lingkaran dengan menggunakan fungsi IF.
  • Sekiranya keadaan atau ujian dibekalkan di bahagian atas gelung, pertama-tama ia akan memeriksa ujian dan terus maju jika hanya BENAR.
  • Sekiranya keadaan atau ujian diberikan pada akhir gelung, ia akan terlebih dahulu menjalankan blok kod di dalam pernyataan gelung, dan pada masa akan datang, ia akan menguji keadaan untuk memutuskan sama ada kembali untuk menjalankan gelung sekali lagi atau tidak.

Artikel menarik...