Modul Dan Prosedur

Ditulis Oleh: Dedy E Hutauruk | 05.59 | | 0 komentar »

Modul adalah tempat prosedur diletakkan

Prosedur adalah: Unit kode yang diapit atau terletak diantara statement Sub dan End Sub dan statement Function dan End Function
Contoh 1
Sub Test()
Range ("A1").Value = 20
End Sub
Contoh 2
Function Test()
Range ("A1").Value = 20
End Function
Kedua prosedur di atas jika dijalankan akan sama-sama menghasilkan nilai 20 pada sel A1

Prosedur dalam Visual Basic Application mempunyai 2 lingkup.Yaitu lingkup PRIVATE dan PUBLIC
A. Lingkup PRIVATE
Sebuah prosedur dengan menggunakan lingkup PRIVATE, hanya dapat di akses dan mengakses prosedur lain tetapi hanya dalam satu modul yang sama (lihat gambar-1)


Keempat prosedur diatas berada dalam satu modul yang sama.Yaitu Module1 Jika Test1 kita jalankan maka akan menghasilkan nilai 1 pada sel A1, demikian juga Test2 dan Test3 akan menghasilkan nilai 1 pada sel A2 dan A3.
Bagaimana dengan Test4?
Test4 jika dijalankan akan menjalankan Test2 (Call Test2) yaitu menghasilkan nilai 1 pada sel A2 . Private Sub Test4() akan berfungsi karena yang di akses (dipanggil) yaitu Private Sub Test2() berada dalam satu modul

Note: Agar lebih jelas, gunakan F8 untuk menjalankan prosedur . Lihat postingan Melihat Macro Bekerja Step By Step

- Sekarang tambahkan sebuah modul, dengan cara klik [Insert] lalu klik [Module]
- Di Jendela Kode Module2 Cut Copy kan Test2 yang di Module1 (lihat gambar-2)

Kembali ke jendela kode Module 1
Letakkan kursor di Test4, lalu jalankan prosedur, apa yang terjadi?
Akan muncul pesan ERROR seperti gambar-3, karena Test2 yang di call berada pada modul yang lain (module2)

B. Lingkup PUBLIC
Lingkup PUBLIC adalah kebalikan dari Lingkup PRIVATE. Lingkup PUBLIC dapat diakses dan mengakses prosedur ke semua modul dalam satu Workbook

Kembali ke gambar-2
- Di Module1 =>Private Sub Test4() ganti dengan Public Sub Test4(),
- Di Module2 =>Private Sub Test2() ganti dengan Public Sub Test2(),

Sekarang jalankan prosedur Private Sub Test2, dan lihat hasilnya.Angka 1 akan muncul di sel A2







0 komentar