Maaf bu Siti, saya gangguin lagi. Sekali lagi mohon bantuannya, masih
masalah yang sama...
Pada tanggal 18/08/10, STDEV(i) <setiyowati.devi@gmail.com> menulis:
> Perbaikan coding
>
> Function *SiapaJabat*(RngRef As Range, Tgl As Date) As String
> ' siti Vi/ 17 Aug 2010 / Merdeka
> ' menggunakan ASUMSI II / penjelasan di sheet 1
> '----------------------------------------------
> Dim r As Long, n As Long, t As Long
> Dim TglArr() As Date, Ada As Long
> SiapaJabat = "Ketua": r = 1
> Do While RngRef(r, 1) <> ""
> For t = CLng(RngRef(r, 1)) To CLng(RngRef(r, 2))
> n = n + 1: ReDim Preserve TglArr(1 To n)
> TglArr(n) = CDate(t)
> Next t
> r = r + 1
> Loop
> On Error Resume Next
> Ada = WorksheetFunction.Match(Tgl, TglArr, 0)
> If Ada > 0 Then SiapaJabat = "Wakil Ketua"
> End Function
> '------------
>
> Tapi sayangnya
> hasilnya tidak persis sama dengan hasil array formula kiriman mas Kid;
> untuk *tgl-tgl di luar range *misal tgl *31 Des 2009 * atau *1 Mar 2010*,
> rumus mas Kid
> menghasilkan = 0 (penampakan = "Wakil Ketua") yg artinya saat itu :
> *Ketua TIDAK DITEMPAT* / *Ketua Sedang dlm Perjalanan Dinas*
>
> Satu lagi, formula ajaib dari mas Kid itu jangan di copy > pasteSpecial
> Value lho ya...
> karena nanti hasilnya akan ber-ubah menjadi nilai 1 atau 0
>
> cmiiw
> siti
>
>
>
> 2010/8/17 STDEV(i) <setiyowati.devi@gmail.com>
>
>> jadwalnya kok agak mendua..
>> dikatakan : Ketua Berangkat 1 Jan 2010 Kembali 5 Jan 2010
>> Kalau kata "KEMBALI" berarti "sudah di kantor lagi" maka
>> seharusnya keterangannya: tgl 1Jan sd tgl *4Jan* = Ketua Tidak Ada
>> di sheet ditulisnya : tgl 1 jan sd tgl *5Jan* = Ketua Tidak Ada
>> mana yg benar ??
>>
>> Di lain tempat, di E6 = tgl 5 Jan 2010
>> hasil di F6 diinginkan = "Ketua" (artinya saat itu di kantor ada
>> Ketua)?!
>>
>> aku ikut seperti diinginkan
>> *jika di E6 = tgl 5 Jan 2010 >> hasilnya di G6 = "Ketua"*
>> kalau di E6 tgl 4 jan 2010 barulah hasil di G6 = "Wakil Ketua"
>>
>> Rumusnya gampang, tulis di F6
>> *=Siapa($A$3,E6)*
>>
>> rujukan ke jadwal ($A$3) hanya perlu *1 cell *yaitu *cell pertama pada
>> tabal jadwal*
>> tak peduli sampai berapa pun jumlah records /baris pada jadwal-nya;
>> asal tidak ada record loncat parita / baris kosong ...!!!!!
>>
>>
>> --------listing code udf Siapa(Cell1Jadwal, Tgl)---------
>>
>> Function Siapa(RngRef As Range, Tgl As Date) As String
>> ' siti Vi/ 17 Aug 2010 / Merdeka
>> Dim r As Long, n As Long, t As Long
>> Dim TglArr() As Date
>> r = 1
>> * Do *While RngRef(r, 1) <> ""
>> *For t* = CLng(RngRef(r, 1)) To CLng(RngRef(r, 2)) - 1
>> n = n + 1
>> ReDim Preserve TglArr(1 To n)
>> TglArr(n) = CDate(t)
>> *Next t*
>> r = r + 1
>> * Loop *
>> Siapa = "Ketua"
>> *For n *= 1 To UBound(TglArr)
>> If Tgl = TglArr(n) Then
>> Siapa = "Wakil Ketua"
>> Exit For
>> End If
>> *Next n*
>> End Function
>> '--------------------------
>> *Tafsir "Al-Assal":*
>> semua Tgl yg ada di *RENTANG jadwal *(kecuali tgl yg di kolom kedua)
>> disusun kedalam
>> sebuah array-dinamis 1 dimensi (TglArr) .
>> Lalu Tgl Kriteria (misal yg ada di E6 itu) dicocokkan (samakah) dgn setiap
>> elemen data
>> di TglArr, *jika ada yg cocok*, berarti SIAPA = "Wakil Ketua"
>> Kalau ndak ada tgl yang cocok ?? (ndak usah dijawab)
>>
>>
>>
>> *2010/8/17 Audra Sakti <Audrasakti@gmail.com>*
>> > Mohon bantuan dari para pakar,
>> > ceritanya begini, Ketua punya jadwal perjalanan dinas, misalnya dari
>> > tgl 1-1-10 s/d 15-1-10, dari tgl 3-2-10 s/d 10-2-10 ketua tidak ada,
>> > yang diinginkan misalnya pada cell E6 terisi tanggal, maka di F6 akan
>> > muncul Ketua apabila tanggal di E6 tidak termasuk di Jadwal Ketua.
>> > Untuk lebih jelasnya ada di lampiran. Saya sudah coba pakai logika,
>> > IF, OR dan AND. memang bisa, tapi rumusnya kepanjangan, bagaimana
>> > mempersingkatnya?
>> >
>>
>>
>
| selamat menunaikan ibadah puasa... walau perut lapar, tanya excel |
| jalan terus... malu bertanya telat pulang kantor :D :D :D |
| http://www.facebook.com/group.php?gid=37671048001&ref=mf |
+-------------------------------------------------------------------+
| DILARANG : MLM, money game, OOT, iklan tanpa izin, SARA, testing, |
| pembicaraan pribadi, one line message, melecehkan, tidak sopan. |
+-------------------------------------------------------------------+
| Buat subjek yang kreatif, jangan : "tanya", "help", "mohon bantu" |
| Usahakan besar attachment < 200 kb. Gunakan winzip jika perlu. |
+-------------------------------------------------------------------+
| Ajak teman-teman Anda bergabung dengan mengirim e-mail kosong ke |
| XL-mania-subscribe@yahoogroups.com atau kirimkan mereka file dari |
| http://groups.yahoo.com/group/XL-mania/files/Promotion/ |
+-------------------------------------------------------------------+
| Berikan testimoni di : http://www.friendster.com/xlmania atau... |
| http://www.xl-mania.com/2008/06/testimoni-xl-mania.html |
+-------------------------------------------------------------------+
| Message lama ada di : |
| http://groups.yahoo.com/group/XL-mania/messages [perlu yahoo id] |
| http://www.mail-archive.com/xl-mania@yahoogroups.com |
+-------------------------------------------------------------------+
Nenhum comentário:
Postar um comentário