Dari hasil script dibawah, script akan meloop sebanyak n (5000x) dengan 
mengabaikan kondisi-kondisi if.
Maksud awal utk di buatnya message alert ini yaitu

message alert akan tampil jika pada kolom B bernilai blank/ kosong dan tanggal 
1 hari / 2 hari dari tanggal sekarang
misal

Hari ini tanggal 22 Juni

Table
=========================
    =        A          =     B            =
=========================
 1 = 6/21/2012 = LSL111000 =
 2 = 6/21/2012 =                    =
 3 = 6/20/2012 =                    =
=========================

Message akan tampil setelah memeriksa bhwa pada baris 2 kolom B terdapat nilai 
kolom B yang masih kosong dan tanggal sudah 1 atau 2 hari berlalu 
Mohon bimbingannya 

________________________________
 From: Kid Mr. <[email protected]>
To: [email protected] 
Sent: Friday, June 22, 2012 9:45 AM
Subject: Re: [belajar-excel] Menampilkan message alert dengan kriteria tertentu
 

  
For ... Next adalah sebuah blok script loop
IF ... END IF adalah sebuah blok script kondisi

Sebuah blok script bisa ada dalam blok script yang lain, tetapi tidak boleh 
bersilangan.
Contoh blok script dalam blok script lain (nested)
   FOR  bla=bli to blo
               IF  klu=klo THEN
                                         
'perintah kerja kondisi 
               ELSEIF klu=kli THEN
                                         
'perintah kerja kondisi 
               ELSE
                                         
'perintah kerja kondisi 
               END IF
   NEXT bla

Tapi tidak bersilangan seperti ini (pasti error)
   FOR  bla=bli to blo
         IF  klu=klo THEN
                                   
'perintah kerja kondisi 
         ELSEIF klu=kli THEN
                                  
'perintah kerja kondisi
         ELSE
   NEXT bla

         END IF

Coba perhatikan juga, betapa bermanfaatnya indent dari sebuah blok script. 
Blok IF yang ada dalam blok FOR ditulis lebih masuk (indent) sampai bertemu END 
IF.
Script perintah dalam sebuah blok selalu diberi indent.
Hal ini memang merepotkan dalam menulis script, tetapi memudahkan pembacaan.
Mencari penyebab error dan memperbaikinya membutuhkan proses membaca yang 
teliti, dan penyusunan seperti demikian (walau merepotkan awalnya) bisa memberi 
manfaat yang banyak.
Penyusunan blok ter indent juga akan membuat script bisa mudah dipelajari oleh 
programmer lain.

Wassalam,
Kid.


2012/6/22 Leonardo Endry widodo <[email protected]>

 
>  
>dari informasi yg sy dapatkan, saya mencoba utk m'buat scriptnya dan pada saat 
>di run terdapat error yaitu Next without For.
>dari script yg coba sy buat, dimanakah letak kesalahannya (mav,masih newbie 
>otodidak) dilihat dari penulisan nama variabelnya
>sudah sesuai dengan yg di deklarasikan.
>berikut script :
>===============================================================================================================================
>Sub MessageAlert()
>Dim dtTglHariIni As Date
>Dim rngDataKu As Range
>Dim lbaris As Long
>Set rngDataKu = Range("AK3:AK5000")
>
>
>
>
>For lbaris = 3 To 5000
>    If dtTglHariIni > dtTglHariIni - 1 And rngDataKu.Cells(lbaris - 2, 
>1).Value = "" Then
>        MsgAlert1 = MsgBox(" Cek nomor LS untuk hari kemarin karena nomor LS 
>belum ada", vbOKOnly + vbExclamation, "Cek Nomor LS")
>    ElseIf dtTglHariIni > dtTglHariIni - 2 And rngDataKu.Cells(lbaris - 2, 
>1).Value = "" Then
>        MsgAlert2 = MsgBox("Cek nomor LS untuk hari kemarin karena nomor LS 
>belum ada", vbOKOnly + vbExclamation, "Cek Nomor LS")
>Next lbaris
>
>
>End If
>End Sub
>
>===============================================================================================================================
>
>________________________________
> From: Kid Mr. <[email protected]>
>To: [email protected] 
>Sent: Thursday, June 21, 2012 5:34 PM
>
>Subject: Re: [belajar-excel] Menampilkan message alert dengan kriteria tertentu
> 
>
>
>  
>Sepertinya sudah dicoba dan sudah memahami dampak dari proses yang namanya 
>loop.
>
>Jadi loop akan mengulang-ulang proses. Loop dengan For Next, akan menambahkan 
>nilai dalam variabel yang digunakan pada baris For.
>
>Pada For lBaris=3 to 5000, maka nilai lBaris akan berubah dari 3 sampai 5000.
>Loop dengan For Next diawali baris For bla = bli to blo dan diakhir Next bla
>Script yang ada diantaranya akan diproses berulang-ulang.
>
>Ketika proses membutuhkan nilai-nilai yang turut bergerak dari 3 sampai 5000 
>yang tersimpan dalam lBaris, maka variabel lBaris bisa digunakan.
>Contoh proses IF pada baris :
>IF dttglhariini > dttglhariini-1 AND rngdataku.cells(1,1).value = "" then
>rngdataku inginnya akan dicek dari cell pertama (range dibaris 3) sampai range 
>terakhir di baris 5000.
>Pada baris IF diatas, menggunakan cells( row, col)
>Jadi row pada cells harus mulai dari 1, yaitu lbaris pertama dikurangi 2.
>Maka IF dalam For Next akan berbentuk :
>IF dttglhariini > dttglhariini-1 AND rngdataku.cells( lbaris - 2 ,1).value = 
>"" then
>
>Sampai sini, maka proses loop dari range baris 3 sampai baris 5000 excel telah 
>dilakukan.
>
>Kid.
>
>
>2012/6/21 Kid Mr. <[email protected]>
>
>cells( row_index  ,   column_index  )
>>Nanti bisa diisi dengan varibale yang menyimpan data angka, kemudian nilai 
>>dalam variabel itu diganti melalui suatu proses loop.
>>
>>Misal :
>>dim lBaris as long
>>for lBaris=3 to 5000
>>
>>      IF dttglhariini > dttglhariini-1 AND rngdataku.cells(1,1).value = "" 
>>then
>>           'dst
>>next l
>>
>>
>>Kid.
>>
>>
>>
>>2012/6/21 Leonardo Endry widodo <[email protected]>
>>
>> 
>>>  
>>>
>>>
>>>Kl sy coba artikan berarti untuk bagian rngdataku.cells(1,1).value = 
>>>"" harus dilakukan berulang kali sampai ke rngdataku.cells(n,n) ???
>>>atau bagaimana ?
>>>
>>>________________________________
>>> From: Kid Mr. <[email protected]>
>>>To: [email protected] 
>>>Sent: Thursday, June 21, 2012 4:30 PM
>>>
>>>Subject: Re: [belajar-excel] Menampilkan message alert dengan kriteria 
>>>tertentu
>>> 
>>>
>>>
>>>  
>>>oops salah...
>>>
>>>jika variabel today diberi () maka menjadi variabel array.
>>>
>>>Andai yang dimaksud adalah menyimpan sebuah data tanggal dalam sebuah 
>>>variabel,
>>>dim dtTglHariIni as date
>>>dttglhariini=date
>>>
>>>jika ingin menyimpan suatu object range dalam sebuah variabel,
>>>dim rngDataKu as range
>>>set rngdataku=range("e3:e5000")
>>>
>>>Kemudian, suatu kondisi IF dengan operator perbandingan sebuah nilai 
>>>misal membandingkan cell e3 dulu :
>>>IF dttglhariini > dttglhariini-1 AND rngdataku.cells(1,1).value = "" then
>>>dst
>>>
>>>Kid.
>>>
>>>
>>>2012/6/21 Leonardo Endry widodo <[email protected]>
>>>
>>> 
>>>>  
>>>>Sudah dicoba ganti & dengan AND tetapi masih terdapat type mismatch pada 
>>>>tanda -
>>>>Sub Test()
>>>>Dim today() As Date
>>>>Dim range As range
>>>>
>>>>
>>>>If today() > today() - 1 and range("E3:e5000") = "" Then
>>>>a = MsgBox("test")
>>>>ElseIf today () > today() - 2 and range("e3:e5000") = "" Then
>>>>b = MsgBox("test")
>>>>Else: c = MsgBox("ok")
>>>>
>>>>
>>>>End If
>>>>End Sub
>>>>
>>>>
>>>>
>>>>________________________________
>>>> From: Kid Mr. <[email protected]>
>>>>To: [email protected] 
>>>>Sent: Thursday, June 21, 2012 4:14 PM
>>>>Subject: Re: [belajar-excel] Menampilkan message alert dengan kriteria 
>>>>tertentu
>>>> 
>>>>
>>>>
>>>>  
>>>>Coba ganti & dengan AND
>>>>
>>>>Kid.
>>>>
>>>>
>>>>2012/6/21 Leonardo Endry widodo <[email protected]>
>>>>
>>>> 
>>>>>  
>>>>>Kakak" yg ganteng" dan cantik", mohon bantuannya untuk menampilkan message 
>>>>>alert dengan kriteria tertentu
>>>>>Sample file dan keterangan lainnya include didalamnya.
>>>>>
>>>>>
>>>>>Terima Kasih.
>>>>
>>>>
>>>>
>>>
>>>
>>>
>>
>
>
>

 

Kirim email ke