Pak Mansor,

Kalau ndak salah duga,
1. Pada baris script : Set selectedRng =
Application.InputBox(Prompt:=askForCell, Title:=askTitle, Type:=8)
akan muncul error ketika user tidak menginput data range dengan benar atau
ketika dikosongkan.
Untuk hal ini, maka bisa diubah menjadi :
on error resume next
Set selectedRng = Application.InputBox(Prompt:=askForCell, Title:=askTitle,
Type:=8)
if err.number<>0 then
     err.clear
     on error goto 0
     exit sub
endif

2. Pada baris script : Set rng = Range(selectedRng)
Jika yang dimaksud akan mengisikan data yang di-select user melalui input
box tipe range ke sebuah variabel baru, maka bentuknya :
Set rng=selectedrng
karena hasil inputbox bertipe 8 adalah object range.

3. Pada blok FOR EACH NEXT di baris yang berbunyi : For Each cell In rng
dengan adanya baris sebelumnya yang tampaknya variabel rng diisi dengan
hasil InputBox tipe 8 (input range), maka bisa diubah menjadi :
For Each cell In selectedRng
dan tidak memerlukan baris berbunyi :
Set rng = Range(selectedRng) 'yang bermasalah
atau baris seperti :
set rng=selectedRng

Kira-kira susunan script lengkap akan menjadi :

Private Sub CommandButton1_Click()

Dim rng As Range, cell As Range, selectedRng As Range

Dim askForCell As String, askTitle As String

 askForCell = "Select your range"

askTitle = "Get cell"


on error resume next

 Set selectedRng = Application.InputBox(Prompt:=askForCell,
Title:=askTitle, Type:=8)


if err.number<>0 then
     err.clear
     on error goto 0
     exit sub
endif


'Set rng = Range(selectedRng)

For Each cell In  selectedRng                             'rng

If cell.Value >= 50 Then

cell.Font.ColorIndex = 5

Else

cell.Font.ColorIndex = 3

End If

Next cell

End Sub

Wassalamu'alaikum Wr. Wb.,
Kid.



On Sun, Apr 7, 2013 at 12:29 PM, Mansor <[email protected]> wrote:

> **
>
>
> Para Teman BeExcel,
>
> Tolong saya cari di mana error nya. File dilampirkan
>
> Terima kasih
> -Mansor
>
> Private Sub CommandButton1_Click()
>
> Dim rng As Range, cell As Range, selectedRng As Range
>
> Dim askForCell As String, askTitle As String
>
>  askForCell = "Select your range"
>
> askTitle = "Get cell"
>
>  Set selectedRng = Application.InputBox(Prompt:=askForCell,
> Title:=askTitle, Type:=8)
>
> Set rng = Range(selectedRng)
>
> For Each cell In rng
>
> If cell.Value >= 50 Then
>
> cell.Font.ColorIndex = 5
>
> Else
>
> cell.Font.ColorIndex = 3
>
> End If
>
> Next cell
>
> End Sub
>
>  
>

Kirim email ke