Rabu, 19 Desember 2012

[belajar-excel] Digest Number 1976

15 New Messages

Digest #1976
2
Penyusutan dengan metode saldo menurun by "Johanes Wawan" johaneswawan
3
Metode Penyusutan Saldo Menurun by "Johanes Wawan" johaneswawan
4a
Re: Data mismatch dimana ya? by "Heru Safrudin" superheruu
4b
Re: Data mismatch dimana ya? by "Mr. Kid" nmkid.family@ymail.com
4c
Re: Data mismatch dimana ya? by "Heru Safrudin" superheruu
4d
Re: Data mismatch dimana ya? by "Mr. Kid" nmkid.family@ymail.com
5b
Re: Menghitung rata2 sisa activity by "Mr. Kid" nmkid.family@ymail.com
6b
7
Rekap kedalam satu sheet by "depi Hariyanto" depi.hari_yanto
8a
Image control mengacu ke cell by "the_x_mikey@yahoo.com" the_x_mikey
8b
Re: Image control mengacu ke cell by "Mr. Kid" nmkid.family@ymail.com

Messages

Tue Dec 18, 2012 5:51 pm (PST) . Posted by:

"Mulki" mulki_akbar

Assalamu'alaikum wr. wb.

Mantabss Ms. Jan Raisin, terimakasih atas pencerahan & pembelajarannya. Cuma di milis ini saya bisa dptkan ilmu lebih dari guru2 yg sangat sangat royal berbagi ilmu ... insyaallah jadi amal jariyah ...

Sekali lagi terimakasih Ms. raisin

Wassalam,
mulki

----- Original Message -----
From: Jan Raisin
To: belajar-excel@yahoogroups.com
Sent: Monday, December 17, 2012 1:34 PM
Subject: Re: [belajar-excel] Menggabungkan 2 Data absensi ke dalam 1 File gabung absensi

Wa'alaikumsalam wr. wb.,

berhubung pak Ghozi belum menjawab, mungkin terhalang oleh kesibukan ybs, izinkan Jan mencoba memberikan penjelasan mengenai alur formula dari pak Ghozi

=IF(ROW(1:1)<=COUNTA('File-01'!$A$7:$A$40);OFFSET('File-01'!$A$6;MOD(ROW(1:1)-1;COUNTA('File-01'!$A$7:$A$40))+1;COLUMN()-1);OFFSET('File-02'!$A$6;ROW(1:1)-COUNTA('File-01'!$A$7:$A$40)+1;COLUMN()-1))

untuk mudah membacanya maka formula dibagi menjadi beberapa bagian:

========================================================================================================================================================
Bagian pertama adalah formula =If (kondisi , nilai_jika_kondisi_terpenuhi , nilai_jika_kondisi_tidak_terpenuhi)

=IF(ROW(1:1)<=COUNTA('File-01'!$A$7:$A$40);OFFSET('File-01'!$A$6;MOD(ROW(1:1)-1;COUNTA('File-01'!$A$7:$A$40))+1;COLUMN()-1);OFFSET('File-02'!$A$6;ROW(1:1)-COUNTA('File-01'!$A$7:$A$40)+1;COLUMN()-1))

jika kondisi yang disorot dengan warna biru terpenuhi, maka ambil nilai dari yang disorot dengan warna hijau, jika tidak terpenuhi maka ambil nilai yang disorot dengan warna merah.

semoga yang bagian pertama dapat dimengerti dengan mudah, karena hal itu dibutuhkan untuk memahami bagian berikutnya.

===================================================================================================================================================================

Bagian Kedua, beralih ke kondisi di dalam fungsi If tersebut: ROW(1:1) <= COUNTA('File-01'!$A$7:$A$40)

ada 3 bagian di dalam kondisi ini, yaitu ROW(1:1) , <= , dan COUNTA('File-01'!$A$7:$A$40)

Bagian yang berbunyi Row(1:1) akan menghasilkan nilai 1, jika formula tersebut dicopy ke arah bawah akan menghasilkan formula Row(2:2), Row(3:3) dst, dan hasilnya adalah berupa nilai mulai dari 1, 2, 3, 4, dst sesuai dengan jumlah baris yang dipaste. Untuk pembuktian, coba tulis di suatu cell formula berikut, =Row(1:1) lalu copy ke arah bawah dan lihat hasilnya.

Bagian yang berbunyi <= adalah operator matematika yang berfungsi untuk membandingkan besarnya suatu nilai,

Bagian yang berbunyi Counta('File-01'!$A$7:$A$40) adalah berfungsi untuk menghitung jumlah cell yang tidak kosong di sheet File-01, mulai dari cell A7 sampai cell A40.

Khusus pada kasus ini: formula Counta('File-01'!$A$7:$A$40) akan menghasilkan nilai 11, untuk pembuktian coba hitung manual pada sheet File-01 mulai cell A7 sampai A40, ada berapa cell yang tidak kosong?

===================================================================================================================================================================

bagian KeTiga, adalah nilai yang diambil jika kondisi terpenuhi,

OFFSET('File-01'!$A$6;MOD(ROW(1:1)-1;COUNTA('File-01'!$A$7:$A$40))+1;COLUMN()-1)

berhubung pengambilan nilai untuk kondisi terpenuhi dan tidak terpenuhi logikanya sama, maka untuk yang diberi warna merah tidak Jan jelaskan lagi.

pada bagian ini pak Ghozi menggunakan fungsi OffSet, mari kita bahas maksud dan tujuan penggunaan fungsi ini.
syntax OffSet adalah sebagai berikut:

=OffSet(cell_atau_range_yang_menjadi_rujukan_atau_titik_nol_atau_titik_awal_untuk_bergerak , nomor_indeks_baris_dari_titik_awal , nomor_indeks_kolom_dari_titik_awal , tinggi_baris , lebar_kolom)

pada penggunaan fungsi OffSet kali ini oleh Pak Ghozi hanya memanfaatkan Titik awall , nomer indeks baris , dan nomer indeks kolom saja, sedangkan tinggi baris dan kolom yang bersifat opsional tidak digunakan karena hanya nilai 1 cell yang diambil.

lihat yang diberi warna biru ('File-01'!$A$6), ini adalah titik start awal atau titik nol, letaknya di sheet File-01 pada cell A6

untuk posisi barisnya diperoleh dari perhitungan antara sisa hasil pembagian MOD , nilai baris setelah dikurangi dengan 1 yaitu Row(1:1)-1, dengan jumlah data yang tidak kosong di sheet File-01 mulai cell A7 sampai cell A40 COUNTA('File-01'!$A$7:$A$40))+1

untuk posisi kolomnya diperoleh dari pengambilan nilai kolom setelah dikurangi 1 COLUMN()-1

Untuk lebih mudah mengerti bagian keTiga dan keEmpat, coba pelajari cara penggunaan fungsi OffSet di dalam lembar kerja

===================================================================================================================================================================

Bagian keEmpat adalah pengambilan nilai jika kondisi If tidak terpenuhi, logika dan penjelasannya sama dengan bagian keTiga.

Semoga penjelasan ini dapat dimengerti dan dipahami, jika ada yang kurang jelas silakan ditanyakan kembali.

cmiiw,

-Ms. Jan Raisin-

Pada 15 Desember 2012 11:43, Mulki <mulki@aop.component.astra.co.id> menulis:

Dear Pak Ghozi ...

Bisa bantu cara baca/penjelasan dari formula bapak dibawah ?

Terimakasih atas pencerahannya

Wassalam,
mulki

----- Original Message -----
From: ghozi alkatiri
To: belajar-excel@yahoogroups.com
Sent: Friday, December 14, 2012 5:17 PM
Subject: Bls: [belajar-excel] Menggabungkan 2 Data absensi ke dalam 1 File gabung absensi

tulis formula pertama di A7
=IF(ROW(1:1)<=COUNTA('File-01'!$A$7:$A$40);OFFSET('File-01'!$A$6;MOD(ROW(1:1)-1;COUNTA('File-01'!$A$7:$A$40))+1;COLUMN()-1);OFFSET('File-02'!$A$6;ROW(1:1)-COUNTA('File-01'!$A$7:$A$40)+1;COLUMN()-1))

copy ke kanan dan ke bawah
pada cell berisi 0 (nol) dari tabel yang kosong dihilangkan dengan conditional formating opsi font no colour.

selanjutnya lihat langsung di attachment sheet solusi

wassalam

Ghozi Alkatiri

----------------------------------------------------------
Dari: Rachmad HIDAYAT <rachmad.hidayat@external.total.com>
Kepada: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Dikirim: Jumat, 14 Desember 2012 15:17
Judul: [belajar-excel] Menggabungkan 2 Data absensi ke dalam 1 File gabung absensi

Dear Pakar Bexcel,
Saya punya case begini nih, mohon bisa dibantu ya..,

- Saya punya dua atau lebih file Absensi dengan format tabel yang sama, namun nama data nama,materi, absensi berbeda. (dalam case ini saya jadikan satu file saja, tapi faktanya ada 3 file xlsx, FILE-01.xlxs(di Sheet File-01),FILE-02(di sheet File-02).xlsx, GABUNG DATA.xlsx (Gabung data File-01dan File02)
- Setiap akhir pekan saya pingin mengetahui berapa total keseluruhan yang hadir(H), tidak hadir(X)dari orang-orang tersebut
- Ohya,Data orang bisa bertambah jadi nanti secara otomatis akan tergabung juga di file gabung
- Bagaimana cara menggabungkan 2 file ini menjadi satu file gabungan ya ?

Lebih jelasnya bisa di lihat di lampiran Saya cob pake concolidate, namun masih bingung cara pake dan error
Terim kasih atas bantuan nya ya

Terima Kasih,
Rachmad Hidayat
Inspection Method
3487

Tue Dec 18, 2012 7:21 pm (PST) . Posted by:

"Jan Raisin"

wa'alaikumsalam wr. wb.,

Aamiiiin.
sama-sama pak Mulki, semoga dengan tambahan ilmu barunya pak Mulki bersedia
untuk berbagi juga dengan yang lain xixixixi :D
hitung-hitung sebagai tabungan untuk masa depan pak.

wassalamu'alaikum wr. wb.,

-Ms. Jan Raisin-

Pada 19 Desember 2012 08:49, Mulki <mulki@aop.component.astra.co.id>menulis:

> **
>
>
> **
> Assalamu'alaikum wr. wb.
>
>
> Mantabss Ms. Jan Raisin, terimakasih atas pencerahan & pembelajarannya.
> Cuma di milis ini saya bisa dptkan ilmu lebih dari guru2 yg sangat sangat
> royal berbagi ilmu ... insyaallah jadi amal jariyah ...
>
> Sekali lagi terimakasih Ms. raisin
>
>
> Wassalam,
> mulki
>
>
>
> ----- Original Message -----
> *From:* Jan Raisin <miss.jan.raisin@gmail.com>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Monday, December 17, 2012 1:34 PM
> *Subject:* Re: [belajar-excel] Menggabungkan 2 Data absensi ke dalam 1
> File gabung absensi
>
>
>
> Wa'alaikumsalam wr. wb.,
>
> berhubung pak Ghozi belum menjawab, mungkin terhalang oleh kesibukan ybs,
> izinkan Jan mencoba memberikan penjelasan mengenai alur formula dari pak
> Ghozi
>
> =IF(ROW(1:1)<=COUNTA('File-01'!$A$7:$A$40);OFFSET('File-01'!
> $A$6;MOD(ROW(1:1)-1;COUNTA('File-01'!$A$7:$A$40))+1;
> COLUMN()-1);OFFSET('File-02'!$A$6;ROW(1:1)-COUNTA('File-01'!
> $A$7:$A$40)+1;COLUMN()-1))
>
> untuk mudah membacanya maka formula dibagi menjadi beberapa bagian:
>
>
> ========================================================================================================================================================
> Bagian pertama adalah formula =If (kondisi , nilai_jika_kondisi_terpenuhi,
> nilai_jika_kondisi_tidak_terpenuhi)
>
> =IF(ROW(1:1)<=COUNTA('File-01'!$A$7:$A$40);OFFSET('File-01'!
> $A$6;MOD(ROW(1:1)-1;COUNTA('File-01'!$A$7:$A$40))+1;COLUMN()-1);
> OFFSET('File-02'!$A$6;ROW(1:1)-COUNTA('File-01'!$A$7:$A$40)+1;COLUMN()-1))
>
> jika kondisi yang disorot dengan warna biru terpenuhi, maka ambil nilai
> dari yang disorot dengan warna hijau, jika tidak terpenuhi maka ambil
> nilai yang disorot dengan warna merah.
>
> semoga yang bagian pertama dapat dimengerti dengan mudah, karena hal itu
> dibutuhkan untuk memahami bagian berikutnya.
>
>
> ===================================================================================================================================================================
>
> Bagian Kedua, beralih ke kondisi di dalam fungsi If tersebut: ROW(1:1) <=
> COUNTA('File-01'!$A$7:$A$40)
>
> ada 3 bagian di dalam kondisi ini, yaitu ROW(1:1) , <= , dan
> COUNTA('File-01'!$A$7:$A$40)
>
> Bagian yang berbunyi Row(1:1) akan menghasilkan nilai 1, jika formula
> tersebut dicopy ke arah bawah akan menghasilkan formula Row(2:2), Row(3:3)
> dst, dan hasilnya adalah berupa nilai mulai dari 1, 2, 3, 4, dst sesuai
> dengan jumlah baris yang dipaste. Untuk pembuktian, coba tulis di suatu
> cell formula berikut, =Row(1:1) lalu copy ke arah bawah dan lihat hasilnya.
>
> Bagian yang berbunyi <= adalah operator matematika yang berfungsi untuk
> membandingkan besarnya suatu nilai,
>
> Bagian yang berbunyi Counta('File-01'!$A$7:$A$40) adalah berfungsi untuk
> menghitung jumlah cell yang tidak kosong di sheet File-01, mulai dari cell
> A7 sampai cell A40.
>
> Khusus pada kasus ini: formula Counta('File-01'!$A$7:$A$40) akan
> menghasilkan nilai 11, untuk pembuktian coba hitung manual pada sheet
> File-01 mulai cell A7 sampai A40, ada berapa cell yang tidak kosong?
>
>
> ===================================================================================================================================================================
>
> bagian KeTiga, adalah nilai yang diambil jika kondisi terpenuhi,
>
> OFFSET('File-01'!$A$6;MOD(ROW(1:1)-1;COUNTA('File-01'!$A$7:$A$40))+1;
> COLUMN()-1)
>
> berhubung pengambilan nilai untuk kondisi terpenuhi dan tidak terpenuhi
> logikanya sama, maka untuk yang diberi warna merah tidak Jan jelaskan lagi.
>
> pada bagian ini pak Ghozi menggunakan fungsi OffSet, mari kita bahas
> maksud dan tujuan penggunaan fungsi ini.
> syntax OffSet adalah sebagai berikut:
>
> =OffSet(cell_atau_range_yang_menjadi_rujukan_atau_titik_nol_atau_titik_awal_untuk_bergerak
> , nomor_indeks_baris_dari_titik_awal , nomor_indeks_kolom_dari_titik_awal,
> tinggi_baris , lebar_kolom)
>
> pada penggunaan fungsi OffSet kali ini oleh Pak Ghozi hanya memanfaatkan
> Titik awall , nomer indeks baris , dan nomer indeks kolom saja, sedangkan
> tinggi baris dan kolom yang bersifat opsional tidak digunakan karena hanya
> nilai 1 cell yang diambil.
>
> lihat yang diberi warna biru ('File-01'!$A$6), ini adalah titik start
> awal atau titik nol, letaknya di sheet File-01 pada cell A6
>
> untuk posisi barisnya diperoleh dari perhitungan antara sisa hasil
> pembagian MOD , nilai baris setelah dikurangi dengan 1 yaitu Row(1:1)-1,
> dengan jumlah data yang tidak kosong di sheet File-01 mulai cell A7 sampai
> cell A40 COUNTA('File-01'!$A$7:$A$40))+1
>
> untuk posisi kolomnya diperoleh dari pengambilan nilai kolom setelah
> dikurangi 1 COLUMN()-1
>
> Untuk lebih mudah mengerti bagian keTiga dan keEmpat, coba pelajari cara
> penggunaan fungsi OffSet di dalam lembar kerja
>
>
> ===================================================================================================================================================================
>
> Bagian keEmpat adalah pengambilan nilai jika kondisi If tidak terpenuhi,
> logika dan penjelasannya sama dengan bagian keTiga.
>
>
>
> Semoga penjelasan ini dapat dimengerti dan dipahami, jika ada yang kurang
> jelas silakan ditanyakan kembali.
>
> cmiiw,
>
> -Ms. Jan Raisin-
>
>
> Pada 15 Desember 2012 11:43, Mulki <mulki@aop.component.astra.co.id>menulis:
>
>> **
>>
>>
>> **
>> Dear Pak Ghozi ...
>>
>> Bisa bantu cara baca/penjelasan dari formula bapak dibawah ?
>>
>> Terimakasih atas pencerahannya
>>
>> Wassalam,
>> mulki
>>
>>
>> ----- Original Message -----
>> *From:* ghozi alkatiri <ghozialkatiri@yahoo.co.id>
>> *To:* belajar-excel@yahoogroups.com
>> *Sent:* Friday, December 14, 2012 5:17 PM
>> *Subject:* Bls: [belajar-excel] Menggabungkan 2 Data absensi ke dalam 1
>> File gabung absensi
>>
>>
>>
>> tulis formula pertama di A7
>>
>> =IF(ROW(1:1)<=COUNTA('File-01'!$A$7:$A$40);OFFSET('File-01'!$A$6;MOD(ROW(1:1)-1;COUNTA('File-01'!$A$7:$A$40))+1;COLUMN()-1);OFFSET('File-02'!$A$6;ROW(1:1)-COUNTA('File-01'!$A$7:$A$40)+1;COLUMN()-1))
>>
>> copy ke kanan dan ke bawah
>> pada cell berisi 0 (nol) dari tabel yang kosong dihilangkan dengan
>> conditional formating opsi font no colour.
>>
>> selanjutnya lihat langsung di attachment sheet solusi
>>
>> wassalam
>>
>> Ghozi Alkatiri
>>
>> ------------------------------
>> *Dari:* Rachmad HIDAYAT <rachmad.hidayat@external.total.com>
>> *Kepada:* "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
>>
>> *Dikirim:* Jumat, 14 Desember 2012 15:17
>> *Judul:* [belajar-excel] Menggabungkan 2 Data absensi ke dalam 1 File
>> gabung absensi
>>
>>
>> Dear Pakar Bexcel,
>> Saya punya case begini nih, mohon bisa dibantu ya..,
>>
>> - Saya punya dua atau lebih file Absensi dengan format tabel
>> yang sama, namun nama data nama,materi, absensi berbeda. (dalam case ini
>> saya jadikan satu file saja, tapi faktanya ada 3 file xlsx, FILE-01.xlxs(di
>> Sheet File-01),FILE-02(di sheet File-02).xlsx, GABUNG DATA.xlsx (Gabung
>> data File-01dan File02)
>> - Setiap akhir pekan saya pingin mengetahui berapa total
>> keseluruhan yang hadir(H), tidak hadir(X)dari orang-orang tersebut
>> - Ohya,Data orang bisa bertambah jadi nanti secara otomatis
>> akan tergabung juga di file gabung
>> - Bagaimana cara menggabungkan 2 file ini menjadi satu file
>> gabungan ya ?
>>
>> Lebih jelasnya bisa di lihat di lampiran Saya cob pake concolidate, namun
>> masih bingung cara pake dan error
>> Terim kasih atas bantuan nya ya
>>
>> Terima Kasih,
>> Rachmad Hidayat
>> Inspection Method
>> 3487
>>
>>
>>
>>
>
>

Tue Dec 18, 2012 6:44 pm (PST) . Posted by:

"Johanes Wawan" johaneswawan

Dear be exceler,

Mohon bantuan dari rekan2 be exceler untuk formula penghitungan penyusutan aset dengan metode saldo menurun dengan file terlampir.

Thank's

Rgds,
Wawan

Tue Dec 18, 2012 6:45 pm (PST) . Posted by:

"Johanes Wawan" johaneswawan

Dear be exceler,

Mohon bantuan dari rekan2 be exceler untuk
formula penghitungan penyusutan aset dengan metode saldo menurun dengan
file terlampir.

Thank's

Rgds,
Wawan

Tue Dec 18, 2012 7:48 pm (PST) . Posted by:

"Heru Safrudin" superheruu

Dear Mr. Kid
Sebelumnya cara dibawah sudah saya coba semua, tapi masih error (type mismatch)

----- Original Message -----
From: Mr. Kid
To: belajar-excel@yahoogroups.com
Sent: Monday, December 17, 2012 5:51 PM
Subject: Re: [belajar-excel] Data mismatch dimana ya?

Pak Heru,

1. Bagaimana jika data di worksheetnya yang diganti dengan 0 ?
>> Jadi semua kolom yang harusnya berisi numerik, jika blank diganti 0

2. atau baca nilai cell lalu periksa isinya, jika harusnya kolom bertipe numerik, maka ganti jadi 0.
>> ops ini yang coba dilakukan ya...
'If TEKS1.Column = 6 Then
' If TEKS1 = "" Then TEKS1 = 0
'End If
coba letakkan hasil usaha di atas sebelum IF lainnya dalam loop tersebut.

Wassalam,
Kid.

2012/12/17 Heru Safrudin <superheruu@gmail.com>

saya coba kasih validasi masih mismatch

'If TEKS1.Column = 6 Then
' If TEKS1 = "" Then TEKS1 = 0
'End If

Pada 17 Desember 2012 14:55, Mr. Kid <mr.nmkid@gmail.com> menulis:

Pak Heru,

Ada ketidak sesuaian tipe data antara query dengan struktur tabel di database-nya.
Berikut bunyi query Insert Into -nya :
Insert Into P1 ( REF,JOB,MACHINE,START,STOP,DOWNTIME,GLD,PK,QTY,KA,REMARK )
select '1534','200001','A1','02-01-2012','02-01-2012','','150','792','19858','30.2',''

Berikut tipedata tabelnya :

REF Long
JOB Long
MACHINE Text (50)
START datetime
STOP datetime
DOWNTIME Long
GLD Long
PK Long
QTY Long
KA Long
REMARK Text (50)

Semua data yang dimasukkan ke database adalah berupa tipe data string dan proses konversi ke tipe data milik table diserahkan ke db engine nya.
Pada saat inputan berupa NULLSTRING ('') dan harus masuk ke field bertipe numerik Long (lihat field Downtime), maka nullstring tidak dapat dikonversi oleh db engine.
Inilah yang menyebabkan data type mismatch.

Wassalam,
Kid.

On Mon, Dec 17, 2012 at 1:26 PM, Heru Safrudin <superheruu@gmail.com> wrote:

Dear Mr. Kid

Dimanakan letak data mismatchnya ya? (terlampir)

--
Regards,

Heru Safrudin

--
Regards,

Heru Safrudin

Tue Dec 18, 2012 9:36 pm (PST) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Maaf belum sempat lihat langsung dalam file.

Pokok permasalahannya adalah bagaimana cara Anda menyusun query.
Setiap field yang nilai blank di worksheet :
1. harus jadi 0 ketika dimasukkan ke field db bertipe numerik
2. boleh tetap nullstring '' jika field db bertipe text (string)

Coba pada blok kondisi dalam for each teks1 blabla
diubah jadi :
select case teks1.column
case 4,5 'tipe datetime
teks1="#" & format$(teks1,"YYYY-MM-DD") & "#"
case 3,11 'tipe string
teks1="'" & teks1 & "'"
case else 'numerik'
teks1=clng(0 & teks1)
end select
teks=teks & "," & teks1

kemudian bagian replace teks yag tadinya berbunyi :
teks=replace( blabla )
diganti menjadi :
teks=mid$(teks,2)

Wassalam,
Kid.

2012/12/19 Heru Safrudin <superheruu@gmail.com>

> **
>
>
> **
> Dear Mr. Kid
> Sebelumnya cara dibawah sudah saya coba semua, tapi masih error (type
> mismatch)
>
>
> ----- Original Message -----
> *From:* Mr. Kid <mr.nmkid@gmail.com>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Monday, December 17, 2012 5:51 PM
> *Subject:* Re: [belajar-excel] Data mismatch dimana ya?
>
>
>
> Pak Heru,
>
> 1. Bagaimana jika data di worksheetnya yang diganti dengan 0 ?
> >> Jadi semua kolom yang harusnya berisi numerik, jika blank diganti 0
>
> 2. atau baca nilai cell lalu periksa isinya, jika harusnya kolom bertipe
> numerik, maka ganti jadi 0.
> >> ops ini yang coba dilakukan ya...
> 'If TEKS1.Column = 6 Then
> ' If TEKS1 = "" Then TEKS1 = 0
> 'End If
> coba letakkan hasil usaha di atas sebelum IF lainnya dalam loop tersebut.
>
> Wassalam,
> Kid.
>
>
> 2012/12/17 Heru Safrudin <superheruu@gmail.com>
>
>> **
>>
>>
>> saya coba kasih validasi masih mismatch
>>
>> 'If TEKS1.Column = 6 Then
>> ' If TEKS1 = "" Then TEKS1 = 0
>> 'End If
>>
>>
>> Pada 17 Desember 2012 14:55, Mr. Kid <mr.nmkid@gmail.com> menulis:
>>
>> **
>>>
>>>
>>> Pak Heru,
>>>
>>> Ada ketidak sesuaian tipe data antara query dengan struktur tabel di
>>> database-nya.
>>> Berikut bunyi query Insert Into -nya :
>>> Insert Into P1 (
>>> REF,JOB,MACHINE,START,STOP,DOWNTIME,GLD,PK,QTY,KA,REMARK )
>>> select '1534','200001','A1','02-01-2012','02-01-2012','','150','
>>> 792','19858','30.2',''
>>>
>>> Berikut tipedata tabelnya :
>>> REF Long JOB Long MACHINE Text (50) START datetime STOP datetime
>>> DOWNTIME Long GLD Long PK Long QTY Long KA Long REMARK Text (50)
>>> Semua data yang dimasukkan ke database adalah berupa tipe data string
>>> dan proses konversi ke tipe data milik table diserahkan ke db engine nya.
>>> Pada saat inputan berupa NULLSTRING ('') dan harus masuk ke field
>>> bertipe numerik Long (lihat field Downtime), maka nullstring tidak
>>> dapat dikonversi oleh db engine.
>>> Inilah yang menyebabkan data type mismatch.
>>>
>>> Wassalam,
>>> Kid.
>>>
>>>
>>>
>>> On Mon, Dec 17, 2012 at 1:26 PM, Heru Safrudin <superheruu@gmail.com>wrote:
>>>
>>>> **
>>>>
>>>>
>>>>
>>>> Dear Mr. Kid
>>>>
>>>> Dimanakan letak data mismatchnya ya? (terlampir)
>>>>
>>>>
>>>> --
>>>> Regards,
>>>>
>>>> Heru Safrudin
>>>>
>>>>
>>>
>>
>>
>> --
>> Regards,
>>
>> Heru Safrudin
>>
>>
>>
>
>

Wed Dec 19, 2012 3:54 am (PST) . Posted by:

"Heru Safrudin" superheruu

Dear Mr.Kid

Karena putus asa itu dosa, terpaksa saya kuatkan hati dan beranikan diri
untuk terus bertanya.
Instruksi Mr. sudah saya laksanakan tapi belum berjalan seperti yg
diharapkan
Apalagi yang masih salah ? file terlampir

Semoga Allah SWT memberi petunjuk dan pertolongan pada orang yg memberi
pertolongan
ÙˆَالسَّÙ„َامُ عَÙ„َÙŠْÙƒُÙ…ْ ÙˆَرَØ­ْÙ…َØ©ُ اللهِ ÙˆَبَرَÙƒَاتُÙ‡ُ

Pada 19 Desember 2012 12:35, Mr. Kid <mr.nmkid@gmail.com> menulis:

> **
>
>
> Maaf belum sempat lihat langsung dalam file.
>
> Pokok permasalahannya adalah bagaimana cara Anda menyusun query.
> Setiap field yang nilai blank di worksheet :
> 1. harus jadi 0 ketika dimasukkan ke field db bertipe numerik
> 2. boleh tetap nullstring '' jika field db bertipe text (string)
>
> Coba pada blok kondisi dalam for each teks1 blabla
> diubah jadi :
> select case teks1.column
> case 4,5 'tipe datetime
> teks1="#" & format$(teks1,"YYYY-MM-DD") & "#"
> case 3,11 'tipe string
> teks1="'" & teks1 & "'"
> case else 'numerik'
> teks1=clng(0 & teks1)
> end select
> teks=teks & "," & teks1
>
> kemudian bagian replace teks yag tadinya berbunyi :
> teks=replace( blabla )
> diganti menjadi :
> teks=mid$(teks,2)
>
> Wassalam,
> Kid.
>
>
>
> 2012/12/19 Heru Safrudin <superheruu@gmail.com>
>
>> **
>>
>>
>> **
>> Dear Mr. Kid
>> Sebelumnya cara dibawah sudah saya coba semua, tapi masih error (type
>> mismatch)
>>
>>
>> ----- Original Message -----
>> *From:* Mr. Kid <mr.nmkid@gmail.com>
>> *To:* belajar-excel@yahoogroups.com
>> *Sent:* Monday, December 17, 2012 5:51 PM
>> *Subject:* Re: [belajar-excel] Data mismatch dimana ya?
>>
>>
>>
>> Pak Heru,
>>
>> 1. Bagaimana jika data di worksheetnya yang diganti dengan 0 ?
>> >> Jadi semua kolom yang harusnya berisi numerik, jika blank diganti 0
>>
>> 2. atau baca nilai cell lalu periksa isinya, jika harusnya kolom bertipe
>> numerik, maka ganti jadi 0.
>> >> ops ini yang coba dilakukan ya...
>> 'If TEKS1.Column = 6 Then
>> ' If TEKS1 = "" Then TEKS1 = 0
>> 'End If
>> coba letakkan hasil usaha di atas sebelum IF lainnya dalam loop tersebut.
>>
>> Wassalam,
>> Kid.
>>
>>
>> 2012/12/17 Heru Safrudin <superheruu@gmail.com>
>>
>>> **
>>>
>>>
>>> saya coba kasih validasi masih mismatch
>>>
>>> 'If TEKS1.Column = 6 Then
>>> ' If TEKS1 = "" Then TEKS1 = 0
>>> 'End If
>>>
>>>
>>> Pada 17 Desember 2012 14:55, Mr. Kid <mr.nmkid@gmail.com> menulis:
>>>
>>> **
>>>>
>>>>
>>>> Pak Heru,
>>>>
>>>> Ada ketidak sesuaian tipe data antara query dengan struktur tabel di
>>>> database-nya.
>>>> Berikut bunyi query Insert Into -nya :
>>>> Insert Into P1 (
>>>> REF,JOB,MACHINE,START,STOP,DOWNTIME,GLD,PK,QTY,KA,REMARK )
>>>> select '1534','200001','A1','02-01-2012','02-01-2012','','150','
>>>> 792','19858','30.2',''
>>>>
>>>> Berikut tipedata tabelnya :
>>>> REF Long JOB Long MACHINE Text (50) START datetime STOP datetime
>>>> DOWNTIME Long GLD Long PK Long QTY Long KA Long REMARK Text (50)
>>>> Semua data yang dimasukkan ke database adalah berupa tipe data string
>>>> dan proses konversi ke tipe data milik table diserahkan ke db engine nya.
>>>> Pada saat inputan berupa NULLSTRING ('') dan harus masuk ke field
>>>> bertipe numerik Long (lihat field Downtime), maka nullstring tidak
>>>> dapat dikonversi oleh db engine.
>>>> Inilah yang menyebabkan data type mismatch.
>>>>
>>>> Wassalam,
>>>> Kid.
>>>>
>>>>
>>>>
>>>> On Mon, Dec 17, 2012 at 1:26 PM, Heru Safrudin <superheruu@gmail.com>wrote:
>>>>
>>>>> **
>>>>>
>>>>>
>>>>>
>>>>> Dear Mr. Kid
>>>>>
>>>>> Dimanakan letak data mismatchnya ya? (terlampir)
>>>>>
>>>>>
>>>>> --
>>>>> Regards,
>>>>>
>>>>> Heru Safrudin
>>>>>
>>>>>
>>>>
>>>
>>>
>>> --
>>> Regards,
>>>
>>> Heru Safrudin
>>>
>>>
>>>
>>
>
>

--
Regards,

Heru Safrudin

Wed Dec 19, 2012 3:59 am (PST) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

waduh masih error ya...
masih belum sempet buka file nih...

kira-kira yang bikin error bagian mana ?
Jangan-jangan yang baris RS.open blablabla

Kid.

2012/12/19 Heru Safrudin <superheruu@gmail.com>

> **
>
>
> Dear Mr.Kid
>
> Karena putus asa itu dosa, terpaksa saya kuatkan hati dan beranikan diri
> untuk terus bertanya.
> Instruksi Mr. sudah saya laksanakan tapi belum berjalan seperti yg
> diharapkan
> Apalagi yang masih salah ? file terlampir
>
> Semoga Allah SWT memberi petunjuk dan pertolongan pada orang yg memberi
> pertolongan
> ������������ ���������� ���������� ����� �������������
>
>
> Pada 19 Desember 2012 12:35, Mr. Kid <mr.nmkid@gmail.com> menulis:
>
> **
>>
>>
>> Maaf belum sempat lihat langsung dalam file.
>>
>> Pokok permasalahannya adalah bagaimana cara Anda menyusun query.
>> Setiap field yang nilai blank di worksheet :
>> 1. harus jadi 0 ketika dimasukkan ke field db bertipe numerik
>> 2. boleh tetap nullstring '' jika field db bertipe text (string)
>>
>> Coba pada blok kondisi dalam for each teks1 blabla
>> diubah jadi :
>> select case teks1.column
>> case 4,5 'tipe datetime
>> teks1="#" & format$(teks1,"YYYY-MM-DD") & "#"
>> case 3,11 'tipe string
>> teks1="'" & teks1 & "'"
>> case else 'numerik'
>> teks1=clng(0 & teks1)
>> end select
>> teks=teks & "," & teks1
>>
>> kemudian bagian replace teks yag tadinya berbunyi :
>> teks=replace( blabla )
>> diganti menjadi :
>> teks=mid$(teks,2)
>>
>> Wassalam,
>> Kid.
>>
>>
>>
>>

Tue Dec 18, 2012 11:00 pm (PST) . Posted by:

"Tony Bexcel"

Dear Pakar yang budiman,
 
Alhamdulillah..terimakasih para pakar exceller...dan Mr.Kid, akhirnya bisa terselesaikan..memang patut di acungkan jempol..kalau perlu semua jari deh jempol semua..hehehe..
Lalu untuk membentuk Patern M1,M2 dan M3 apakah ada solusi nya juga?
 
Sekali lagi terimakasih yang tak terhingga,semoga para pemula bisa belajar dari file saya juga.
 
Salam,
Tony

--- Pada Sel, 18/12/12, Mr. Kid <mr.nmkid@gmail.com> menulis:

Dari: Mr. Kid <mr.nmkid@gmail.com>
Judul: Re: [belajar-excel] Menghitung rata2 sisa activity
Kepada: belajar-excel@yahoogroups.com
Tanggal: Selasa, 18 Desember, 2012, 7:56 PM

 

hehehehe... akhirnya sampai juga pada tahap berikutnya.

Jadi formula tahap 1 untuk bisa mendapatkan nomor bulan setelah week akhir proses. Semua nilai bulan yang sama dengan week pertama setelah akhir proses akan di rerata. Padahal, harusnya yang direrata hanya week setelah week akhir proses.

Kriteria berikutnya :
>> nilai week yang lebih dari (>) week akhir proses (dikolom bantu kolom B)
Pada tabel ada header W1 sampai Wsekian. Header ini bertipe text karena datanya memang bertipe text.
Data bertipe text dengan susunan yang tidak konsisten (seperti angka 17 ditulis 17 tapi angka 1 ditulis 1 bukannya 01) membuat sulitnya proses perbandingan.
Untuk memudahkan proses, maka header week seperti w1 sampai wsekian akan diubah menjadi numerik.
Caranya,
1. ganti W1 dengan 1, kemudian W2 dengan 2, dst. Atau lakukan replace terhadap header itu, find what isi W lalu replace all.
2. blok header tersebut (yang sudah jadi bertipe numerik) -> klik kanan -> format cells -> number -> custom -> tulis  "W"General -> tekan OK

Sampai sini, maka formula sudah siap diubah.
1. menjabarkan kriteria tambahan secara detil sedetil-detilnya.
>> bunyi kriteria : "hanya week setelah week akhir proses."
>> artinya : header week lebih dari nilai week akhir di kolom B
>> logat formula :  $F$4:$bb$4 > $b6       (untuk data baris 6)
>> yang biru adalah nilai yang dibandingkan, yang di latar kuning adalah nilai batasan alias kriteria.

Kriteria di atas kan dimasukkan ke formula yang dulu pernah dibuat. Sebelumnya, mari kita baca ulang catatan yang pernah dituliskan di email lalu.
Berikut ini bunyinya : (perhatikan catatan nomor 2)
Catatan :
1. Jika keadaan nyata tidak sama dengan asumsi, maka sesuaikan formula.
2. Jika kriteria lebih dari 1, maka
     >> pada logat xl2007 ganti AverageIF dengan AverageIFs dan sesuaikan bagian kriteria agar diperoleh nilai-nilai data yang akan direrata.
     >> pada logat ilmiah dibagian pengkondisian (IF) dijabarkan logika perbandingan kriteria-kriteria yang digunakan.
3. Pada M-2 atau M-sekian, sesuaikan penambah angka bulan setelah week akhir proses agar diperoleh nilai bulan yang pantas direrata nilai datanya.
4. Jika akan mencari M pada angka bulan week pertama sebelum week awal proses, sesuaikan rujukan yang berkaitan dengan range di baris 3.

Kita mulai dengan :
1. logat xl2007 ke atas.
>> jika dengan AverageIF, hanya bisa untuk 1 kriteria dan bunyinya adalah :
     =IFError( AVERAGEIF($F$3:$BB$3,INDEX($F$3:$BB$3,$B6+1)+0,$F6:$BB6) , 0 )

>> kriteria lebih dari 1 (kejadian sekarang kan), maka ganti AverageIF dengan AverageIFs dan sesuaikan bagian kriteria
     - cara menggunakan fungsi AVERAGEIFS menurut Excel :
        AVERAGEIFS(  average_range  ,   criteria_range1,criteria1   ,   criteria_range2,criteria2   …)
     - untuk kasus pengubahan dari IFERROR blabla di atas, maka bagian AVERAGEIF yang harus diubah dengan AVERAGEIFS
     - pengubahan dilakukan dengan menyesuaikan ulang letak-letak rujukan inputan.
    
     - lihat pada susunan AVERAGEIFS tapi bayangkan tabel kerja
          average_range  :: range mana yang akan di rerata ?   >> jawaban Anda ? <<     -- harusnya berbunyi  : $F6:$BB6
          criteria_range1 :: range mana yang diperbandingkan dengan kriteria1 ?  >> jawaban Anda ? <<    -- harusnya berbunyi : $F$3:$BB$3
          criteria1 :: apa nilai kriteria1 nya ?    >> tentu saja :  INDEX($F$3:$BB$3,$B6+1)+0
          criteria_range2 :: range mana yang diperbandingkan dengan kriteria2 ?   -- bisa jawab sama dong, yaitu : $F$4:$bb$4
          criteria2 :: apa nilai kriteria2 nya ?  -- kalau jawaban yang ini bisa jadi beda deh, yaitu : > $b6  tapi dalam bentuk text, yaitu berupa tulisan ">" & $b6
    - sekarang dipasang deh ke averageifs
        AVERAGEIFS(   $F6:$BB6  ,   $F$3:$BB$3 , INDEX($F$3:$BB$3,$B6+1)+0   ,   $F$4:$bb$4   ,   ">" & $b6   )
    - kemudian AVERAGEIFS ini menggantikan AVERAGEIF [gak pake S] dalam formula tahap 1 doeloe itoe, menjadi :
       =IFError( AVERAGEIFS(   $F6:$BB6  ,   $F$3:$BB$3 , INDEX($F$3:$BB$3,$B6+1)+0   ,   $F$4:$bb$4   ,   ">" & $b6   ) , 0 )

2. logat ilmiah (array formula) untuk semua versi Excel
>> array formula tahap 1 adalah :
     =AVERAGE(   IF( $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0  , $F6:$BB6 )   )
     - kriteria pada array formula di atas adalah : (baru 1 kriteria kan)
          $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0

>> kriteria yang akan ditambahkan adalah berbunyi :  (sebagai kriteria ke-2)
        $F$4:$bb$4 > $b6
      wah... ternyata $b6 masih bertipe text, maka masukkan ke salon si $b6 itu biar jadi punya jambul seperti berikut ini :
        $F$4:$bb$4 > --$b6

>> kedua kriteria harus terpenuhi. Artinya, keduanya dihubungkan dengan DAN (bahasa Inggeris-nya AND) yang kalau di matematika itu setara dengan perkalian.
     Perkalian di Excel dilambangkan dengan karakter *

>> Jadi, susunan kriteria nya :
       $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0   DAN    $F$4:$bb$4 > --$b6
     - kalau matematika ditulis seperti itu, pasti hasilnya salah, karena ada 2 sisi yang diproses, yaitu sisi kiri DAN    beserta sisi kanan DAN   
        supaya gak salah hitung, maka setiap sisi dikurung (biar gak lari cari pasangan di sisi lainnya)
     - jadi, kalau sudah di-pakai-in kurung jadi :
       (  $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0  )  DAN  (  $F$4:$bb$4 > --$b6  )
     - karena Excel kenalnya kata DAN    itu sebagai sebuah perkalian, maka digantilah dengan *
        menjadi :
       (  $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0  )  *  (  $F$4:$bb$4 > --$b6  )

    - jadi deh susunan kriteria yang baru, yang sudah berubah dari hanya berisi 1 kriteria menjadi ada 2 kriteria.
    - lalu masukkan ke bagian kondisi (alias menggantikan bagian $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0 dalam array formula tahap 1)

>> Array formula sudah lebih perlente menjadi lebih maskulin. Inilah dia array formula nya :
     =AVERAGE(   IF( (  $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0  )  *  (  $F$4:$bb$4 > --$b6  )  , $F6:$BB6 )   )

>> eh...udah ganteng seperti itu, yang ngajak kencan (user-nya) gak godain si array formula dengan CTRL  SHIFT   ENTER
     jiiiiaaaahhh... jadi kelihatan cupu deh si array formula.
     jadi jangan lupa ya, usai menulis si formula, tekan CTRL   SHIFT   ENTER
    supaya gantengnya array formula bisa terpancar kemana-mana.

Oh iya, sebelum lupa...
Jadi dari semua kriteria di atas, dengan logat apapun, tidak ada kriteria yang disusun berdasar faktor U ya... so ndak usah dipusingkan faktor U nya bernilai berapa, anggap saja itu nomor urut yang gak ada efeknya pada data. Cukup baca perlahan baris-per-baris jangan terlewatkan. Jalankan instruksi jika baris itu memberi instruksi. Sabar dan berdoa adalah kunci.

Wassalam,
Kid.

2012/12/18 Tony Bexcel <tonybexcel@yahoo.co.id>

 

Dear Pakar yang budiman..
 
Terimakasih Mr.Kid..akhir nya ketemu juga yang dimaksud..iya benar hanya mengganti +0 menjadi +1 atau +2..
Akan tetapi kenapa masih ada hasil yang salah pada M-1 bila saya hitung dengan cara manual?
Berikut saya lampirkan file nya ya temans..

 
Salam,
Tony

--- Pada Sel, 18/12/12, Mr. Kid <mr.nmkid@gmail.com> menulis:

Dari: Mr. Kid <mr.nmkid@gmail.com>
Judul: Re: [belajar-excel] Menghitung rata2 sisa activity
Kepada: belajar-excel@yahoogroups.com
Tanggal: Selasa, 18 Desember, 2012, 3:36 PM

 

hehehe... kenapa tidak dicoba saja dengan bekal nekad, ganti +0 jadi +1 +2 atau + berapa aja, lalu ganti juga dengan -1, -2 atau berapa saja. Lalu bandingkan nilainya sesuai yang mana. Dan apa efek setiap penambahan tersebut.

Wassalam,
Kid.

2012/12/18 Tony Bexcel <tonybexcel@yahoo.co.id>

 

Dear Pakar yang Budiman,
 
Terimakasih atas segala penjelasan yang sangat detail dari Mr.Kid,namun dari awal saya baca sampai sekarang masih terkesima dan benar2 tidak bisa berbuat apa2..mungkin krn keterbatasan kemampuan mencerna penjabaran seperti ini sangat sulit dibanding melihat dari urutan pada file nya.( Maklum Faktor U..hehehe..)
Tapi tidak apa2 bila cukup seperti itu penyampaian nya ,tetap saya sangat berterima kasih atas segala perhatian nya, semoga bermanfaat  buat teman2 Exceller lain nya.
 
Salam,
Tony

--- Pada Sel, 18/12/12, Mr. Kid <mr.nmkid@gmail.com> menulis:

Dari: Mr. Kid <mr.nmkid@gmail.com>
Judul: Re: Re: [belajar-excel] Menghitung rata2 sisa activity
Kepada: belajar-excel@yahoogroups.com
Tanggal: Selasa, 18 Desember, 2012, 1:59 PM

 

Pak Tony,

Pada formula sudah disertakan penjelasan singkatnya sebagai berikut :
=IFError( AVERAGEIF($F$3:$BB$3,INDEX($F$3:$BB$3,$B6+1)+0,$F6:$BB6) , 0 )
Bagian-bagian formula :
$F6:$BB6 :: nilai data yang direrata
$F$3:$BB$3 :: angka-angka bulan
INDEX($F$3:$BB$3,$B6+1)+0 :: angka bulan pada week pertama setelah week akhir proses
$B6:: kolom bantu posisi week akhir proses yang berupa formula =MID(E6,FIND("#",E6,9)+1,2)
+0 :: penambah angka bulan setelah week akhir proses

Coba perhatikan.
INDEX($F$3:$BB$3,$B6+1) menghasilkan nilai bulan week pertama setelah week terakhir proses.
Misal week akhir proses adalah di week 36, maka hasil Index adalah pada kolom milik week 37
Setelah si formula tahu dimana kolom yang harus dipakai (yaitu kolom week 37), maka dia akan mengambill nilai bulan (yang ada di baris 3 nya).
Anggap saja week 36 itu bulannya 9 dan week 37 sudah masuk bulan 10. Hasil Index adalah angka 10 tersebut.
Angka 10 itu kan yang Anda maksud M-1.

Kemudian, setelah bagian Index ada penambahan dengan 0 (latar kuning)
INDEX($F$3:$BB$3,$B6+1)+0
Karena tadi hasil Index adalah 10 kemudian ditambah 0, maka hasilnya tetap 10, maka masih benar sebagai M-1. Sampai sini setuju gak ?
Kalau setuju, berarti keterangan :
     +0 :: penambah angka bulan setelah week akhir proses 
adalah penjelasan yang logis untuk memudahkan Anda mengubah sesuai keinginan agar menjadi M-1 (untuk 0) atau M..M.. lainnya sesuai selera.
Lagipula, untuk apa ada +0 dalam formula, bukannya malah bikin formula tambah panjang tuh. Aneh kan...
Karena memang maksudnya adalah untuk keterangan bahwa bagian itu yang diubah untuk mendapatkan nilai-nilai bulan setelahnya yang dibutuhkan.

Wassalam,
Kid.

2012/12/18 Tony Bexcel <tonybexcel@yahoo.co.id>

 

Dear Pakar Yang Budiman,
 
Saya sangat membutuhkan bantuan solusi dan penerjemahan yang memudahkan saya mempelajari maksud dari Mr.Kid untuk pengisian pada cell M-1 dan M3.
Bila para pakar bersedia meluangkan waktu dan ilmu pamungkasnya, saya ucapkan banyak terimakasih yang tak terhingga karena data ini akan dipakai untuk kepentingan banyak orang.
Sekali lagi mohon maaf bila ada kata2 yang kurang berkenan dan salah dalam penyampaian nya.
 
Salam,
Tony

--- Pada Sen, 17/12/12, Tony Bexcel <tonybexcel@yahoo.co.id> menulis:

Dari: Tony Bexcel <tonybexcel@yahoo.co.id>

Judul: Re: [belajar-excel] Menghitung rata2 sisa activity
Kepada: belajar-excel@yahoogroups.com
Tanggal: Senin, 17 Desember, 2012, 3:16 PM

 

Dear Pakar yang Budiman,
 
Terimakasih Mr.Kid atas penjelasan rincinya..dan sudah bisa teratasi namun untuk M2 dan M sekian nya masih gak ngerti penjabaran nya..hadeuuh...maaf beribu maaf terlalu bodoh saya Mr.Kid..tolong banget ya penjabaran nya..
 
 
Salam,
Tony

--- Pada Sen, 17/12/12, Mr. Kid <mr.nmkid@gmail.com> menulis:

Dari: Mr. Kid <mr.nmkid@gmail.com>
Judul: Re: [belajar-excel] Menghitung rata2 sisa activity
Kepada: belajar-excel@yahoogroups.com
Tanggal: Senin, 17 Desember, 2012, 12:26 PM

 

Pak Tony,

coba kalau bacanya urut.
di bagian awal sudah ada kalimat yang bunyinya :
'----------------------------------------------------------'
Formula-formula berikut meminta syarat :
1. Pada baris ke-3 diisi dengan angka bulan [1 sampai 12] (bukan teks bulan apapun)
2. sebuah kolom dikanan kolom data terkanan selalu kosong (untuk kasus ini, berarti kolom BB) mulai dari baris 3 sampai baris terakhir data.
3. data selalu dimulai dari week 1
'----------------------------------------------------------'

Coba penuhi dulu syaratnya, baru baca bagian formulanya.

Wassalam,
Kid.

2012/12/17 Tony Bexcel <tonybexcel@yahoo.co.id>

 

Dear Mr.Kid
 
Terlampir file nya ya Pak..pada M-1 di Cell yang diberi warna kuning.
Mohon maaf merepotkan ya Pak..
 
 
Salam,
Tony

--- Pada Sen, 17/12/12, Mr. Kid <mr.nmkid@gmail.com> menulis:

Dari: Mr. Kid <mr.nmkid@gmail.com>
Judul: Re: [belajar-excel] Menghitung rata2 sisa activity
Kepada: belajar-excel@yahoogroups.com
Tanggal: Senin, 17 Desember, 2012, 10:04 AM

 

Coba disertakan contoh usahanya. Bisa jadi akan mempermudah penelusuran penyebab kosongnya.

Wassalam,
Kid.

2012/12/17 Tony Bexcel <tonybexcel@yahoo.co.id>

 

Dear Pakar yang Budiman,
 
Selamat Pagi teman2..Terimakasih Mr.Kid sudah membantu solusinya dan meluangkan waktunya,tapi saya mohon bantuan nya lagi..mungkin memang disini kelemahan saya dalam menrjemahkan kasus karena terbiasa melihat dan mengurutkan formula langsung dari soal nya.Saya sudah coba berulang tapi hasil nya tetap kosong walau sudah menggunakan Ctrl+Shift+Enter.
Sekali lagi saya mohon bantuannya ya Temans..
 
 
Salam,
Tony

--- Pada Ming, 16/12/12, Mr. Kid <mr.nmkid@gmail.com> menulis:

Dari: Mr. Kid <mr.nmkid@gmail.com>
Judul: Re: [belajar-excel] Menghitung rata2 sisa activity
Kepada: belajar-excel@yahoogroups.com
Tanggal: Minggu, 16 Desember, 2012, 1:22 AM

 

Belum ada yang reply ya...

Formula-formula berikut meminta syarat :
1. Pada baris ke-3 diisi dengan angka bulan [1 sampai 12] (bukan teks bulan apapun)
2. sebuah kolom dikanan kolom data terkanan selalu kosong (untuk kasus ini, berarti kolom BB) mulai dari baris 3 sampai baris terakhir data.
3. data selalu dimulai dari week 1

Bahasa manusia untuk semua formula dibawah sana :
"Reratakan nilai data yang angka bulan di baris 3 adalah sama dengan angka bulan di-week pertama setelah week akhir proses"

Formula untuk M-1 : (misal baris 6)
>> pakai logat xl2007 ke atas
=AVERAGEIF( $F$3:$BB$3 , INDEX($F$3:$BB$3,$B6+1)+0 , $F6:$BB6 )
Formula ini akan menghasilkan error value ketika akhir proses adalah pada bulan terakhir yang ada. Untuk itu perlu penambahan trap error dengan IFError.
=IFError( AVERAGEIF($F$3:$BB$3,INDEX($F$3:$BB$3,$B6+1)+0,$F6:$BB6) , 0 )
Bagian-bagian formula :
$F6:$BB6 :: nilai data yang direrata
$F$3:$BB$3 :: angka-angka bulan
INDEX($F$3:$BB$3,$B6+1)+0 :: angka bulan pada week pertama setelah week akhir proses
$B6:: kolom bantu posisi week akhir proses yang berupa formula =MID(E6,FIND("#",E6,9)+1,2)
+0 :: penambah angka bulan setelah week akhir proses

>> pakai logat ilmiah (array formula) yang dimengerti semua versi  (jangan lupa untuk mengakhiri penulisan formula dengan CTRL  SHIFT  ENTER)
=AVERAGE(   IF( $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0  , $F6:$BB6 )   )
Bagian-bagian formula :
$F6:$BB6 :: nilai data yang direrata
$F$3:$BB$3 :: angka-angka bulan
INDEX($F$3:$BB$3,$B6+1)+0 :: angka bulan pada week pertama setelah week akhir proses
$B6:: kolom bantu posisi week akhir proses yang berupa formula =MID(E6,FIND("#",E6,9)+1,2)
+0 :: penambah angka bulan setelah week akhir proses

Catatan :
1. Jika keadaan nyata tidak sama dengan asumsi, maka sesuaikan formula.
2. Jika kriteria lebih dari 1, maka
     >> pada logat xl2007 ganti AverageIF dengan AverageIFs dan sesuaikan bagian kriteria agar diperoleh nilai-nilai data yang akan direrata.
     >> pada logat ilmiah dibagian pengkondisian (IF) dijabarkan logika perbandingan kriteria-kriteria yang digunakan.
3. Pada M-2 atau M-sekian, sesuaikan penambah angka bulan setelah week akhir proses agar diperoleh nilai bulan yang pantas direrata nilai datanya.
4. Jika akan mencari M pada angka bulan week pertama sebelum week awal proses, sesuaikan rujukan yang berkaitan dengan range di baris 3.

Wassalam,
Kid.

2012/12/14 Tony Bexcel <tonybexcel@yahoo.co.id>

 

Dear All Pakar yang budiman,
 
Terlampir adalah file sebelum nya namun disini masih ada kasus yang butuh bantuan untuk menghitung rata2 di 3 bulan kedepan akhir dari activity.
Dalam penyampaian kasus mungkin saya kurang baik, untuk itu saya lampirkan file terlampir.
Atas bantuan dan waktunya saya ucapkan terimakasih.
 
 
Salam,
Tony

_

Wed Dec 19, 2012 10:46 am (PST) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Pak Tony,

Masih ingat dengan bunyi logat ilmiah dari pencarian M-1 yang lalu ?
Dicopas ulang kalau sudah lupa...
*=AVERAGE( IF( **( $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * (
$F$4:$bb$4 > **--$b6 ) , $F6:$BB6 ) )*

Masih ingat bagian mana yang menjadi kriteria ?
Dicopas ulang juga deh....
*( **$F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * ( $F$4:$bb$4 > **--$b6
)*

dibayang-bayangkan dulu saja ya....

ops... belum terbayang...

ooohh... masih belum terbayang...

aahhh... sudah mulai terbayang.... tapi hilang lagi...

ya wis lah...
Bagian kondisi di atas sana tadi adalah mengolah banyak cell sekaligus. Itu
sebabnya formula menjadi array formula.

Untuk membuat arsiran tentu saja hanya akan mengolah 1 cell saja. Itupun
hanya pada cell yang aktif.
Pada bagian kondisi tersebut, ada bunyi :
*$F$3:$BB$3* : yang artinya bahwa area range itu dirujuk bersamaan. Tentu
saja untuk diproses perbandingan dengan hasil bagian Index blabla
Tapi, yang jelas dimulai dari cell *$F$3*

Ada bagian :
*$F$4:$bb$4* : dan dimulai dari *$F$4*

Ada bagian :
*$b6* : berarti di cell B6

Berarti,
1. cell pertama area yang diarsir ada di F6. Sampai sini harus setuju (gak
pake tanya setuju atau ndak)
Lalu, area data itu ada banyak kolom dan baris. Semuanya akan diarsir
jika memenuhi syarat.
Berarti,
A. cell aktif harus di F6 (*klik F6 ya*)
B. blok semua data (ingat, dimulai dari F6 yang sudah diklik [aktif])

Berikutnya :
Bagian kondisi jika hanya dilihat dari F6 maka rujukannya harus cuma ke
F3,F4, dan B6.
Berati bagian kondisinya perlu diubah, dari :
*( **$F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * ( $F$4:$bb$4 > **--$b6
)*
menjadi :
*( **$F$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * ( $F$4 > **--$b6 )*

2. Didapat susunan statis bagian kondisi menurut setiap cell data (misal di
cell pertama data, yaitu di F6) adalah :
*( **$F$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * ( $F$4 > **--$b6 )*

Lanjutannya :
Area data yang diarsir, akan berubah menurut barisnya (ada banyak baris
data) dan menurut kolomnya (ada banyak kolom data).
Maka :
A. Semua yang merujuk ke header data (baris 3 dan 4) harus absolute
(terkunci) barisnya supaya tetap merujuk ke header, tetapi bebas kolomnya.
>> yang merujuk ke header adalah bagian *$F$3* dan *$F$4*
yang harus diubah absolute baris tapi bebas kolomnya menjadi : *
F$3* dan *F$4*
B. Semua yang merujuk kolom bantu week akhir proses (di kolom B), yaitu *$b6
* , harus bebas barisnya dan tetap (absolute) kolomnya
>> dan apa yang ada sudah sesuai, yaitu absolute kolom
Jadi, susunan bagian kondisi hasil Nomor 2 tadi, akan berubah menjadi :
*( **F$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * ( F$4 > **--$b6 )*

3. Sampai disini :
F6 dalam kondisi aktif dengan seluruh area data terblok dan sudah
mendapatkan susunan kriteria per cell data yang diwakili oleh si cell
paling pojok kiri atas (F6) berbunyi :
*( **F$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * ( F$4 > **--$b6 )*

Sekarang urusan ngebet pengen *arsir area data (Formatting)* *berdasar
suatu kondisi tertentu (Conditional)*.
Jadi fiturnya adalah *Conditional Formatting.*

Sekarang buat Conditional Formatting (CF)
-> di Excel 2007 :: ribbon Home -> group Styles -> Conditional Formatting
-> pilih New Rule -> pilih opsi Use Formula blablabla...
-> di Excel 2003 :: menu Format -> Conditional Formatting -> pilih Is
Formula atau sebangsanya....

Lalu pada area textbox untuk formula, diisi dengan bunyi kondisi hasil
nomor 3 dengan didahului tanda sama dengan (=)
=*( **F$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * ( F$4 > **--$b6 )*

Kemudian, atur formatnya (klik tombol Format)
Sudah puas atur format, lanjutkan dengan tekan OK sampai kembali ke
worksheet.

Selesai....
kalau ada error atau tidak sesuai, mungkin perlu cek lagi kesamaan bunyi
formulanya dengan formula di atas dan titik mulai dibloknya area data saat
buat CF.

Wassalam,
Kid.

2012/12/19 Tony Bexcel <tonybexcel@yahoo.co.id>

> **
>
>
> Dear Pakar yang budiman,
>
> Alhamdulillah..terimakasih para pakar exceller...dan Mr.Kid, akhirnya bisa
> terselesaikan..memang patut di acungkan jempol..kalau perlu semua jari deh
> jempol semua..hehehe..
> Lalu untuk membentuk Patern M1,M2 dan M3 apakah ada solusi nya juga?
>
> Sekali lagi terimakasih yang tak terhingga,semoga para pemula bisa belajar
> dari file saya juga.
>
> Salam,
> Tony
>
> --- Pada *Sel, 18/12/12, Mr. Kid <mr.nmkid@gmail.com>* menulis:
>
>
> Dari: Mr. Kid <mr.nmkid@gmail.com>
> Judul: Re: [belajar-excel] Menghitung rata2 sisa activity
> Kepada: belajar-excel@yahoogroups.com
> Tanggal: Selasa, 18 Desember, 2012, 7:56 PM
>
>
>
> hehehehe... akhirnya sampai juga pada tahap berikutnya.
>
> Jadi formula tahap 1 untuk bisa mendapatkan nomor bulan setelah week akhir
> proses. Semua nilai bulan yang sama dengan week pertama setelah akhir
> proses akan di rerata. Padahal, harusnya yang direrata hanya *week
> setelah week akhir proses*.
>
> Kriteria berikutnya :
> >> nilai week yang lebih dari (>) week akhir proses (dikolom bantu kolom B)
> Pada tabel ada header W1 sampai Wsekian. Header ini bertipe text karena
> datanya memang bertipe text.
> Data bertipe text dengan susunan yang tidak konsisten (seperti angka 17
> ditulis 17 tapi angka 1 ditulis 1 bukannya 01) membuat sulitnya proses
> perbandingan.
> Untuk memudahkan proses, maka header week seperti w1 sampai wsekian akan
> diubah menjadi numerik.
> Caranya,
> 1. ganti W1 dengan 1, kemudian W2 dengan 2, dst. Atau lakukan replace
> terhadap header itu, find what isi W lalu replace all.
> 2. blok header tersebut (yang sudah jadi bertipe numerik) -> klik kanan ->
> format cells -> number -> custom -> tulis "W"General -> tekan OK
>
> Sampai sini, maka formula sudah siap diubah.
> 1. menjabarkan kriteria tambahan secara detil sedetil-detilnya.
> >> bunyi kriteria : "hanya *week setelah week akhir proses*."
> >> artinya : header week lebih dari nilai week akhir di kolom B
> >> logat formula : *$F$4:$bb$4* > $b6 (untuk data baris 6)
> >> yang *biru *adalah *nilai yang dibandingkan*, yang di latar kuningadalah nilai
> batasan alias kriteria.
>
> Kriteria di atas kan dimasukkan ke formula yang dulu pernah dibuat.
> Sebelumnya, mari kita baca ulang catatan yang pernah dituliskan di email
> lalu.
> Berikut ini bunyinya : (perhatikan catatan nomor 2)
> *Catatan :
> *1. Jika keadaan nyata tidak sama dengan asumsi, maka sesuaikan formula.
> *2. Jika kriteria lebih dari 1, maka
> >> pada logat xl2007 ganti AverageIF dengan AverageIFs dan sesuaikan
> bagian kriteria agar diperoleh nilai-nilai data yang akan direrata.
> >> pada logat ilmiah dibagian pengkondisian (IF) dijabarkan logika
> perbandingan kriteria-kriteria yang digunakan.*
> 3. Pada M-2 atau M-sekian, sesuaikan penambah angka bulan setelah week
> akhir proses agar diperoleh nilai bulan yang pantas direrata nilai datanya.
> 4. Jika akan mencari M pada angka bulan week pertama sebelum week awal
> proses, sesuaikan rujukan yang berkaitan dengan range di baris 3.
>
> Kita mulai dengan :
> *1. logat xl2007 ke atas.*
> >> jika dengan AverageIF, hanya bisa untuk 1 kriteria dan bunyinya adalah :
> * =IFError( AVERAGEIF($F$3:$BB$3,INDEX($F$3:$BB$3,$B6+1)+0,$F6:$BB6)
> , 0 )*
>
> >> kriteria lebih dari 1 (kejadian sekarang kan), maka *ganti AverageIF
> dengan AverageIFs dan sesuaikan bagian kriteria *
> - cara menggunakan fungsi AVERAGEIFS menurut Excel :
> *AVERAGEIFS( average_range , criteria_range1,criteria1 ,
> criteria_range2,criteria2 �)*
> - untuk kasus pengubahan dari IFERROR blabla di atas, maka bagian
> AVERAGEIF yang harus diubah dengan AVERAGEIFS
> - pengubahan dilakukan dengan menyesuaikan ulang letak-letak rujukan
> inputan.
>
> - lihat pada susunan AVERAGEIFS tapi bayangkan tabel kerja
> *average_range* :: range mana yang akan di rerata ? >>
> jawaban Anda ? << -- harusnya berbunyi : *$F6:$BB6*
> *criteria_range1 *:: range mana yang diperbandingkan dengan
> kriteria1 ? >> jawaban Anda ? << -- harusnya berbunyi : *$F$3:$BB$3*
> *criteria1 *:: apa nilai kriteria1 nya ? >> tentu saja : *
> INDEX($F$3:$BB$3,$B6+1)+0*
> *criteria_range2 *:: range mana yang diperbandingkan dengan
> kriteria2 ? -- bisa jawab sama dong, yaitu : *$F$4:$bb$4*
> *criteria2 *:: apa nilai kriteria2 nya ? -- kalau jawaban yang
> ini bisa jadi beda deh, yaitu : > $b6 tapi dalam bentuk text, yaitu
> berupa tulisan ">" & $b6
> - sekarang dipasang deh ke averageifs
> *AVERAGEIFS( $F6:$BB6 , $F$3:$BB$3 , INDEX($F$3:$BB$3,$B6+1)
> +0 , $F$4:$bb$4 , ">" & $b6 )*
> - kemudian AVERAGEIFS ini menggantikan AVERAGEIF [gak pake S] dalam
> formula tahap 1 doeloe itoe, menjadi :
> *=IFError( **AVERAGEIFS( $F6:$BB6 , $F$3:$BB$3 , INDEX($F$3:$
> BB$3,$B6+1)+0 , $F$4:$bb$4 , ">" & $b6 ) , 0 )*
>
> *2. logat ilmiah (array formula) untuk semua versi Excel*
> >> array formula tahap 1 adalah :
> *=AVERAGE( IF( $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0 , $F6:$BB6) )
> *
> - kriteria pada array formula di atas adalah : (baru 1 kriteria kan)
> *$F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0*
>
> >> kriteria yang akan ditambahkan adalah berbunyi : (sebagai kriteria
> ke-2)
> *$F$4:$bb$4* > $b6
> wah... ternyata $b6 masih bertipe text, maka masukkan ke salon si
> $b6 itu biar jadi punya jambul seperti berikut ini :
> *$F$4:$bb$4* > --$b6
>
>
> >> kedua kriteria harus terpenuhi. Artinya, keduanya dihubungkan dengan
> DAN (bahasa Inggeris-nya AND) yang kalau di matematika itu setara dengan
> perkalian.
> Perkalian di Excel dilambangkan dengan karakter *
>
> >> Jadi, susunan kriteria nya :
> *$F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0* DAN *$F$4:$bb$4* > --
> $b6
> - kalau matematika ditulis seperti itu, pasti hasilnya salah, karena
> ada 2 sisi yang diproses, yaitu sisi kiri DAN beserta sisi kanan DAN
>
> supaya gak salah hitung, maka setiap sisi dikurung (biar gak lari
> cari pasangan di sisi lainnya)
> - jadi, kalau sudah di-pakai-in kurung jadi :
> ( *$F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0* ) DAN ( *$F$4:$bb$4
> * > --$b6 )
> - karena Excel kenalnya kata DAN itu sebagai sebuah perkalian,
> maka digantilah dengan *
> menjadi :
> ( *$F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0* ) * ( *$F$4:$bb$4* >
> --$b6 )
>
> - jadi deh susunan kriteria yang baru, yang sudah berubah dari hanya
> berisi 1 kriteria menjadi ada 2 kriteria.
> - lalu masukkan ke bagian kondisi (alias menggantikan bagian *$F$3:$BB
> $3 = INDEX($F$3:$BB$3,$B6+1)+0* dalam array formula tahap 1)
>
> >> Array formula sudah lebih perlente menjadi lebih maskulin. Inilah dia
> array formula nya :
> *=AVERAGE( IF( **( $F$3:$BB$3 = INDEX($F$3:$BB$3,$B6+1)+0 ) * (
> $F$4:$bb$4 > **--$b6 ) , $F6:$BB6 ) )*
>
> >> eh...udah ganteng seperti itu, yang ngajak kencan (user-nya) gak godain
> si array formula dengan CTRL SHIFT ENTER
> jiiiiaaaahhh... jadi kelihatan cupu deh si array formula.
> jadi jangan lupa ya, usai menulis si formula, tekan CTRL SHIFT
> ENTER
> supaya gantengnya array formula bisa terpancar kemana-mana.
>
> Oh iya, sebelum lupa...
> Jadi dari semua kriteria di atas, dengan logat apapun,* tidak ada*kriteria yang disusun berdasar faktor U ya... so ndak usah dipusingkan
> faktor U nya bernilai berapa, anggap saja itu nomor urut yang gak ada
> efeknya pada data. Cukup baca perlahan baris-per-baris jangan terlewatkan.
> Jalankan instruksi jika baris itu memberi instruksi. Sabar dan berdoa
> adalah kunci.
>
> Wassalam,
> Kid.
>
>
>
>

Wed Dec 19, 2012 12:53 am (PST) . Posted by:

"Teti Zhe" teti_zhe



 Dear all,
Saya punya file workbook excel yang di dalamnya terdiri dari banyak sheet..
rumus perhitungan yang dipakai juga hanya sebatas pengurangan, penambahan dan, penjumlahan keseluruhan sel dalam masing2 sheet. tapi koq berat banget saat dibuka, membutuhkan waktu yang cukup lama untuk mengetik kemudian menyimpan, sering not responding gitu.. gimana dunk solusinya?? 
Mkasih..

Salam,
Teti.

Wed Dec 19, 2012 2:03 am (PST) . Posted by:

"hendrik karnadi" hendrikkarnadi

Coba jalan-jalan ke sini
http://chandoo.org/wp/2012/03/20/optimize-speedup-excel-formulas/

Salam,
Hendrik Karnadi

________________________________
From: Teti Zhe <teti_zhe@yahoo.com>
To: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Sent: Wednesday, 19 December 2012, 15:53
Subject: [belajar-excel] bagaimana cara agar excel tidak berat waktu dibuka?


 

 Dear all,
Saya punya file workbook excel yang di dalamnya terdiri dari banyak sheet..
rumus perhitungan yang dipakai juga hanya sebatas pengurangan, penambahan dan, penjumlahan keseluruhan sel dalam masing2 sheet. tapi koq berat banget saat dibuka, membutuhkan waktu yang cukup lama untuk mengetik kemudian menyimpan, sering not responding gitu.. gimana dunk solusinya?? 
Mkasih..

Salam,
Teti.

Wed Dec 19, 2012 3:55 am (PST) . Posted by:

"depi Hariyanto" depi.hari_yanto

YSH Master Excel,
mohon bantuan dan penyegarannya,

bagai mana rumus formula untuk rekap data pada beberapa sheet ke dalam satu sheet, terlampir datanya.

atas bantuannya saya ucapkan terima kasih.

salam
Dep_Har

Wed Dec 19, 2012 7:20 am (PST) . Posted by:

"the_x_mikey@yahoo.com" the_x_mikey

Hi all,

Saya ingin membuat sebuah userform dimana didalamnya terdapat image control yg mengacu kepada sebuah cell di sheet tertentu.

Misalnya pada jika txtnorecord= 1 maka image control tersebut menampilkan foto yg ada di worksheet foto range a1
Saya sudah coba imgfoto.picture = worksheet("foto").range("a1")
Atau
Imgfoto.rowsource = "photo"
Dimana foto adalah define name dari range a1
Tapi ga bisa

Tolong dibantu ya kawan

Wed Dec 19, 2012 10:04 am (PST) . Posted by:

"Mr. Kid" nmkid.family@ymail.com

Hai Mikey,

Image control biasanya diisi dengan file gambar melalui LoadPicture nama
file gambarnya.
Ketika gambar sudah tersimpan dalam sebuah Shape, maka perlu proses untuk
membuat file gambar berisi gambar dalam shape tersebut.
Kemudian file gambar tersebut di-load ke image control melalui LoadPicture.

Excel chart menyediakan fitur untuk ekspor chart menjadi file gambar.
Jadi, chart kosong diisi copy-an shape. Kemudian chart diubah dimensinya
agar sama dengan si-shape.
Lalu chart diekspor menjadi file gambar.
Artinya, file gambar berisi gambar chart yang isinya shape bergambar.
Jadi tetap beda antara file gambar yang di-load ke shape dengan file gambar
hasil ekspor tersebut.

File terlampir adalah contoh yang dibuat dengan Excel 2007.
File juga bisa diunduh di Box Drive
disini<https://www.box.com/s/xt9m126qfn7c6znmjrv5>
Untuk versi Excel 2003, bisa diunduh juga di Box Drive pada link
ini.<https://www.box.com/s/10uzyw8tlgbn3ux9oa00>

File berisi 2 prosedur utama, yaitu :
1. GetShape -> untuk mendapatkan shape yang range pojok kiri atasnya shape
ada disebuah range tertentu (bisa digunakan untuk hal selain urusan picture
ini)
2. CreatePicFileFromShape -> untuk buat file gambar dari chart berisi shape
bergambar (bisa disesuaikan menjadi banyak hal tentang membentuk file
gambar)

cekrip prosedur GetShape :
'----------------------------------------------------------
'Prosedur : GetShape
'----------------------------------------------------------
'Input :
' - sht : Worksheet : Object worksheet yang berisi shape
gambar
' - sRngShpAddress : String : Alamat pojok kiri atas shape yang
akan diambil
' - shp : Shape : Object shape yang diambil
'----------------------------------------------------------
'Return :
' - shp akan nothing jika tidak ditemukan
'----------------------------------------------------------
Public Sub GetShape(sht As Worksheet, sRngShpAddress As String, shp As
Shape)
Set shp = Nothing 'kosongkan isi shape
For Each shp In sht.Shapes 'loop setiap shape dalam worksheet
kiriman (sht)
'cek, apakah shape (shp) yang sedang diproses oleh loop
'memiliki pojok kiri atas di alamat range yang ditunjuk
(sRngShpAddress)
If InStr(sRngShpAddress, shp.TopLeftCell.Address) <> 0 Then
'yup... sesuai, berarti sudah ketemu
'maka keluar dari loop (bisa langsung keluar dari prosedur
dengan exit sub)
Exit For
End If
Next shp
End Sub

cekrip prosedur CreatePicFileFromShape :
'----------------------------------------------------------
'Prosedur : CreatePicFileFromShape
'----------------------------------------------------------
'Input :
' - shp : Shape : Object shape berisi picture yang akan
diambil gambarnya
' - sFile : String : Nama file gambar hasil pengambilan
gambar dalam shape
'----------------------------------------------------------
'Return :
' - sFile akan berisi NULLSTRING jika gambar dalam shape tidak bisa
diambil
'----------------------------------------------------------
'Attention :
' - Struktur isi sFile :
' [nama
komputer\\]drive:\folder\subfolder\......\subfolderchild_n\filename.ext
' - Contoh :
' -> ke local computer
' E:\myData\myPic\myTemporaryPicFile.jpg
' -> ke network computer bernama myComputer
' myComputer\\E:\myData\myPic\myTemporaryPicFile.jpg
'----------------------------------------------------------
Public Sub CreatePicFileFromShape(shp As Shape, _
sFile As String)
Dim sType As String 'var string tipe file gambar (ekstensi file
gambar)
Dim cht As Chart 'var object chart sebagai jembatan untuk export
gambar jadi file

Err.Clear 'hapus error proses lain (kalau ada)
On Error GoTo Keluar 'trap error ke blok Keluar (jika terjadi error
akan ke blok bernama Keluar)

Application.DisplayAlerts = False 'turn off kecerewetan excel
yang suka konfirmasi

sType = Replace$(Right$(sFile, 4), ".", vbNullString) 'simpan
ekstensi file gambar
Set cht = Charts.Add 'buat sheet chart baru
With cht 'pada sheet chart tersebut
With .ChartArea 'di chart area nya
'ubah dimensi chart area dan hilangkan border nya
.Height = shp.Height
.Width = shp.Width
.Border.LineStyle = xlLineStyleNone
End With 'selesai di chart area

shp.Copy 'copy shape berisi
gambar
.Paste 'paste ke dalam sheet
chart
Application.CutCopyMode = False 'buang data dari
clipboard

'export sheet chart jadi file gambar
'jadi bukan gambar dalam shape yang diambil jadi file,
'tetapi sheet chart yang seukuran gambar dan berisi gambar
'yang dijadikan file gambar
.Export sFile, sType

.Delete 'hapus sheet chart
End With 'selesai dengan sheet chart

Keluar: 'blok Keluar yang dituju oleh si trap error
If Err.Number <> 0 Then 'cek kalau ada error terjadi
sFile = vbNullString 'nama file diubah jadi karakter
kosong
End If 'selesai cek
Err.Clear 'hapus error
On Error GoTo 0 'set trap error kembali ke default
perlakuannya

Application.DisplayAlerts = True 'turn on kecerewetan Excel
End Sub

Wassalam,
Kid.

2012/12/19 <the_x_mikey@yahoo.com>

> **
>
>
> Hi all,
>
> Saya ingin membuat sebuah userform dimana didalamnya terdapat image
> control yg mengacu kepada sebuah cell di sheet tertentu.
>
> Misalnya pada jika txtnorecord= 1 maka image control tersebut menampilkan
> foto yg ada di worksheet foto range a1
> Saya sudah coba imgfoto.picture = worksheet("foto").range("a1")
> Atau
> Imgfoto.rowsource = "photo"
> Dimana foto adalah define name dari range a1
> Tapi ga bisa
>
> Tolong dibantu ya kawan
>
>
>
GROUP FOOTER MESSAGE
---------------------------------------------------------------------
bergabung ke milis (subscribe), kirim mail kosong ke:
belajar-excel-subscribe@yahoogroups.com

posting ke milis, kirimkan ke:
belajar-excel@yahoogroups.com

berkunjung ke web milis
http://tech.groups.yahoo.com/group/belajar-excel/messages

melihat file archive / mendownload lampiran
http://www.mail-archive.com/belajar-excel@yahoogroups.com/
atau (sejak 25-Apr-2011) bisa juga di :
http://milis-belajar-excel.1048464.n5.nabble.com/

menghubungi moderators & owners: belajar-excel-owner@yahoogroups.com

keluar dari membership milis (UnSubscribe):
kirim mail kosong ke  belajar-excel-unsubscribe@yahoogroups.com
---------------------------------------------------------------------

Tidak ada komentar:

Posting Komentar