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 <[email protected]>
> **
>
> 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.
>
>