@Mr. Zam,
daripada berurusan dengan error message yang memang harus hati-hati, selama
bisa menggunakan fungsi yang jarang menghasilkan error message.
jadi baris kode untuk hal itu, menjadi 2 baris saja :
strCurrent = OrderTable(EdRecNo, 17)
strCurrent = trim$(mid$(strCurrent, instr(1, strCurrent, ";") +1 ,
len(strCurrent ) +1))
tapi, jika strCurrent (yang jadi strRemark -- hasil proses) akan ditulis ke
cell, tetap gunakan
OrderTable(EdRecNo, 17)=strcurrent
jangan langsung :
OrderTable(EdRecNo, 17) = trim$(mid$(strCurrent, instr(1, strCurrent, ";")
+1 , len(strCurrent ) +1))
@mbak Siti
di xl2007, dengan 1 baris On Error Resume Next bisa (tidak perlu 2).
dari sifat trap error dengan on error, maka baris
i = WorksheetFunction.Find("ada", "di jakarta")
akan dilewati jika menghasilkan error (i tidak akan diperbarui nilainya).
jadi, jika dalam sebuah loop, i akan bernilai hasil proses loop terakhir
yang tidak menghasilkan error.
biasanya, kalau hasil i yang sangat dibutuhkan untuk proses selanjutnya pada
loop tersebut juga, disertai baris pengisi nilai default yang dipakai :
i = WorksheetFunction.Find("ada", "di jakarta")
*if err.number<>0 then
i=2009 'misal jika i hasilnya error, set jadi nilai default,
yaitu butuhnya 2009*
* err.clear*
*end if*
msgbox i
Tapi ndak tahu dengan xl2003 dan sebelumnya.
Kid.
2009/11/12 siti Vi <[email protected]>
>
>
>
> kalau bisa (menghilangkan timbulnya error message)
> terus fungsi itu menghasilkan data apa ?
>
> misal (mohon dicoba di pc pak wahyu)
>
> Sub coba1()
> Dim i As Integer
> On Error Resume Next
> On Error Resume Next
> i = WorksheetFunction.Find("ada", "di jakarta")
> MsgBox i
> End Sub
>
> Sub coba2()
> Dim i As Integer
> ' On Error Resume Next
> i = WorksheetFunction.Find("ada", "berada di jakarta")
> MsgBox i
> End Sub
> pada sat sub coba1 dijalankan
> msgbox menghasilkan apa ??
>
> (sayangnya apa yg dikatakan "BISA mbak" itu codingnya seperti apa
> kok ndak di tulis kemaree..)
>
>
>
> ----- Original Message -----
> *From:* wahyu abdi <[email protected]>
> *To:* [email protected]
> *Sent:* Wednesday, November 11, 2009 7:01 PM
> *Subject:* Re: [belajar-excel] menghindari program berhenti...
>
> Bisa Mbak, saya pakai Excel 2007, dengan cara yang agak aneh "on error
> resume next" nya saya ketik dua baris (mulanya iseng doang, tapi berhasil
> tuh), tadinya satu baris masih error mulu, kenapa ya?
>
> --- On *Wed, 11/11/09, siti Vi <[email protected]>* wrote:
>
>
> From: siti Vi <[email protected]>
> Subject: Re: [belajar-excel] menghindari program berhenti...
> To: [email protected]
> Date: Wednesday, November 11, 2009, 6:22 AM
>
>
>
> *oh bisa to ?*
> (apa sudah di praktekkan ??)
>
> kalau di pc ku, dari dulu worksheetfunction. find jika diaplikasikan di
> vba,
> kalau tidak menemukan substring yg dicari tentu menimbulkan error message
> *walaupun sudah didahului instruksi :
> On Error Resume Next*
>
> atau mungkin pc / excel saya yg tidak standar ya...
>
>
>
> ----- Original Message -----
> From: Puthut Wibowo
> To: belajar-excel@ yahoogroups. com
> Sent: Wednesday, November 11, 2009 5:18 PM
> Subject: Re: [belajar-excel] menghindari program berhenti...
>
>
> *Tambahin :
>
> On Error Resume Next
> *strCurrent = OrderTable(EdRecNo, 17)
> i = Application. WorksheetFunctio n.Find("; ", strCurrent)
> strReplaced =
> Application. WorksheetFunctio n.Replace( Arg1:=strCurrent , Arg2:=1,
> Arg3:=i, Arg4:="")
> TxtRemark = Application. WorksheetFunctio n.Trim(strReplac ed)
>
> ............
>
>
> --- On Wed, 11/11/09, Ahmad Zamroni <ahza...@gmail. com> wrote:
>
> From: Ahmad Zamroni <ahza...@gmail. com>
> Subject: [belajar-excel] menghindari program berhenti...
> To: "belajar-excel" <belajar-excel@ yahoogroups. com>
> Date: Wednesday, November 11, 2009, 2:40 PM
>
> Dear pakar macro,
>
> Gimana caranya menkondisikan baris perintah berikut agar tidak timbul
> error jika dari cell yang aktif tidak ditemukan yang dimaui, baik itu
> karena cell kosong atau tidak ada karakter “;”?
>
> strCurrent = OrderTable(EdRecNo, 17)
> i = Application. WorksheetFunctio n.Find("; ", strCurrent)
> strReplaced =
> Application. WorksheetFunctio n.Replace( Arg1:=strCurrent , Arg2:=1,
> Arg3:=i, Arg4:="")
> TxtRemark = Application. WorksheetFunctio n.Trim(strReplac ed)
>
>
> -zam-
>
>
>
>
>
>