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" <mr.nm...@gmail.com>
Sent by: belajar-excel@yahoogroups.com
02/18/2013 01:45 PM
Please respond to belajar-excel

 
        To:     belajar-excel@yahoogroups.com
        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 <tio.ad...@ptssb.co.id>
  

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" <mr.nm...@gmail.com> 
Sent by: belajar-excel@yahoogroups.com 
02/15/2013 08:29 PM 
Please respond to belajar-excel 
        
        To:        belajar-excel@yahoogroups.com 
        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 <tio.ad...@ptssb.co.id> 
  


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

Kirim email ke