Yup.
Evaluate adalah sebuah fungsi untuk mengkomputasi ekspresi (formula,rujukan
range [termasuk nama range]) pada sheet aktif. Jadi, untuk formula yang
isinya merujuk ke sheet lain harus menyertakan nama sheet-nya. Evaluate
tidak bisa mengkomputasi rujukan ke workbook lain yang dalam keadaan
tertutup.
Cenderung gunakan methods Evaluate milik worksheet daripada milik
Application dengan cara :
worksheets("nama sheet basis kerja evaluate").Evaluate(ekspresi_evaluate)Wassalam, Kid. 2013/2/19 <[email protected]> > ** > > > > Dear Mr. Kid, > > Kalau dilihat dari rumus dibawah, bisakah saya simpulkan bahwa semua > fungsi2 yang ada di Excel seperti Sum, Average, count, sumif, match, dll, > bisa di jadikan code VBA dengan diawali dengan > > Evaluate ? > > > Trims jawabannya, > Wassalam, > Tio > > > > *"Mr. Kid" <[email protected]>* > Sent by: [email protected] > > 02/18/2013 01:45 PM > Please respond to belajar-excel > > To: [email protected] > cc: > Subject: Re: [belajar-excel] Mengecek isi cell > > > > > Bunyi formula yang diinginkan tertulis di cell adalah : > =Countif(RangeHeader,*"Keterangan"*) > > Karena ada inputan berupa string berbunyi *"Keterangan" *(lengkap beserta > tanpa petik dua), maka setiap tanda petik dua harus menjadi 2 bijik, > menjadi : > =Countif(RangeHeader,*""Keterangan""*) > kemudian lengkapnya menjadi : > range("b1").formula = "=Countif(RangeHeader,*""Keterangan""*)" > > seperti sudah dicontohkan pada posting terdahulu berbunyi : > Evaluate("=countif(b2:e2,""*Kelas*"")") > > Wassalam, > Kid. > > 2013/2/18 <*[email protected]* <[email protected]>> > > > > Terima kasih Mr. Kid, > > Saya coba cara lain, yaitu : > > Range("B2").Select > 'Range(Selection, Selection.End(xlToRight)).Select > Range(Selection, Selection.End(xlToRight)).Name = "RangeHeader" > Range("B1").Select > Range("B1").FormulaR1C1 = "=Countif(RangeHeader,*"Keterangan"*)" > If Range("B1").Value = 1 Then > MsgBox ("Ada") > Else > MsgBox ("Tidak ada") > End If > > Kok di bagian "Keterangan" error yah, yaitu warning msg nya : needs end > statement, kenapa yah ??? > > > Tapi kalau apostrope nya di buang tidak error, tapi khan seharusnya pakai > apostrope > > Terima kasih, > Wassalam, > Tio > > > *"Mr. Kid" <**[email protected]* <[email protected]>*>* > Sent by: *[email protected]* <[email protected]> > > 02/15/2013 08:29 PM > Please respond to belajar-excel > > To: > *[email protected]*<[email protected]> > cc: > Subject: Re: [belajar-excel] Mengecek isi cell > > > > > > Hai Tio, > > Bagaimana jika tidak menggunakan For each Next ? > Kira-kira bunyinya : > Dim sMsg As String > > If Evaluate("=countif(b2:e2,""*Kelas*"")") = 0 Then > sMsg = "- Tidak ada kolom bernama Kelas" & vbCrLf > End If > If Evaluate("=countif(b2:e2,""*Keterangan*"")") = 0 Then > sMsg = sMsg & "- Tidak ada kolom bernama Keterangan" & vbCrLf > End If > If LenB(sMsg) <> 0 Then > MsgBox "Data kurang tepat karena :" & vbCrLf & sMsg, vbExclamation > Else > MsgBox "Data valid.", vbInformation > End If > > Jika tetap ingin pakai For Each Next, bisa disusun dengan banyak cara dan > salah satunya adalah : > Dim rng As Range > Dim vKolom As Variant > Dim bNotFound As Boolean > Dim sMsg As String > > sMsg = vbNullString > For Each vKolom In Array("Kelas", "Keterangan") > bNotFound = True > For Each rng In Range("b2:e2") > If InStr(LCase$(rng.Value), LCase$(vKolom)) <> 0 Then > bNotFound = False > Exit For > End If > Next rng > If bNotFound Then > sMsg = sMsg & "- Tidak ada kolom bernama " & vKolom & vbCrLf > End If > Next vKolom > If LenB(sMsg) <> 0 Then > MsgBox "Data tidak valid karena :" & vbCrLf & sMsg, vbExclamation > Else > MsgBox "Data valid.", vbInformation > End If > > Selain kedua cara diatas, masih ada banyak cara lain, seperti penggunaan > methods find maupun worksheet function countif. > Memanfaatkan cell bantu berformula juga bisa. > > Wassalam, > Kid. > > 2013/2/15 <*[email protected]* <[email protected]>> > > > > > Dear Be-Exceller, > > Saya punya 4 kolom yang isinya Nama , Kelas, Umur, dan Keterangan. Saya > ingin ada button untuk mengecek apakah nama cell dari ke2 kolom dari ke-4 > kolom itu isinya adalah benar yaitu yang > > isi cellnya adalah Kelas dan Keterangan. Saya coba pakai For Each..Next, > tapi gak berhasil. Karena kadang User tidak menulis nama cell secara benar > yaitu yang isinya Kelas dan Keterangan. > > Kalau tidak ada cell yang isinya Kelas maka msgbox "Tidak ada cell yang > bernama Kelas", dan juga kalau tidak ada cell yang isinya Keterangan maka > ada msgbox "Tidak ada cell yang bernama > > Keterangan". > > Ini picturenya : > > > > > Terima kasih, > Wassalam, > Tio > > > > > >
<<image/gif>>
<<image/gif>>

