Untuk kasus Anda ini, coba pelajari fungsi InStr milik VB daripada menggunakan methods milik WorksheetFunction
Wassalam, Kid. 2014-10-10 23:44 GMT+11:00 lkm jktind [email protected] [belajar-excel] < [email protected]>: > > > Pak Kid. > > file nya ada beberapa macam . > Ringkasan Saham(10 Oktober 2014).xls > OHLC-2014-08-15.xls > > saya hendak mengambil tgl nya . > > Dim bResult As Boolean ' sebelum nya saya pakai variant, > long dll nga bisa juga > path = ActiveWorkbook.path > flnm = ActiveWorkbook.Name > > With Application.WorksheetFunction > > If bResult = IsError(.Find("(", flnm, 1)) Then > MsgBox "berhasil" > ElseIf bResult = IsError(.Find("-", flnm, 1)) Then > MsgBox "berhasil 1" > End If > > End With > > disitu saya gagal terus . > > Karena nga bisa jadinya seperti ini : > > With Application.WorksheetFunction > > On Error GoTo Pesan1 > If bResult = IsError(.Find("(", flnm, 1)) Then > MsgBox "berhasil 1" > End If > > Pesan1: > On Error GoTo Pesan2 > If bResult = IsError(.Find("-", flnm, 1)) Then > MsgBox "berhasil 2" > End If > Pesan2: > End With > > > > Salam > > Lukman > > > > > 2014-10-10 16:58 GMT+07:00 'Mr. Kid' [email protected] [belajar-excel] < > [email protected]>: > > >> >> Hai Lukman, >> >> Untuk formula sederhana seperti contoh tersebut, biasanya dibiarkan >> dipasang dalam cells saja. Menghitung dengan perintah VBA jauh lebih lambat >> dibanding dibiarkan berada dalam cells dan lebih ribet mengubah-ubahnya. >> Hasil dari kalkulasi formula dalam cell yang digunakan oleh VBA. Metode ini >> jauh lebih efisien untuk berbagai jumlah record data yang akan diproses. >> Terkadang muncul ketidak efisienan ketika ada formula proses yang tidak >> sederhana atau menggunakan fungsi volatile dalam formula. >> >> otherwise... >> Ketika ingin semuanya di-VBA-ken, banyak pilihan dalam memanfaatkan >> formula melalui VBA. >> Antara lain : =ISERROR(MATCH("Ticker";A1:K1;0)) >> 1. WorksheetFunction : >> dim bResult as boolean >> with application.worksheetfunction >> bresult=.iserror( .match( "Ticker" , A1:K1 ,0 ) ) >> end with >> >> 2. Evaluate : >> dim bResult as boolean >> bresult =evaluate( "=ISERROR(MATCH(""Ticker"";A1:K1;0))" ) >> >> 3. Pasang formula ke cell lalu di values >> application.calculation=xlcalculationautomatic >> with sheets("nama sheet hasil").range("alamat cell hasil") >> .formula="=ISERROR(MATCH(""Ticker"";A1:K1;0))" >> .value=.value >> end with >> >> 4. Loop (jika data yang diproses sedikit [kurang dari 50K loop], akan >> lebih cepat dari 3 cara di atas) >> dim lCells as long, bResult as boolean >> with range("a1:k1") >> for lcells=1 to .cells.count >> if .cells( lcells ).value<>"Ticker" then >> bresult=true >> exit for >> endif >> next lcells >> end with >> >> Wassalam, >> Kid. >> >> >> >> On Fri, Oct 10, 2014 at 3:54 PM, lkm jktind [email protected] >> [belajar-excel] <[email protected]> wrote: >> >>> >>> >>> Tanya : >>> >>> Kalau Di worksheet : >>> =ISERROR(MATCH("Ticker";A1:K1;0)) >>> =ISERROR(MATCH("Low";A1:K1;0)) >>> =ISERROR(FIND("(";C14;1)) >>> =ISERROR(FIND("H";C14;1)) >>> >>> Kalau di VBA harus pakai apa ? >>> >>> Salam >>> >>> Lukman >>> >>> >> > >

