(bagian 2 dari 2 tulisan)
About Object Worksheet
di dalam VBA Excel, object Worksheet dapat dirujuk melalui beberapa cara, yaitu melalui object Koleksi worksheet dgn
menyebutkan Nomor Index nya, menyebutkan namanya, menyebutkan CodeName nya, dan juga
melalui property PARENT atas suatu object yg menjadi MEMBER dari sheet tsb.
Contoh nya jika kita sudah punya sebuah CELL TERTENTU
maka CellTertentu.
Dan jika kita lanjutkan CellTertentu.
Text Nama Sheet adalah text yg tampak di TabSheet tiap worksheet.
Worksheet mempunyai banyak properties maupun methods
di keempat UDF tsb diatas kita hanya menggunakan property NAME dan property INDEX
Property Name (ObjectWorksheet.
Memang hanya NAMA-SHEET ini lah yg kita perlukan untuk membantu fungsi lain di worksheet dalam rangka
me-Relatif-kan RUJUKAN CELL pada level antar Sheet. Apa Sebab ??
<> nama Sheet jika kita akses melalui fungsi CELL (di worksheet) walaupun bisa; tetapi cukup memerlukan
teks rumus yg panjang (itu pun baru berhasil bila wokbuk sudah berstatus SAVED)
<> nama sheet selalu diperlukan untuk merujuk cell yg berada di sheet lain.
dan selama ini kita menuliskan nama sheet pada rumus rujukan ke cell di sheet lain hanya dengan dua cara
menuliskan manual, atau mengandalkan penunjukan langsung ke cell dengan MousePointer.
dan menurut pendapatku: keduanya selalu menghasilkan nama yg FIXED, tidak dapat di RELATIFKAN.
Dengan bantuan salah satu UDF di atas, kita dapat meRelatifkan rujukan cell di sheet lain, relatif dlm level antar Sheet !!
( Jangan percaya sebelum mencoba )!
Pengembangan lebih lanjut.
Dengan masih tetap berada di koridor pemikiran yg sama
kita dapat membuat fungsi yg dapat mengenali "NAMA BULAN" yg tertulis di TabSheets
misalnya begini:
anda mempunyai 12 sheet, tiap sheet diberi nama bulan, urutan tempat sheet tidak harus URUT
(tidak harus dari "Jan", "Feb" dst sampai terakhir "Dec" )
tetapi dengan sebuah rumus yg SAMA di tiap sheet; rumus tsb dapat merujuk ke cell tertentu di BULAN SEBELUMNYA
Bagi para clerk di bagian SDM maupun akuntansi, fungsi ini kayaknya cukup "menggiurkan"..
tetapi sayang belum sempat ditulis di workbook yg dilampirkan di bagian 1.
Yaa. Anggap saja sebagai suatu Challenge lah yauw….. Lain kali bila ada sumur di ladang.. boleh kita numpang ber-udf lagi..
------------
Function SheetName(Optional ShtIdx As Integer = 0) As String
' fungsi menebak Nama SheetIni atau Nama Sheet index(urutan) ke ..
' SheetIni = Sheet tempat fungsi dituliskan
If ShtIdx = 0 Then
SheetName = Application.
ElseIf ShtIdx > 0 And ShtIdx <= Worksheets.Count Then
SheetName = Worksheets(ShtIdx)
Else
SheetName = "Err /OutOfRange.
End If
End Function
Function PrevSheetName(
' fungsi menebak NamaSheet SEBELUM (sebelah Kiri) SheetIni
Dim ThisShtIdx As Integer
ThisShtIdx = Application.
PrevSheetName = Worksheets(ThisShtI
End Function
Function NextSheetName(
' fungsi menebak NamaSheet SETELAH (sebelah Kanan) SheetIni
Dim ThisShtIdx As Integer
ThisShtIdx = Application.
NextSheetName = Worksheets(ThisShtI
End Function
Function SheetIndex(Optional ShtName As String = "") As Integer
' fungsi menebak NOMOR Urutan (Index) sheet
Dim sht
If ShtName = "" Then
SheetIndex = Application.
Else
For Each sht In Worksheets
If UCase(sht.Name) = UCase(ShtName) Then
SheetIndex = sht.Index
Exit For
End If
Next sht
End If
End Function
------------
note:
Penggunaan Keyword ActiveSheet (untuk menandai sheet dimana fungsi dituliskan),
bisa menyesatkan. Oleh karena itu kita hindari dan ganti dengan
" Parent of ThisCell " yaitu object worksheet dimana fungsi dituliskan
' ( Application.
' Property ThisCell sendiri adalah adalah merujuk ke Cell dimana Fungsi dituliskan
'------------
' jkt 27 mei 2009
' comments, disclaimer, dsb, dapat ditujukan ke siti
' villager.girl@
sebaiknya dgn melampirkan workbook ini atau mengQuote text Module ini..
'------------
2009/5/29 siti Vi <villager.girl@
>
> (bagian 1 dari 2 tulisan)
>
> anda sering bekerja pada banyak sheet dlm sebuah wokbuk
> anda juga sering merujuk nilai cell di sheet lain (dan sebenarnya ingin secara RELATIF)
> "Rujukan Sheet secara RELATIF" itu gini lho maksodku...
> sheet ke2 merujuk cell di sheet 1, misal cell A1 di Sheet ke 2 (apa pun nama Tab Sheet nya) merujuk ke cell B1 pada sheet ke 1.
> sheet ke3 merujuk cell di sheet 2, misal cell A1 di Sheet ke 3 (apa pun nama Tab Sheet nya) merujuk ke cell B1 pada sheet ke 2.
> sheet ke4 merujuk cell di sheet 3, and so on
> bgmana cara membuat rumus di A1 sekali saja di sheet2, tetapi kalau di copy ke sheet 3
> hasilnya merujuk ke sheet2 bukan sheet1 ??
| Uanggggg... di manakah kau beradaaaa? |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message, melecehkan, tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan winzip jika perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/ |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau... |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html |
+-------------------------------------------------------------------+
| Message lama ada di : |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id] |
| http://www.mail-archive.com/xl-mania@yahoogroups.com |
+-------------------------------------------------------------------+
Change settings via the Web (Yahoo! ID required)
Change settings via email: Switch delivery to Daily Digest | Switch format to Traditional
Visit Your Group | Yahoo! Groups Terms of Use | Unsubscribe
Nenhum comentário:
Postar um comentário