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
>>>
>>>
>>
>  
>

Kirim email ke