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]>
> **
>
>
>
> 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]>*
> Sent by: [email protected]
>
> 02/15/2013 08:29 PM
> Please respond to belajar-excel
>
> To: [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>>

