VBA IIF - Bagaimana Cara Menggunakan Fungsi VBA IIF di Excel? (dengan Contoh)

Daftar Isi

Excel VBA IIF

Jika Anda adalah pengguna makro VBA biasa, Anda pasti pernah menemukan fungsi yang disebut "IIF", atau Anda mungkin pernah melihat fungsi ini di internet. Pada pandangan pertama, karena Anda pasti mengira itu adalah kondisi IF seperti pernyataan IF biasa kami di Excel. Tapi ini bukan pernyataan IF yang sama yang kami gunakan untuk mengevaluasi tes logis dan mendapatkan hasil berdasarkan kriteria yang kami berikan. Dalam artikel ini, kami akan memandu Anda mempelajari kondisi "VBA IIF" di VBA.

Apa yang Dilakukan Kondisi IIF di VBA?

Ini sangat mirip dengan kondisi IF kita tetapi sifatnya sedikit berbeda. Kondisi "VBA IIF" menguji ekspresi atau uji logika yang diberikan dan mengembalikan TRUE atau FALSE sebagai hasilnya.

VBA IIF Syntax

Lihatlah sintaks dari fungsi IIF.

  • Ekspresi: Ini hanyalah tes logis yang ingin kami lakukan.
  • Bagian Ture: Jika tes logika BENAR, lalu apa yang seharusnya menjadi bagian BENAR.
  • Bagian False: Jika tes logika adalah FALSE, maka apa yang seharusnya menjadi hasil dari bagian FALSE.

Kita bisa memasukkan hasil kita sendiri dengan bagian TRUE & FALSE. Meskipun argumen terlihat mirip dengan kondisi IF, ini akan sedikit berbeda. Kita akan melihat itu dalam contoh fungsi Excel VBA IIF.

Salah satu perbedaan utama antara “IF” reguler dan “IIF” ini adalah kita dapat mengurangi kode menjadi satu baris dengan syarat I dengan kondisi IF, dan dibutuhkan minimal 5 baris untuk mendapatkan hasil yang sama.

Contoh Fungsi VBA IIF

Di bawah ini adalah contoh Fungsi VBA IIF di excel.

Contoh # 1 - VBA IIF

Oke, kita akan melihat satu contoh sederhana dari fungsi IIF. Sekarang kita akan menguji apakah satu angka lebih besar atau lebih kecil dari pada angka lain. Ikuti langkah-langkah di bawah ini untuk menulis kode VBA.

Langkah 1: Mulai makro.

Langkah 2: Tentukan variabel sebagai String di VBA.

Kode:

Sub IIF_Example () Redupkan FinalResult Sebagai String End Sub

Langkah 3: Tentukan dua variabel lagi sebagai Long in VBA.

Kode:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long End Number2 As Long End Sub

Langkah 4: Sekarang, untuk variabel "Number1" tetapkan nilai 105 dan untuk variabel "Number2" tetapkan nilai 100.

Kode:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 End Sub

Langkah 5: Sekarang, untuk variabel pertama yang ditentukan, "FinalResult," kita akan menetapkan hasil dari fungsi IIF. Jadi buka IIF untuk variabel tersebut.

Langkah 6: Masukkan ekspresi sebagai Number1> Number2.

Langkah 7: Sekarang, jika ekspresi BENAR, apa yang seharusnya menjadi hasilnya. Saya akan menetapkan hasilnya sebagai "Nomor 1 lebih besar dari Nomor 2".

Langkah 8: Sekarang, jika ekspresi FALSE, apa hasilnya. Saya akan menetapkan hasilnya sebagai "Nomor 1 kurang dari Nomor 2".

Sekarang nilai variabel akan menjadi salah satu dari di bawah ini.

Jika Benar: "Nomor 1 lebih besar dari Nomor 2."

Jika Salah: "Nomor 1 lebih kecil dari Nomor 2."

Langkah 9: Mari kita tunjukkan hasilnya di kotak pesan di VBA.

Kode:

Sub IIF_Example () Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 FinalResult = IIf (Number1> Number2, "Number 1 is Greater than Number 2", "Number 1 is Less than Number 2") MsgBox FinalResult End Sub

Sekarang mari kita jalankan kodenya dan lihat hasilnya.

Karena nilai Nomor 1 adalah 105, yang lebih besar dari nilai Nomor 2 dari 100, kita mendapatkan hasil sebagai "Nomor 1 Lebih Besar dari Nomor 2". Karena Ekspresi BENAR, kondisi IIF mengembalikan hasil ini.

Contoh # 2 - IF vs. IIF

You must be wondering what the difference between IF & IIF is. Yes, there is a difference in coding. For example, look at the IF condition code.

Code:

Sub IIF_Example() Dim FinalResult As String Dim Number1 As Long Dim Number2 As Long Number1 = 105 Number2 = 100 If Number1> Number2 Then MsgBox "Number 1 is Greater than Number 2" Else MsgBox "Number 1 is Less than Number 2" End If End Sub

Using IF first, we have applied a logical test.

If Number1> Number2 Then

Then if the logical test is true, we have applied the result.

MsgBox "Number 1 is Greater than Number 2"

Then if the logical test is false, we have applied the different results.

MsgBox "Number 1 is Less than Number 2"

Kedua fungsi tersebut mengembalikan hasil yang sama, tetapi dengan IIF, kita hanya dapat membuat kode dalam satu baris, di mana pernyataan IF memerlukan banyak baris.

Contoh # 3 - Kondisi IIF Bersarang VBA

Seperti bagaimana kami menggunakan IF bersarang untuk menguji beberapa kondisi secara serupa, kami juga dapat menggunakan beberapa IIF. Lihatlah kode di bawah ini.

Kode:

Sub IIF_Example2 () Redupkan FinalResult Sebagai String Dim Marks As Long Marks = 98 FinalResult = IIf (Marks> 90, "Dist", IIf (Marks> 80, "First", IIf (Marks> 70, "Second", IIf (Marks) > 60, "Ketiga", "Gagal")))) MsgBox FinalResult End Sub

Kondisi IIF di atas menguji lima tes logis dan mengembalikan hasilnya sesuai.

Artikel yang menarik...