This is featured post 1 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation test link ullamco laboris nisi ut aliquip ex ea commodo consequat.

This is featured post 2 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation test link ullamco laboris nisi ut aliquip ex ea commodo consequat.

This is featured post 3 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation test link ullamco laboris nisi ut aliquip ex ea commodo consequat.

This is featured post 4 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation test link ullamco laboris nisi ut aliquip ex ea commodo consequat.

This is featured post 5 title

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation test link ullamco laboris nisi ut aliquip ex ea commodo consequat.

Membuat Slug, URL yang Sedap Dipandang

0 komentar

Situs Silsilah Keluarga yang saya kelola sedikit demi sedikit mulai berkembang. Terima kasih untuk para akang, ayi, dan palawargi yang satu demi satu menghubungi saya ingin ikut berkontribusi. Tentunya dengan semakin banyaknya kontributor, data silsilah keluarga kami akan semakin bertambah, lebih lengkap, dan lebih akurat.
Beberapa hal saya lakukan di situs Silsilah Keluarga ini untuk kenyamanan dan kemudahan para pengguna ataupun pengunjung. Salah satunya adalah slug. Ini adalah istilah yang sering kali dipakai untuk menamai URL yang ramah dan gampang dibaca.
Misalnya di blog ini. Alih-alih memiliki URL yang sulit diingat seperti http://priatna.or.id/?p=276 untuk sebuah artikel yang berjudul Saya Keren Banget Deh1, blog ini menampilkan, misalnya, http://priatna.or.id/saya-keren-banget-deh untuk artikel yang sama. Mesin WordPress sudah otomatis membuat slug dari judul artikel yang Anda buat dan tentu saja boleh diubah kemudian.
Bagaimana membuat itu terjadi di situs Silsilah Keluarga?

Menambah Ruas Slug

Selama ini, URL yang muncul ketika memunculkan data seorang anggota keluarga adalah seperti ini silsilah/people.php?person=ID. ID adalah nomor unik yang merujuk spesifik ke data orang tertentu. Tentunya akan lebih manis bila URL-nya dapat tampil seperti ini misalnya: silsilah/person/nama-orang. Lebih mudah diingat dan, konon, lebih ramah terhadap mesin pencari.
Hal pertama yang saya lakukan adalah membuat satu ruas khusus yang memuat informasi slug di tabel data saya. Untuk kasus saya, saya menyimpan data nama, alamat, tempat lahir, tanggal lahir, dan lain-lain di dalam sebuah tabel bernama people. Ke dalam tabel inilah saya tambahkan satu ruas lagi: slug.
Isi ruas slug saya bangun dari ruas name yang berisi nama, dengan menetapkan aturan: setiap spasi diganti dengan tanda hubung dan semua huruf kapital harus diubah menjadi huruf kecil.
Saya jalankan perintah berikut di mysql2:
UPDATE `people` SET slug = REPLACE(LCASE(name), ' ', '-');
Lalu perintah ini untuk membuang tanda titik.
UPDATE `people` SET slug = REPLACE(LCASE(slug), '. ', '');
Ruas slug kini berisi utas (record) seperti “arief-heryana”, “muhammad-iksir-abiyan”, dan lain-lain. Karena nantinya akan dipakai untuk merujuk ke data yang spesifik, ruas ini tentu saja harus unik. Di data yang saya miliki, ada beberapa nama yang sama sehingga slug-nya pun sama. Untung saja kasus ini tidak banyak sehingga saya bisa lakukan pengunikan secara manual: tambahkan “-1″, “-2″, dan seterusnya di belakang slug identik berikutnya.
Kemudian saya harus mengubah perujuk untuk menampilkan data orang, yang tadinya berdasarkan ID, sekarang harus berdasarkan slug. Jadi, kode permintaan pada URL saya ubah dari silsilah/people.php?person=ID menjadi silsilah/people.php?person=slug. Ini artinya saya harus pula mengubah beberapa baris kode di hampir semua berkas php saya3.

.htaccess

Setelah data orang dapat terpanggil dengan benar menggunakan perujuk slug, saatnya mengeluarkan senjata berikutnya: berkas .htaccess. Berkas ini digunakan oleh server Apache untuk mengatur dan merekayasa permintaan terhadap sebuah direktori di suatu situs web.
Dalam kasus saya, agar pengunjung situs dapat menggunakan alamat silsilah/person/ini-nama-saya, alih-alih silsilah/people.php?person=ini-nama-saya untuk mengakses data seseorang, saya membuat satu berkas .htaccess4 yang disimpan di folder silsilah. Isinya kurang lebih ini:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /silsilah/
RewriteRule ^person/(.+)$ /silsilah/people.php?person=$1 [NC]
Baris di atas akan otomatis mengantar setiap permintaan terhadap http://priatna.or.id/silsilah/person/nama-orang ke http://priatna.or.id/silsilah/people.php?person=nama-orang tanpa disadari oleh pengunjung.
Sudah selesaikah? Belum! Sedikit lagi.

Slug Harus Unik dan Sederhana

Seperti sempat disinggung sebelumnya, ruas slug dibuat untuk mengidentifikasi data individu anggota keluarga—karenanya dia harus unik. Selain unik, slug juga harus sederhana. Saya ingin, hanya karakter abjad dan tanda hubung yang diperkenankan. Misalnya saja, slug untuk nama Rihhadatul ‘Aisyi akan berisi rihhadatul-aisyi tanpa tanda petik.
Bagaimana menjaga keunikan dan kesederhanaan ini?
Membangun slug dapat diatur dengan beberapa baris kode php berikut:
$slug = strtolower($name);
$slug = ereg_replace('([[:space:]]|-)+', '-', $slug);
$slug = ereg_replace('([^a-z0-9-]|-+$|^-+)', '', $slug);
Variabel $name berisi nama orang.
Baris pertama akan mengambil nama orang yang akan dibuatkan slug dan mengubah semua karakternya menjadi huruf kecil. Baris kedua akan mengubah spasi menjadi tanda hubung. Bila ada spasi atau tanda hubung ganda, dia pun akan diubah menjadi tanda hubung. Di baris ketiga, ada 3 jenis yang akan dibuang: semua karakter selain huruf, angka, dan tanda hubung; tanda hubung di awal; dan tanda hubung di akhir.
Setelah mendapatkan slug, saya harus menguji apakah slug ini unik? Bila ternyata sama dengan slug yang sudah ada, di belakang slug orang tersebut akan ditambahi “-1″ atau “-2″ tergantung banyaknya slug yang identik. Baris kodenya kira-kira seperti ini.
$query = "SELECT count(*) AS number FROM people WHERE slug = '".$slug."' OR slug REGEXP '^".$slug."-[0-9]'";
$result = mysql_query($query);
while ($row = mysql_fetch_array($result))
    $total = $row["number"];
if ($total > 0)
    $slug = $slug."-".$total;
Baris-baris kode di atas akan memastikan slug yang dibuat adalah unik untuk setiap individu. Jika ada 3 nama Dadang, slug masing-masing adalah dadang, dadang-1, dan dadang-2.
Ketika ada pengguna yang memasukkan data anggota keluarga, ruas untuk slug tidak saya ditampilkan. Isi ruas ini akan otomatis dibangun dari nama anggota keluarga yang dimasukkan. Tapi ketika pengguna menyunting data seorang anggota keluarga yang sudah ada, isi ruas slug akan ditampilkan dan boleh diubah. Jika slug muhammad-haikal-ali-akbar-darul-haq dirasa terlalu panjang, pengguna dapat mengubahnya menjadi lebih ringkas seperti haikal-ali-akbar, misalnya. Setelah perubahan, slug ini akan tetap merujuk pada nama yang sama.
Selesai sudah. Mudah-mudahan tidak banyak bugs yang muncul akibat perubahahan ini. Dan kalau ada, saya akan senang jika diberi tahu.

Macro Excel Pengganti VLookup

0 komentar

Untuk mencari data di sebuah tabel di dalam worksheet, Excel menyediakan beberapa fungsi. Kita dapat menggunakan fungsi VLookup, HLookup, atau fungsi Index yang sering kali dikombinasikan dengan fungsi Match.
Misalnya, Anda memiliki sebuah tabel yang berisi informasi siswa di sebuah sekolah. Ada 6 kolom di sana. Kolom pertama berisi NISN, kolom kedua berisi nomor induk, selanjutnya adalah nama, kemudian tempat lahir, tanggal lahir, dan alamat.
Lalu di sheet lain pada file yang sama, sel A4 sudah berisi nomor induk salah seorang siswa. Anda ingin mengisi sel B4 dengan nama siswanya, sel C4 berisi tanggal lahir, dan sel D4 berisi NISN. Bagaimana caranya? (Perhatikan bahwa Nomor Induk pada tabel pertama tidak terurut.)
Untuk memudahkan, Anda dapat memberi beberapa label pada tabel tersebut. Pada sheet pertama, sorotlah range A2:F11, lalu klik Insert > Name > Define…. Ketikkan “tabel_siswa” (tanpa tanda petik) pada ruas Names in workbook, lalu klik tombol OK. Dengan demikian, sekarang “tabel_siswa” akan mengacu pada range A2:F11. Ulangi hal yang sama untuk range B2:F11 (beri nama “data_siswa”), dan “nomor_induk” untuk range B2:B11. Catatan: dari tiga label yang kita buat, tidak semuanya kita perlukan secara bersamaan. Tergantung metode mana di bawah ini yang akan Anda pakai.

Fungsi VLookup, Index, dan Match

Kembali ke sheet berikutnya (gambar kedua), kita akan mengisi nilai di sel B4, C4, dan D4 dengan mengacu pada data yang telah tersedia di sel A4. Dengan fungsi standar Excel, setidaknya ada dua cara yang dapat kita gunakan.
Cara pertama adalah dengan menggunakan fungsi VLookup. Tulislah di sel B4 formula ini: =VLOOKUP(A4,data_siswa,2,FALSE). Argumen FALSE kita pakai karena kolom Nomor Induk tidak terurut. Sementara itu, nilai sel C4 dapat diisi dengan menulis formula =VLOOKUP(A4,data_siswa,4,FALSE).
Sekarang, bagaimana mengisi sel D4? Fungsi VLookup tidak dapat melakukan ini karena data acuan kita adalah kolom Nomor Induk, dan VLookup hanya bisa mengindeks data pada kolom di sebelah kanan kolom acuan. Padahal data NISN yang kita butuhkan berada di sebelah kiri kolom acuan kita.
Cara kedua adalah dengan fungsi Index yang akan kita kombinasikan dengan Match. Di sel B4, Anda bisa menulis ini: =INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),3). Nilai sel C4 adalah =INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),5). Nilai sel D4? Tentu saja ini: =INDEX(tabel_siswa,MATCH(A4,nomor_induk,FALSE),1).
Dengan fungsi Index, Anda bisa mengisi semua kolom.

Menulis Makro

Anda bisa juga membuat fungsi sendiri dengan membuat makro. Misalnya, dengan hanya mengetikkan =Siswa(n,m), Anda dapat memperoleh data yang diinginkan.
Tulislah kode makro berikut ini di bagian Module. (Anda yang belum tahu bagaimana caranya, bisa membaca petunjuk singkatnya pada tulisan lain di blog ini.
Function Siswa(ByVal NIS, Order)
 
    Check = WorksheetFunction.CountIf(Range("nomor_induk"), NIS)
 
    If Check = 0 Then
        Siswa = "Tidak ada"
    ElseIf Check = 1 Then
        With Range("nomor_induk")
            Siswa = .Find(What:=NIS, LookIn:=xlValues, LookAt:=xlWhole, _
            SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=False).Offset(0, Order)
        End With
    Else: Siswa = "Data lebih dari satu"
    End If
 
End Function
Dengan fungsi yang kita buat ini, kita dapat mengisi sel B4 dengan =Siswa(A4,1). Sel C4 berisi =Siswa(A4,3), dan sel D4 berisi =Siswa(A4,-1).
Dari beberapa metode di atas, Anda bisa memilih salah satu yang sesuai dengan kebutuhan Anda.

Use Form

0 komentar

Di awal tutorial ini penulis telah menyebutkan bahwa WorkSheet (demikian juga dengan WorkBook) merupakan sebuah obyek dalam Ms Excell. Seperti kita ketahui, Visual Basic merupakan bahasa pemograman yang berorientasi obyek.
Pada bab-bab sebelumya sebenarnya kita telah membentuk sebuah obyek bernama "Module1" yang dapat dipanggil dengan menekan Ctrl+q, dan memberinya prosedur bernama "coba".
Perhatikan ketika kita mengetik "Module1", kemudian mengetik "." Maka akan muncul tampilan seperti diatas. Sebuah kotak dengan sebuah gambar berwarna hijau dengan tulisan "coba".
Pada penjelasan berikut, kita akan membuat prosedur-prosedur buatan kita sendiri pada Worksheet dan Workbook. Mengapa? Karena kode-kode program dalam prosedur yang kita buat di sebuah Worksheet dan Workbook tertentu, hanya akan bekerja pada Worksheet atau Workbook tersebut. Sedang prosedur yang tertulis pada Modules, bekerja pada Worksheet dalam Worbook yang aktif.
Sebagai contoh ketikan kode ini dalam prosedur Sub Coba() dalam Module 1:
Range("A1").Value= "coba"
lalu buka contoh.xls-sheet1, jalankan program,
buka contoh.xls-Sheet2, jalankan program,
kemudian sheet3,
Kemudian buat sebuah Workbook baru,
Pada Workbook baru, bernama Book1 ini, buka Sheet1, jalankan program,
Bila Anda melanjutkan pada book1.xls-Sheet2 dan Sheet3, program yang kita buat pada contoh.xls-Module1 akan dikerjakan pada setiap Worksheet yang aktif, walapun Worksheet tersebut berada pada Worbook lain.
Hal ini akan merepotkan bila Anda hanya ingin program VBE yang dibuat bekerja pada Worbook tertentu, sedang dalam pekerjaan Anda sehari-hari Anda harus membuka banyak Workbook.

Pemograman Sheet

Untuk memulai, masuklah ke dalam Sheet1 dengan cara double klik pada windows project, tampilan berikut akan muncul ;
Setelah itu buatlah sebuah prosedur bernama lembar1,
lalu isikan kode berikut;
pergi ke Module1, dan isikan kode berikut
Kembali ke Ms. Excell, buka Sheet1, jalankan program dengan menekan Ctrl + q , hasilnya adalah ;
Hapus kata "lembar1" di Sheet1, kemudian buka Sheet2, kemudian tekan Cttrl + q, dan hasilnya adalah
range A1 tidak terisi apapun pada Sheet2, bukalah Sheet1 dan Anda akan mendapatkan bahwa pada range A1 terdapat kata "lembar1".

Membuat Shortkey untuk Program pada Sheet

Untuk membuat Shortcut key dari program yang telah kita buat, maka tekan Alt + F8, atau menggunakan menu Tools—Macro—Macros
akan tampil
sorot sheet1.lembar, tekan tombol Option,
pada isian Shorcut Key, isikan huruf w.
Kembali ke Excell, dan tekan Ctrl + w, lihat apa yang terjadi.

Menyisipkan Control Object pada WorkSheet

Seperti VB6, pada VBE terdapat pula obyek-obyek kontrol, seperti Command Button, Text Box, Option Button, Label, dan sebagainya. Tetapi, tidak semua kontrol yang ada di VB6 terdapat di VBA Excel.
Pertama-tama kita perlu menghidupkan Control Toolbox, dimana terdapat kontrol-kontrol yang kita perlukan. Untuk itu arahkan kursor ke menu View-Toolbars-Control Toolbox seperti gambar dibawah,
kemudian tekan dan akan tampil:
Tarik Box tersebut ke arah bawah agar tidak menghalangi WorkSheet,
Untuk menyisipkan kontrol dan merubah-rubah propertinya, maka kita perlu menghidupkan Design Mode.
tekan gambar segitiga yang memiliki nama Design Mode, sehingga gambar tersebut terlihat terang
sebagai contoh kita akan menyisipkan Command Button di Sheet1,
tekan Icon Command Button pada ToolBox,
lalu kursor akan berubah menjadai tanda "+" , gunakan kursor untuk membentuk sebuah Command Button dengan cara klik kiri pada mouse.
untuk memasukan kode maka double- clik kiri mouse pada Command Button sehinnga Visual Basic Editor muncul
masukkan kode yang diinginkan ke dalam
Private Sub CommandButton1_Click()

End Sub

CommandButton1_Click berarti program akan dijalankan pada saat Command Button ditekan. Seperti terlihat bahwa prosedur ini terdapat di dalam Sheet1, WorkSheet dimana Command Button disisipkan.
Berikut adalah salah satu contoh program
kembali ke Excel dan maitkan Design Mode dengan cara menekannya, sehingga tampilannya tidak terang lagi,
lalu tekan Command Button, maka akan tampil :
Kita dapat mengakses properti Command Button, dengan cara menyalakan kembali Design Mode lalu klik kanan Command Button,
tekan Properties maka akan tampil,
di sisi sebelah kiri akan tampil Windows Properties.
Kita dapat merubah tampilan (Caption) pada Command Button dengan cara merubah isian Caption di Properties,
atau dengan mengedit Command Button,
bila ditekan, akan tampil
lalu rubahalah Caption-nya,

Menggunakan UserForm

Untuk menggunakan UserForm, pertama sisipkan dahulu obyek ini kedalam project kita.
tampilan berikut akan muncul
selanjutnya Anda dapat melakukan langkah-langkah pemograman seperti di VB6.
Pada contoh berikut kita akan menyisipakan sebuah CommandButton dan sebuah TextBox ke dalam form kita. Isi dari sebuah range (kita pilih range A1) di salah satu WorkSheet (pada contoh ini kita pilih Sheet1) akan sama dengan isi TextBox ketika CommandButton ditekan.
Pertama-tama kita sisipkan sebuah CommandButton dan TextBox pada UserForm,
lalu klik dua kali CommandButton, hingga tampilan berikut muncul
isikan kode berikut

Range("A1").Value = TextBox1.Value




Selanjutnya kembali ke Sheet1 (pada Visual Basi Editor), isikan kode beirkut di Prosedur "lembar1",

UserForm1.Show

Kode di atas memerintahkan agar UserForm1 muncul
kembali ke Excell, dan tekan Ctrl+w untuk menjalankan Prosedur "lembar1".
isi TextBox dengan kata "sudah" lalu tekan CommandButton1,
Sebagai catatan, karena UserForm muncul maka Anda tidak dapat menggunakan WorkSheet pada Excel. Bila Anda menginginkan agar, bisa beralih ke WorkSheet, maka kode berikut dapat digunakan (hanya bekerja pada Excell 2000 ke atas).

UserForm1.Show vbModeless

Bila program kembali dijalankan maka Anda dapat beralih dari UserForm ke WorkSheet.

Mengendalikan Range

0 komentar


Mengendalikan Range merupakan hal yang penting dalam pemograman VBE. Mari kita mulai, pertama buatlah sebuah file contoh.xls. Kemudian buatlah sebuah makro dengan cara Record New Maro,

beri nama macro tersebut dengan nama Coba, dan shortkey tombol q di keyboard Anda.

ketikan kata coba pada range A1

lalu Stop Recording Macro

Lihat hasil pencatatan pada Visual Basic Editor Excell Anda,

kode Macros akan tertulis pada module1,

Range("A1").Select

Merupakan perintah pada VB Excell untuk memilih range A1, bila “A1” diubah menjadi “A4” maka kata “coba” akan dituliskan pada range A4.
ActiveCell.FormulaR1C1 = "coba"
Berarti pada sel aktif yang telah dipilih (select) rumus (Formula) “coba” akan dituliskan. Activecell sendiri menunjuk pada sel dimana kursor aktif.


Rangkaian kode di atas dapat disederhanakan dengan kode seperti berikut ;

bila dijalankan, maka kode ini akan menghasilkan yang sama dengan sebelumnya.

Menggunakan Range dengan Cell

Kita dapat membuat sebuah range pada Excell sebagai “titik pusat” lalu dengan bantuan Cells(Rowindex, Columnlindex)., kita dapat menempatkan sebuah nilai atau rumus di sekitar Range yang menjadi pusat. Sebagai contoh tuliskan kode ini pada Sub Coba()
Range("D5").Cells(1, 1).Value = "pusat"
Range("D5").Cells(0, 1).Value = "atas"
Range("D5").Cells(2, 1).Value = "bawah"
Range("D5").Cells(1, 0).Value = "kanan"
Range("D5").Cells(1, 2).Value = "kiri"

jalankan program, maka hasilnya akan seperti demikian;

dapat dilihat Range(“D5”).Cells(1,1) adalah Range D5 yang menjadi pusat.
Bila Range tidak disebutkan maka secara default , Range yang menjadi titik pusat adalah Range A1. Anda harus berhati-hati ketika memilih range-range yang berada di tepi, seperti A1, A2, B1, C1, dst. Sebab tidak ada lagi range di atas atau di tepi kanan range-range tersebut.


Bila kita menginginkan sel yang menjadi titik pusat adalah sel dimana kursor aktif, maka kode berikut dapat digunakan
ActiveCell.Offset(0, 0).Value = "pusat"
ActiveCell.Offset(0, 1).Value = "kiri"
ActiveCell.Offset(0, -1).Value = "kanan"
ActiveCell.Offset(1, 0).Value = "bawah"
ActiveCell.Offset(-1, 0).Value = "atas"

buka Sheet1, pilih Range D5

lalu tekan Ctrl +q, maka akan menghasilkan

kemudian pilih range H15, tekan Ctrl+q maka akan dihasilkan,

Selain dengan kode diatas, terdapat cara lain

bila dijalankan maka hasil yang sama akan didapatkan.
Menunjuk sel pada worksheet tertentu
Karena ditulis di module maka kode-kode diatas bekerja pada Worksheet yang aktif. Artinya bila Sheet1 yang sedang tebuka maka program aka dijalankan pada Sheet1. Bagaimana bila kita menginginkan agar range yang ditunjuk berada di dalam sheet tertentu. Caranya cukup dengan menuliskan nama worksheet di depan range, sebagai contoh:
Sheet1.Range(“A1”).value=”oke”
Akan mengacu pada range A1 pada Worksheet Sheet1, bila kita menginginkan agar range A1 pada Sheet2 maka ganti kode sebelumnya dengan:
Sheet2.Range(“A1”).value=”oke”
Cara penulisan lain juga dapat dilakukan, contohnya:
Set Pesan = Sheets("sheet3").Range("A1")
Set Pesan = Sheets(2).Range("A1")


Multiple Range

Kita sudah mempelajari bagaimana menujuk sebuah range tunggal sebagai sasaran pemograman. Sekarang bagaimana bila kita menginginkan multiple range.
Range (“A1:C3”).value = ”oke”
Range(“A1”,”D4”).value = “oke2”
Kode-kode di atas menunjuk pada multiple range. Pada kode pertama yang ditunjuk adalah range A1 sampai C3, sedanga yang kedua adalah A1 sampai D4.

Range Bernama

Bagi Anda yang sering menggunakan Excel, mungkin sering memberi nama pada sebuah range untuk mempermudah pekerjaan. Pertanyaan dapatkah menunjuk range bernama tersebut dalam VB Excel ? jawabannya, DAPAT!!
Misalkan Anda memiliki sebuah range yang bernama “sel”, maka range ini dapat ditunjuk dengan kode Range (“sel”), sebagai contoh:
Range (“sel”).value = ”ini sel”

Membuat Sebuah Variabel dari Range

Membentuk sebuah variabel dari range sangatlah mudah pada VBE. Tujuannya agar mempermudah dalam pemograman. Pertama kita harus membuat dimensinya terlebih dahulu, caranya dengan menuliskan kode seperti ini:
Dim Pesan As Range
Kemudian kita set variabel tersebut, sesuai dengan range yang kita inginkan ;
Set Pesan = Range("A1")
Atau
Set Pesan = Range("A1").Cells(1, 2)
atau
Set Pesan = Sheet1.Range("A1")
atau
Set Pesan = Sheets("Sheet3").Range("A1")
Kemudian kita dapat melakukan operasi range pada variabel yang telah dibentuk. Sebagai contoh
Dim Pesan As Range
Set Pesan = Sheet1.Range("A1")
Pesan.Value = "pesan nih"
Pesan(1, 2).Value = "pesan kedua"
Range A1 pada Sheet1 akan tertulis “pesan nih” dan range A2 akan tertulis “pesan kedua”. Sebab Pesan(1,2) sama dengan Sheet1.Range(“A1”).Cells(1,2).
Sebenarnya kita dapat membentuk variabel tanpa membuat dimensinya terlebih dahulu, tetapi cara ini idak dianjurkan karena memboroskan memori. Caranya adalah seperti demikian:
Set Pesan = Sheet1.Range("A1")
Pada kasus ini perintah-perintah berikut bisa bekerja,
Pesan.Value = "pesan nih"
Pesan(1, 2).Value = "pesan kedua"