Tampilkan postingan dengan label CODE MAKRO. Tampilkan semua postingan
Tampilkan postingan dengan label CODE MAKRO. Tampilkan semua postingan

Jumat, 27 September 2013

Mengenal IF dan Select Case Makro

If dan Select Case

If dan Select Case adalah sebuah pernyataan bersyarat. If dan Select Case adalah merupakan suatu perintah untuk mengambil suatu keputusan terhadap sebuah atau beberapa kondisi. Kondisi adalah ungkapan untuk mengevaluasi sebuah pernyataan apakah bernilai benar atau salah. Sekarang mari kita bahas satu persatu, dengan pengelompokan pemakaian sebagai berikut"
  • If...Then...Else
  • If...Then...ElseIf
  • Select case

1. If...Then...Else
Dalam bahasa Indonesianya adalah Jika...Maka....Selain Itu
Pola:
If [kondisi1] Then
[statement1]
Else
[statement2]
End if
Analogi:
Jika [Nilai=A] Maka
[Anda Lulus]
Selain Itu===>Maksudnya selain "A"
[Anda Tidak Lulus]
Contoh Macro nya:
Sub Test1()
If Range ("A1").Value = "A" Then
MsgBox "Anda Lulus"
Else
MsgBox "Anda Tidak Lulus"
End If
End Sub
Untuk melihat hasilnya sekarang anda ketik "A" dan "B" di sel A1, lalu jalankan Macro Test1. Apa hasilnya?? Jika anda berhasil maka hasilnya akan seperti gambar berikut ini:

2. If...Then...ElseIf
Dalam bahasa Indonesianya adalah Jika...Maka....Selain Itu Jika...Maka...Selain Itu..., bingung ya. Lebih jelasnya lihat penjelasan berikut

Pola:
If [kondisi1] Then
[statement1]
ElseIf
[statement2]
Else
[statement3]
End if
Analogi:
Jika [Nilai=A] Maka
[Anda Lulus Istimewa]
Selain Itu Jika
[Nilai = B] Maka
[Anda Lulus]
Selain Itu ==>Maksudnya jika bukan "A" atau "B"
[Anda Tidak Lulus]
Contoh Macronya:
Sub Test2()
If Range ("A1").Value = "A" Then
MsgBox "Anda Lulus Istimewa"
Else
If Range ("A1").Value = "B" Then
MsgBox "Anda Lulus"
Else
MsgBox "Anda Tidak Lulus"
End If
End If
End Sub
Sekarang coba ketik "A","B" dan "C" di sel A1, lalu jalankan macro Test2 ,maka hasilnya untuk "A" akan muncul pesan "Anda Lulus Istimewa", "B" muncul pesan "Anda Lulus", sedangkan "C" akan muncul pesan "Anda Tidak Lulus"
3. Select Case
Perintah Select Case gunanya adalah untuk mempersingkat perintah supaya lebih efisien. Perintah ini mengefisienkan pemakaian ElseIf yang berulang-ulang.Untuk lebih jelasnya, ikuti pembahasan berikut

Pola:
Select Case [ungkapan utama]
Case Is [ungkapan1]
[statement1]
Case Is [ungkapan2]
[statement2]
Case Is [ungkapan3]
[statement3]
Case Is [ungkapan ke...n]
[statement ke...n]
Case Else
[statement x]
End Select
Analogi:
Kejadian terhadap Nilai
Kejadian Nilai A
[Anda Lulus Istimewa]
Kejadian Nilai B
[Anda Lulus Biasa]
Kejadian Nilai C
[Anda Lulus Pas-Pasan]
Kejadian Selain Itu===>Maksudnya selain "A,B,C"
[Anda Tidak Lulus]
Contoh Macro nya:
Sub Test3()
Select Case Range("A1").Value
Case Is = "A"
MsgBox " Anda Lulus Istimewa"
Case Is = "B"
MsgBox "Anda Lulus Biasa"
Case Is = "C"
MsgBox "Anda Lulus Pas-Pasan"
Case Else
MsgBox "Anda Tidak Lulus"
End Select
End Sub
Ketik "A,B,C,D" di sel A1, maka hasilnya akan muncul pesan sesuai dengan yang dikondisikan

Mengenal Makro For...Next

For...Next

Untuk melaksanakan kode secara berulang, maka kita menggunakan suatu struktur pengulangan.Perintah For...Next dipakai untuk pengulangan yang berulang-kali. Perintah For...Next menggunakan variabel counter yang berfungsi untuk menaikkan atau menurunkan sebuah nilai selama perintah berjalan.

Pola:
For Counter = [nilai awal] To [nilai akhir]
[statement]
Next[counter]

Contoh aplikasinya:
Sub Test1()
For i = 1 To 10
Cells( i , 1) = i
Next i
End Sub
Sekarang coba jalankan Macro Test1, hasilnya akan seperti gambar berikut:

i adalalah variabel counter dari 1 sampai 10. Perintah Cells(i , 1) akan mengirim nilai ke kolom pertama (kolom A) dan baris i (dalam hal ini baris 1 sampai 10). Jika Cells(i , 1) diganti dengan Cells(i , 2) maka perintah akan mengirim nilai ke kolom kedua (Kolom B) dan baris 1 sampai 10 dengan nilai yang meningkat. Apakah perintah ini hanya terbatas tiap 1 baris saja?? Ternyata tidak. Perintah For...Next bisa kita gunakan dengan mengatur berapa step pengulangannya. Bagimana caranya??Pertama kita lihat dulu polanya:

Pola:
For Counter = [nilai awal] To [nilai akhir] Step [jumlah step]
[statement]
Next[counter]
Contoh aplikasinya:
Sub Test2()
For i = 1 To 10 Step 2
Cells (i , 1) = i
Next i
End Sub

Perintah For i = 1 To 10 step 2 akan mengirim nilai dengan lompatan 2 yang dimulai dari 1.Maka hasilnya adalah 1,3,5,7,9. Contoh lain dengan menggunakan Step ini adalah sbb:

Contoh aplikasinya:
Sub Test3()
For i = 10 To 1 Step -2
Cells (i , 1) = i
Next i
End Sub
Maka hasilnya akan muncul 2,4,6,8,10
Silahkan berlatih lebih banyak lagi untuk lebih memahami ulasan kali ini. Anda tinggal mencoba mengganti-ganti angka pada contoh kode diatas.
Kurang jelas atau ada pendapat lain?. Anda dapat berkomentar (Gratis koq)

Rumus Menggambungkan Kata Dari Beberapa Kolom Macro

Menambahkan Sebuah Macro


Sebagian besar Macro dirancang dan dikembangkan pada Jendela Kode.Untuk latihan kali ini kita akan membuat suatu prosedur Macro sederhana untuk lebih memperdalam dasar-dasar pengenalan Macro anda
- Buka sheet Excel
- Tekan [Alt-F11] untuk masuk ke Visual Basic Editor
- Klik ganda Sheeet1(Sheet) pada Jendela Project
- Pada jendela kode ketik Sub Test() kemudian Enter
- Maka otomatis kita akan mendapatkan 2 line kode sbb

Sub Test()

End Sub


Note:
- Huruf "S" pada Sub Test otomatis akan muncul huruf besar "S" walaupun anda mengetikkan dengan huruf "s" kecil.Demikian juga untuk kode-kode yang dikenal VBE yang lainnya.Huruf kecil secara otomatis akan berubah menjadi huruf besar.Jadi anda tidak usah repot-repot untuk mengganti huruf awal dengan huruf besar

Sekarang mari kita lanjutkan lagi:
- Tambahkan kode diantara 2 line kode tadi sehingga menjadi seperti ini
Sub Test()
Sheets("Sheet1").Select
Range("C1").Select

Do Until Selection.Offset(0, -2).Value = ""
Selection.Value = Selection.Offset(0, -2).Value & " " & Selection.Offset(0, -1)
Selection.Offset(1, 0).Select
Loop

Range("A1").Select
End Sub

- Untuk lebih mudahnya, Copy paste saja kode diatas ke Jendela kode anda
Keterangan kode:
Kode diatas artinya adalah menggabungkan kata yang terdapat pada kolom A dan kata yang terdapat pada kolom B dan hasil penggabungannya berada di kolom C.Prosedur akan berjalan terus selama ada kata di sel kolom A. Prosedur akan berhenti sampai data terakhir di kolom A

- Tekan [Alt -F11] untuk kembali ke Excel
- Sekarang ketik 5 buah nama di kolom A (Sel A1:A5) dan 5 buah nama di kolom B (Sel B1:B5)
Lihat gambar

- Tekan [Alt-F11] untuk kembali ke Visual Basic Editor
- Jalankan Macro ini dengan cara klik [Run] - [Run/Sub UserForm F5]
- Tekan [Alt -F11] untuk kembali ke Excel dan lihat apa yang terjadi (Lihat Gambar)

- Hasilnya nama di kolom A dan B bergabung di kolom C dengan spasi tentunya.Spasi ini ada sebagai akibat dari kode
Selection.Value = Selection.Offset(0, -2).Value & " " & Selection.Offset(0, -1)
- Sekarang coba ganti kode nya dengan ini:
Selection.Value = Selection.Offset(0, -2).Value & Selection.Offset(0, -1)
Maka hasilnya akan menjadi seperti ini: Penggabungan tanpa spasi


- Kembalikan lagi ke kode awal
- Hapus semua hasil penggabungan (Kolom C) kemudian nama Duma di kolom A (Lihat gambar)


- Kembali ke VBE [Alt - F11] lalu jalankan Macro nya
- Maka hasilnya menjadi seperti ini


Sesuai dengan yang saya tulis diatas tadi, Prosedur akan berhenti sampai data terakhir di kolom A , artinya data tidak boleh LONGKAP

Cukup jelas?

Status Facebook Keren Gokil 100%

KUMPULAN STATUS FB 100% gokil BANYAK LIKE Dalam kepala atau cara berpikir seorang wanita pasti ada kekurangan, akan tetapi di dalam hati...