Fungsi replace dari library Excel alias yang bisa dipakai dalam cell, jika akan digunakan dalam VBA harus menggunakan worksheetfunction. Jika fungsi replace dari VB/VBA nya sendiri, dalam VBA bisa dipakai secara langsung. Jadi fungsi replace dari VBA akan setara dengan fungsi MsgBox atau Dir atau Mid, dst. Penggunaan karakter $ dibelakang nama fungsi adalah untuk memanggil nama fungsi tersebut. Fungsi yang namanya memiliki karakter $ adalah fungsi yang membutuhkan input berupa string atau menghasilkan output berupa string. Contoh fungsi Mid dan Mid$. VBA memiliki kedua fungsi tersebut. Yang lebih dikenal adalah fungsi Mid daripada fungsi Mid$. Jika ditulis Mid( akan tampak bahwa beberapa variabel seperti string dan Mid (nama fungsi) tidak memiliki typedata yang jelas, maka pastilah akan ber-datatype variant. Sedang pada Mid$( akan tampak bahwa variabel string memiliki datatype string dan mid$ (nama fungsi) akan menghasilkan datatype string. Pengerjaan fungsi yang memiliki kejelasan tipedata (baik input atau output) akan lebih cepat dibanding yang variant.
Kadang kala, saking latahnya pake fungsi string (ada $) maka beberapa fungsi yang memang bawaan orok sudah diset bertype string seperti replace, tidak digunakan. Malah lebih memilih yang ada $ seperti replace$. Jadi masalah $ ini adalah pilihan ketika ingin benar-benar pasti bahwa data input maupun output harus disimpan sebagai string tanpa perlu memikirkan lagi fungsi tersebut sudah bawaan oroknya string atau bukan. Wassalam, Kid. 2013/8/2 hendrik karnadi <hendrikkarn...@yahoo.com> > ** > > > Mr Kid, > Ada beberapa Function dalam Worksheet, mis. Transpose, yang harus > didahului dengan WorksheetFunction (ditulis WorksheetFunction.Transpose() > ), sedangkan Replace (contoh Mr. Kid) tidak diahului dengan > WorksheetFunction (pake $ cukup). > > Pertanyaannya: > Waktu nulis VBA di VBE sheet, bagaimana kita mengetahui apakah suatu > Function harus didahului dengan WorksheetFunction atau tidak atau harus > pake $ atau tidak ? > > Terima ksaih. > > Salam, > HK > > > ------------------------------ > *From:* Mr. Kid <mr.nm...@gmail.com> > *To:* BeExcel <belajar-excel@yahoogroups.com> > *Sent:* Thursday, 1 August 2013, 20:32 > *Subject:* Re: [belajar-excel] Fungsi Excel dalam Macro > > > Hai Ahmad, > > Ganti : > Range("D" & lRow) = sht.Range("A2") > dengan > Range("D" & lRow)*.value* = Replace$(sht.Range("A2") , "Laporan > ",vbnullstring) > (sorry, saya masuk aliran yang tidak suka menggunakan default property, > agar tingkat ketertukaran dengan bahasa pemrograman lain bisa lebih tinggi > karena mudah dikonversi ke dalam bahasa pemrograman lain) > > Wassalam, > Kid. > > > > 2013/8/2 Ahmad Syaifullah Lubis <syaiful...@hotmail.com> > > ** > > Mr De Premor & Excellers, > Mohon dibantu ya, > saya ingin belajar langsung praktek dari hasil macro Mr De Premor kirimkan > tempo hari mengenai rekap nama2 workbook. > bagaimana ya cara mempergunakan fungsi excel di dalam macro. > sebagai contoh : Mr De Premor menuliskan dalam macro sbb : Range("D" & > lRow) = sht.Range("A2") -> ini adalah untuk mengisi jenis laporan. Sehingga > hasilnya adalah "Laporan Mandiri". > pertanyaannya : bagaimana caranya agar yang diisi jenis laporan itu > hanyalah nama banknya saja, jadi kata Laporan dibuang. bagaimana caranya > agar fungsi TRIM(RIGHT(D6;LEN(D6)-7)) yang akan membuang kata : "Laporan" > dalam macro tsb. Dengan kata lain saya tidak bisa menggabungkan penulisan > macro dari Range("D" & lRow) = sht.Range("A2") digabungkan dengan funsi > dari TRIM(RIGHT(D6;LEN(D6)-7)) yang mana yang saya tahu fungsi dari > trim(right(len) akan membuang 7 karakter di depannya. > Terima Kasih. > ASL. > > > > > > >