Sub Klothakk()
   Dim Kond As Boolean

   Kond = (Range("A1").Value = "01" And _
           Range("B1").Value = "0" And _
           Left(Range("C1").Value, 2) = "AS")

   Select Case *Kond*
       Case True
          Range("D1").Value = "belajar macro"
       Case Else
         Range("D1").Value = "belajar select case"
   End Select

End Sub

CATATAN:
Mungkin yg dimaksud dengan "banyak parameter" itu adalah 3 syarat seperti
digambarkan dalm variable Kond di atas.

Sebetulnya kasus pencabangan hanya menganadung 2 cabang kemungkinan spt itu
*belum perlu *Select Case
Biasanya Select Case dipakai untuk menghadapi branching denan 3 kondisi
aatu lebih

Harap dicatat juga, untuk kasus tsb  Kond akan bernilai True hanya jika
cell A1 dan B1
berisi data type TEXT/String,  bukan Numbers (bilangan)
Contoh kasusnya kurang Oke...

Struktur / Statement Select Case  adalah sbb:

*Select Case <Expression to test>
   Case <Test1>
     ' Do something 1
   Case <Test2>
     ' Do something 2*
*
*
*  ' case-case lain...*
*
*
*   Case Else
     ' Do something else
End Select*

*
*
*Contoh soal yg  lebih nyata*

Di cell A1 akan dituliskan Bilagan Utuh  (bilangan bulat / integer) dgn
nilai berapa saja
Kategori Bilangan menurut nilainya dengan aturan pengelompokan sbb

*Katg*  *Nilai Bilangan*
*A:     0 sd 20
B:     >20 sd 50
C:     >50 sd 125
D:     >125 sd 1000
E:     >1000*
*
*
Kita diberi tugas menebak  Kategori (A,B,C,D,E ) bilangan itu, tebakan di
tulis di cell B1
Selain itu harus ditebak pula  apakah bilangan itu ganjil atau genap; juga
harus ditebak
apakah bilangan positif ataukah negatif.

CONTOH Penyelesaian VBA, dengan memanfaatkan struktur Select Case

Sub TebakBilangan_diA1()
   ' Ki Semprul mainan SelectCase
   Dim GanGen As String
   Dim PosNeg As String
   Dim Katego As String

   GanGen = IIf(Cells(1).Value Mod 2 = 0, " Genap ", " Ganjil ")
   PosNeg = IIf(Cells(1).Value < 0, " Negatip", " Positip")

  * Select Case Cells(1).Value**
      Case Is <= 20
         Katego = "A"
      Case Is <= 50
         Katego = "B"
      Case Is <= 125
         Katego = "C"
      Case Is <= 1000
         Katego = "D"
      Case Is > 1000
         Katego = "E"
   End Select*

   Cells(2).Value = "Kategori :" & Katego & GanGen & PosNeg
End Sub

workbook terkait sengaja tidak dilampiran..
Sekiyan dan tarema kasih...

*Semprul..Ki!*




2012/3/21 <cuma.mi...@gmail.com>

> **
>
> dear be-exceler,
> saya sedang belajar menggantikan fungsi IF di macro digantikan dengan
> Select Case,
> sudah googling tp masih belum ketemu yang dengan bnyk parameternya.
>
> mohon berkenan mengajari saya lg atau mungkin ada link yang bisa saya
> pelajari.
>
> misal :
> KolA = Range("A1").Value
> kolB = Range("B1").Value
> kolC = left(Range("C1").Value, 2)
> If kolA = "01" And kolB = "0" And kolC = "AS" Then
> Range("D1").Value = "belajar macro"
> Else
> Range("D1").Value = "belajar select case"
> End If
>
> bagaimana men-transformnya menjadi Select Case ?
>
> terima kasih sebelumnya.
>
>

Kirim email ke