Di sheeta Excel  -versus-  di VBA ada beberapa fungsi yg tujuannya sama
tetapi NAMANYA berbeda, hal ini sebaiknya difahami
ada juga yg nama dan penggunaaannya SAMA (misal LEFT, MID)

*Di sheet:*
Fungsi DATE
=DATE(2001,12,30)    menghasilkan  data tanggal 31 des 2001
=TIME(23,15,04)   menghasilkan data TIME   pukul 23:15:04

kalau *di VBA *nama Fungsinya lain
DateSerial(2001, 12, 30)
TimeSerial(23, 15, 04)

Di VBA, juga ada fungsi DATE, tetapi menghasilkan TGL System
(tgl komputer yg tiap hari berubah);  berarti funsgsi DATE di VBA
sama dengan fungsi TODAY() di sheet
... dan masih banyak lagi


Pertanyaan anda kita anggap bahwa variable *TANGGAL_EXPIRED* adalah
berisi sebuah *nilai tanggal* (satu data), misal   *12 maret 2012*  atau
nilai serialnya  = *40980*
Anda memasukkan s*atu data* tsb ke dalam fungsi yg memerlukan *3 Arguments*
*If Date = DateSerial(40980) Then*
Saya kira: hasilnya error ( = Argument not optional !)

Atau mungkin anda menganggap contoh tadi terlalu berputar putar, (bahwa
untuk menentukan  tgl expired diperlukan *tanggal penyerahan*) ??

-- itu karena si penanya ingin hari expired ditentukan berdasarkan
   "DALAM JANGKA 60 HARI"
   ( yg tidak bisa ditentukan tanggalnya kecuali diketahi tgl MULAInya)

- kalau keperluannya :  "Mulai *TGL SEKIAN *tidak berlaku!!"
  maka logika anda bisa dipakai, tetapi....
  setiap saat akan menyerahkan file kepada pihak lain anda harus mengubah
  lagi makronya.
  Misal
  Expire date =  7 Mare 2012
  kalau file diserahkan tgl 8 maret 2012, maka begitu dierahkan file sudah
expired ??!!
  maka sebelum menyerahkan filt tsb; anda harus mengedit makronya lebih
dulu.
  Variable  "TANGGAL_EXPIRED" harus di ubah / diisi data baru =  suatu data
tanggal
  yg nilainya 60 hari setelah saat penyerahan file...


Mohon dicoba prosedur dibawah ini dijalankan..
Ditanggung : sebelum dijalankan pun, VBA sudah menunjuk baris ke5
sebagai "kesalahan pengisian Argument")

Sub DateSerialKokDiisiDataDate()
   Dim TGL_EXPIRED As Date
    TGL_EXPIRED  = Date + 60
   MsgBox Format( TGL_EXPIRED , "#,##0")
   If Date = DateSerial(*TGL_EXPIRED*) Then
      MsgBox "benar"
   Else
      MsgBox "apaan tuh"
   End If
End Sub

Tgl Expired tidak akan pernah dicapai, karena setiap hari berubah maju 1
hari.
sesuai nilai Date+60 (nila Date setiap hari berubah )

Sebenarnya saya tidak mau repot-repot terlalu banyak omong spt ini, (hanya
untuk
menanggapi petanyaan / sanggahan anda yg hanya berisi 3 baris pendek)
tetapi
*pemrograman memang memerlukan hal yg jelas dan logis.*
(Sedangkan sebetulnya anda tidak perlu tanya tetapi BISA mempraktekkan
langsung
pertanyaan anda itu di module VBE anda...)

wassalam
*o'Seno*
*
*
*
*
*
*
*
*
Penjelasan (selain di help > VBA Fungsi DateSerial) juga dapat dilihar di
banyak tempat
misalnya
http://www.techonthenet.com/excel/formulas/dateserial.php
http://msdn.microsoft.com/en-us/library/bbx05d0c(v=vs.80).aspx

F1 / Excel Help
*DateSerial Function*
Returns a Variant (Date) for a specified year, month, and day.

*Syntax
DateSerial(year, month, day)*

The DateSerial function syntax has these named arguments:PartDescription*
year* Required; *Integer*. Number between 100 and 9999, inclusive, or a numeric
expression<https://mail.google.com/mail/?ui=2&view=js&name=main,tlist,ptlist&ver=FWFgjD3UWxQ.en.&am=!vzDW0GOWLR7ZQr2LwSy2xGafYDwuIbA046yKf4LL1L-bhprUyDLpZo6jiU-RGMfa2g>
. *month*Required; *Integer*. Any numeric expression.*day*Required; *Integer
*. Any numeric expression




2012/1/11 RezArt <puhaba2...@yahoo.com>

> **
>
> kalo dengan perintah
>
> If Date >= DateSerial(TANGGAL_EXPIRED) Then....
>
> bedanya apa yah? ato sama saja? lebih baik yg mana yg digunakan?
>
>

Kirim email ke