Kamis, 18 Oktober 2012

[belajar-excel] Digest Number 1855

15 New Messages

Digest #1855
1a
Re: Index Data Beberapa Kolom atau Lebih by "Mr. Kid" nmkid.family@ymail.com
1b
2a
3a
Re: Mendeteksi keystroke di lembar kerja by "Mr. Kid" nmkid.family@ymail.com
3b
Re: Mendeteksi keystroke di lembar kerja by "Mr. Kid" nmkid.family@ymail.com
3c
Re: Mendeteksi keystroke di lembar kerja by "Heru Safrudin" superheruu
3d
Re: Mendeteksi keystroke di lembar kerja by "Heru Safrudin" superheruu
3e
Re: Mendeteksi keystroke di lembar kerja by "Mr. Kid" nmkid.family@ymail.com
4a
Re: menghasilkan data ketika searching data by "Yudi Dwiyono" yudi_dwiyono
5a
Bls: [belajar-excel] merubah format laporan by "Kusnadi Bin zain" kbinzain
6a
Menghapus data di sheet / refresh data di sheet by "Jodi Y" jodyslexia@rocketmail.com

Messages

Thu Oct 18, 2012 9:47 am (PDT) . Posted by:

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

1. Untuk cara 2, ada array formula bantu berbunyi : (cell M3)
=MIN(IF(COUNTIF(N$2:N2,$B$3:$F$14)=0
,ROW($B$3:$F$14)*1000+COLUMN($B$3:$F$14)))
Kondisi yang ada baru 1, yaitu bagian CountIF. Belum ada pengkondisian
berdasar ada atau tidaknya teks dalam data.
Pengkondisian untuk mengambil cell yang ada datanya saja adalah dengan
memeriksa jumlah karakter yang ada di dalam cell tersebut.
( Len($B$3:$F$14) > 0 )

Jadi, 2 kondisi yang harus digunakan adalah :
>> ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )
>> ( Len($B$3:$F$14) > 0 )
Keduanya harus terpenuhi, artinya harus dihubungkan dengan operator AND
yang setara dengan kegiatan operasi matematis perkalian.
Jadi kedua kondisi akan diekspresikan menjadi :
( COUNTIF(N$2:N2,$B$3:$F$14)=0 )*( Len($B$3:$F$14) > 0 )

Maka bagian CountIF dalam array formula diganti dengan 2 pengkondisian baru
ini akan menjadi :
=MIN(IF( ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )*( Len($B$3:$F$14) > 0 )
,ROW($B$3:$F$14)*1000+COLUMN($B$3:$F$14)))
>> Jangan lupa untuk di-Enter sebagai Array formula dengan CTRL SHIFT
ENTER <<

2. Menghitung jumlah unique item (seperti cell H2 atau M2)
Formula yang ada :
=SUMPRODUCT(1/COUNTIF(B3:F14,B3:F14))
Ketika ada cell di B3:F14 yang tidak ada datanya, maka akan menghasilkan
hasil countif akan 0. Maka akan ada item yang kalkulasinya berupa 1/0 yang
menghasilkan error value #DIV/0!
Maka efek ketika hasil CountIF adalah 0 harus dinetralisir dengan suatu
nilai yang bukan 0. CountIF menghasilkan 0 jika tidak ada data, maka
kondisi tidak ada data bisa diubah hasilnya menjadi 1 yang setara TRUE. Maka
Len(B3:F14)=0 akan bernilai TRUE ketika B3:F14 tidak ada datanya. Bunyi
kondisi terhadap CountIF adalah sebagai berikut :
>> Jika hasil CountIF adalah 0, maka isi dengan Len(B3:F14)=0
>> Jika hasil CountIF bukan 0, maka isi dengan hasil CountIF
Secara harfiah, translatenya ke bahasa formula menjadi :
IF( COUNTIF(B3:F14,B3:F14) = 0 , ( Len(B3:F14)=0 ) , COUNTIF(B3:F14,B3:F14)
)
Dari kalimat ini, sebenarnya jika diperhatikan secara seksama, akan ada
benang merah berbunyi :
"Nilai hasil CountIF atau Len(B3:F14)=0"
yang bahasa formulanya :
( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
Hasilnya, akan didapat bahwa seluruh cell yang tidak ada isinya akan
bernilai TRUE (setara 1).
Maka, 1/COUNTIF(B3:F14,B3:F14)
akan menjadi :
1/( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
*tetapi*, akan terjadi 1/1 ketika cell tidak ada isinya, karena 1/( 0 +
TRUE ) = 1/( 0 + 1 ) = 1/1
Hal ini akan menghasilkan jumlah unique yang tidak tepat. Oleh sebab itu
bagian 1 (biru) dalam :
1/( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
harus berupa pemfilteran bahwa jika cell berisi data maka bernilai 1 dan
jika tidak berisi data bernilai 0.
( Len(B3:F14)>0 )
Maka formula lengkap :
=SUMPRODUCT( ( Len(B3:F14)>0 ) / ( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0
) ) )

3. Cara1.
untuk versi xl2007 (dengan IFError) array formulanya (J3)
=IFERROR(INDEX($H$3:$H$63,MATCH(0,COUNTIF(J$2:J2,$H$3:$H$63),0)),"")
untuk semua versi (berdasar jumlah item unique yang mungkin) : (K3)
=IF(ROW()-2>$H$2,"",INDEX($H$3:$H$63,MATCH(0,COUNTIF(K$2:K2,$H$3:$H$63),0)))
memiliki benang merah pada bagian yang biru :
MATCH(0,COUNTIF(K$2:K2,$H$3:$H$63),0)
Bahasa manusianya :
"Cari posisi angka 0 pada suatu data array yang berupa nilai-nilai jumlah
cacah (CountIF) data dalam $H$3:$H$63 di suatu area K$2:K2 yang
pencariannya harus bener-bener persis [0]"
Kalimat 'nilai-nilai jumlah cacah data dalam $H$3:$H$63 di suatu area K$2:K2'
akan menghasilkan angka bukan 0 jika memang telah ada di K$2:K2 dan
menghasilkan 0 jika belum ada di K$2:K2. Padahal area K$2:K2 adalah hasil
(output). Artinya, kalau sampai hasil CountIF adalah 0, maka data itu belum
ada di area output alias data baru. Dengan demikian, fungsi Match tugasnya
adalah selalu mendapatkan posisi data baru (data yang belum ada di output).
Pada kondisi itu, tidak ada pengkondisian bahwa data di $H$3:$H$63
bukanlahbernilai 0.
Jelas sudah diketahui bahwa data baru (belum ada di output) adalah yang
COUNTIF(K$2:K2,$H$3:$H$63)=0
Kondisi data di $H$3:$H$63 bukanlah bernilai 0 dapat diekspresikan sebagai :
( $H$3:$H$63 <> 0 )

Sampai disini, sudah ada 2 kondisi :
1. data baru (belum ada dioutput) :
( COUNTIF(K$2:K2,$H$3:$H$63)=0 )
2. tidak adanya nilai di data $H$3:$H$63
( $H$3:$H$63 <> 0 )
Keduanya harus terpenuhi berarti setara AND yang setara perkalian.
Maka array data dalam Match akan berupa :
*( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( **$H$3:$H$63 <> 0 )*
Hasilnya adalah *1* (untuk data baru *dan* nilai data di $H$3:$H$63 bukanlah
0 ) atau 0 (untuk salah satu dari kedua kondisi yang tak terpenuhi).
Jadi, yang menjadi lookup value (dicari oleh match) bukan lagi angka 0,
melainkan angka *1*
Nah... bagian Match akan menjadi :
MATCH(* 1 *, *( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( **$H$3:$H$63 <> 0 )* , 0
)

Array formula lengkap masing-masing :
1. untuk versi xl2007 :
=IFERROR(INDEX($H$3:$H$63, MATCH(* 1 *, *( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) *(
**$H$3:$H$63 <> 0 )* , 0 ) ),"")

2. untuk semua versi :
=IF(ROW()-2>$H$2,"",INDEX($H$3:$H$63, MATCH(* 1 *, *(
COUNTIF(K$2:K2,$H$3:$H$63)=0
) * ( **$H$3:$H$63 <> 0 )* , 0 ) ))

Kesimpulannya :
Pengubahan formula karena adanya perubahan kondisi (bertambah atau
berkurang jumlah kondisinya), difokuskan pada penyusunan kondisi-kondisi
baru yang menyertakan kondisi awal (sebelum berubah) secara konsisten.
Seperti kondisi bahwa jika CountIF 0 artinya sebagai data baru bergabung
bersama kondisi baru berupa ada data di suatu area (dengan Len misalnya).

Wassalam,
Kid.

2012/10/18 M.Ade Alfarid <QA@kkmi.co.id>

> **
> Dear,
>
> Untuk menghilangkan angka 0 pada list index,
> tambah rumus apa?
>
> Ade
>
>
>
>
> On Mon, 15 Oct 2012 16:30:55 +0700, Mr. Kid <mr.nmkid@gmail.com> wrote:
>
> > Coba file terlampir.
> > Ada yang dibantu oleh sebuah kolom untuk menyusun data multi kolom
> > menjadi
> > data sekolom.
> >
> > Wassalam,
> > Kid
> >
> >
> > 2012/10/15 M.Ade Alfarid <QA@kkmi.co.id>
> >
> >> **
>
> >>
> >>
> >> BeExceller,
> >>
> >> Bagaimana untuk mengurut banyak data beberapa kolom,
> >> data dobel dihitung sekali saja?
> >> Terimakasih
> >> --
> >> ade
> >>
>

Thu Oct 18, 2012 4:05 pm (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

Sekedar selingan, pake macro.

Salam,
Hendrik Karnadi

----- Forwarded Message -----
From: Mr. Kid <mr.nmkid@gmail.com>
To: belajar-excel@yahoogroups.com
Sent: Thursday, 18 October 2012, 23:47
Subject: Re: [belajar-excel] Index Data Beberapa Kolom atau Lebih


 
1. Untuk cara 2, ada array formula bantu berbunyi : (cell M3)
=MIN(IF(COUNTIF(N$2:N2,$B$3:$F$14)=0,ROW($B$3:$F$14)*1000+COLUMN($B$3:$F$14)))
Kondisi yang ada baru 1, yaitu bagian CountIF. Belum ada pengkondisian berdasar ada atau tidaknya teks dalam data.
Pengkondisian untuk mengambil cell yang ada datanya saja adalah dengan memeriksa jumlah karakter yang ada di dalam cell tersebut.
( Len($B$3:$F$14) > 0 )

Jadi, 2 kondisi yang harus digunakan adalah :
>> ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )
>> ( Len($B$3:$F$14) > 0 )
Keduanya harus terpenuhi, artinya harus dihubungkan dengan operator AND yang setara dengan kegiatan operasi matematis perkalian.
Jadi kedua kondisi akan diekspresikan menjadi :
( COUNTIF(N$2:N2,$B$3:$F$14)=0 )*( Len($B$3:$F$14) > 0 )

Maka bagian CountIF dalam array formula diganti dengan 2 pengkondisian baru ini akan menjadi :
=MIN(IF( ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )*( Len($B$3:$F$14) > 0 ) ,ROW($B$3:$F$14)*1000+COLUMN($B$3:$F$14)))
>> Jangan lupa untuk di-Enter sebagai Array formula dengan CTRL  SHIFT  ENTER <<

2. Menghitung jumlah unique item (seperti cell H2 atau M2)
Formula yang ada :
=SUMPRODUCT(1/COUNTIF(B3:F14,B3:F14))
Ketika ada cell di B3:F14 yang tidak ada datanya, maka akan menghasilkan hasil countif akan 0. Maka akan ada item yang kalkulasinya berupa 1/0 yang menghasilkan error value #DIV/0!
Maka efek ketika hasil CountIF adalah 0 harus dinetralisir dengan suatu nilai yang bukan 0. CountIF menghasilkan 0 jika tidak ada data, maka kondisi tidak ada data bisa diubah hasilnya menjadi 1 yang setara TRUE. Maka Len(B3:F14)=0 akan bernilai TRUE ketika B3:F14 tidak ada datanya. Bunyi kondisi terhadap CountIF adalah sebagai berikut :
>> Jika hasil CountIF adalah 0, maka isi dengan Len(B3:F14)=0
>> Jika hasil CountIF bukan 0, maka isi dengan hasil CountIF
Secara harfiah, translatenya ke bahasa formula menjadi :
IF( COUNTIF(B3:F14,B3:F14)= 0 , ( Len(B3:F14)=0 ) , COUNTIF(B3:F14,B3:F14) )
Dari kalimat ini, sebenarnya jika diperhatikan secara seksama, akan ada benang merah berbunyi :
"Nilai hasil CountIF atau Len(B3:F14)=0"
yang bahasa formulanya :
( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
Hasilnya, akan didapat bahwa seluruh cell yang tidak ada isinya akan bernilai TRUE (setara 1).
Maka, 1/COUNTIF(B3:F14,B3:F14)
akan menjadi :
1/( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
tetapi, akan terjadi 1/1 ketika cell tidak ada isinya, karena 1/( 0 + TRUE ) = 1/( 0 + 1 ) = 1/1
Hal ini akan menghasilkan jumlah unique yang tidak tepat. Oleh sebab itu bagian 1 (biru) dalam :
1/( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
harus berupa pemfilteran bahwa jika cell berisi data maka bernilai 1 dan jika tidak berisi data bernilai 0.
( Len(B3:F14)>0 )
Maka formula lengkap :
=SUMPRODUCT(( Len(B3:F14)>0 ) / ( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) ) )

3. Cara1.
untuk versi xl2007 (dengan IFError) array formulanya  (J3)
=IFERROR(INDEX($H$3:$H$63,MATCH(0,COUNTIF(J$2:J2,$H$3:$H$63),0)),"")
untuk semua versi (berdasar jumlah item unique yang mungkin) : (K3)
=IF(ROW()-2>$H$2,"",INDEX($H$3:$H$63,MATCH(0,COUNTIF(K$2:K2,$H$3:$H$63),0)))
memiliki benang merah pada bagian yang biru :
MATCH(0,COUNTIF(K$2:K2,$H$3:$H$63),0)
Bahasa manusianya :
"Cari posisi angka 0 pada suatu data array yang berupa nilai-nilai jumlah cacah (CountIF) data dalam $H$3:$H$63 di suatu area K$2:K2 yang pencariannya harus bener-bener persis [0]"
Kalimat 'nilai-nilai jumlah cacah data dalam $H$3:$H$63 di suatu area K$2:K2' akan menghasilkan angka bukan 0 jika memang telah ada di K$2:K2 dan menghasilkan 0 jika belum ada di K$2:K2. Padahal area K$2:K2 adalah hasil (output). Artinya, kalau sampai hasil CountIF adalah 0, maka data itu belum ada di area output alias data baru. Dengan demikian, fungsi Match tugasnya adalah selalu mendapatkan posisi data baru (data yang belum ada di output).
Pada kondisi itu, tidak ada pengkondisian bahwa data di $H$3:$H$63 bukanlah bernilai 0.
Jelas sudah diketahui bahwa data baru (belum ada di output) adalah yang COUNTIF(K$2:K2,$H$3:$H$63)=0
Kondisi data di $H$3:$H$63 bukanlah bernilai 0 dapat diekspresikan sebagai :
( $H$3:$H$63 <> 0 )

Sampai disini, sudah ada 2 kondisi :
1. data baru (belum ada dioutput) :
( COUNTIF(K$2:K2,$H$3:$H$63)=0 )
2. tidak adanya nilai di data $H$3:$H$63
( $H$3:$H$63 <> 0 )
Keduanya harus terpenuhi berarti setara AND yang setara perkalian.
Maka array data dalam Match akan berupa :
( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 )
Hasilnya adalah 1 (untuk data baru dan nilai data di $H$3:$H$63 bukanlah 0 ) atau 0 (untuk salah satu dari kedua kondisi yang tak terpenuhi).
Jadi, yang menjadi lookup value (dicari oleh match) bukan lagi angka 0, melainkan angka 1
Nah... bagian Match akan menjadi :
MATCH(1 , ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 ) , 0 )

Array formula lengkap masing-masing :
1. untuk versi xl2007 :
=IFERROR(INDEX($H$3:$H$63,MATCH(1 , ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 ) , 0 ) ),"")

2. untuk semua versi :
=IF(ROW()-2>$H$2,"",INDEX($H$3:$H$63,MATCH(1 , ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 ) , 0 ) ))

Kesimpulannya :
Pengubahan formula karena adanya perubahan kondisi (bertambah atau berkurang jumlah kondisinya), difokuskan pada penyusunan kondisi-kondisi baru yang menyertakan kondisi awal (sebelum berubah) secara konsisten. Seperti kondisi bahwa jika CountIF 0 artinya sebagai data baru bergabung bersama kondisi baru berupa ada data di suatu area (dengan Len misalnya).

Wassalam,
Kid.

2012/10/18 M.Ade Alfarid <QA@kkmi.co.id>

Dear,
>
>
>Untuk menghilangkan angka 0 pada list index,
>tambah rumus apa?
>
>Ade
>
>
>
>
>On Mon, 15 Oct 2012 16:30:55 +0700, Mr. Kid <mr.nmkid@gmail.com> wrote:
>
>
>> Coba file terlampir.
>> Ada yang dibantu oleh sebuah kolom untuk menyusun data multi kolom
>> menjadi
>> data sekolom.
>>
>> Wassalam,
>> Kid
>>
>>
>> 2012/10/15 M.Ade Alfarid <QA@kkmi.co.id>
>>
>>> **
>
>>>
>>>
>>> BeExceller,
>>>
>>> Bagaimana untuk mengurut banyak data beberapa kolom,
>>> data dobel dihitung sekali saja?
>>> Terimakasih
>>> --
>>> ade
>>>
>

Thu Oct 18, 2012 5:41 pm (PDT) . Posted by:

"M.Ade Alfarid" aderyo

Dear,

Terimakasih solusi dan ilmunya,
bermain dengan logika ya,
harus banyak latihan-latihan lagi nihh,

Salam,
Ade

On Fri, 19 Oct 2012 06:05:20 +0700, hendrik karnadi
<hendrikkarnadi@yahoo.com> wrote:

> Sekedar selingan, pake macro.
>
> Salam,
> Hendrik Karnadi
>
>
>
> ----- Forwarded Message -----
> From: Mr. Kid <mr.nmkid@gmail.com>
> To: belajar-excel@yahoogroups.com
> Sent: Thursday, 18 October 2012, 23:47
> Subject: Re: [belajar-excel] Index Data Beberapa Kolom atau Lebih
>
> 1. Untuk cara 2, ada array formula bantu berbunyi : (cell M3)
> =MIN(IF(COUNTIF(N$2:N2,$B$3:$F$14)=0,ROW($B$3:$F$14)*1000+COLUMN($B$3:$F$14)))
> Kondisi yang ada baru 1, yaitu bagian CountIF. Belum ada pengkondisian
> berdasar ada atau tidaknya teks dalam data.
> Pengkondisian untuk mengambil cell yang ada datanya saja adalah dengan
> memeriksa jumlah karakter yang ada di dalam cell tersebut.
> ( Len($B$3:$F$14) > 0 )
>
> Jadi, 2 kondisi yang harus digunakan adalah :
>>> ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )
>>> ( Len($B$3:$F$14) > 0 )
> Keduanya harus terpenuhi, artinya harus dihubungkan dengan operator AND
> yang setara dengan kegiatan operasi matematis perkalian.
> Jadi kedua kondisi akan diekspresikan menjadi :
> ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )*( Len($B$3:$F$14) > 0 )
>
> Maka bagian CountIF dalam array formula diganti dengan 2 pengkondisian
> baru ini akan menjadi :
> =MIN(IF( ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )*( Len($B$3:$F$14) > 0 )
> ,ROW($B$3:$F$14)*1000+COLUMN($B$3:$F$14)))
>>> Jangan lupa untuk di-Enter sebagai Array formula dengan CTRL SHIFT
>>> ENTER <<
>
> 2. Menghitung jumlah unique item (seperti cell H2 atau M2)
> Formula yang ada :
> =SUMPRODUCT(1/COUNTIF(B3:F14,B3:F14))
> Ketika ada cell di B3:F14 yang tidak ada datanya, maka akan menghasilkan
> hasil countif akan 0. Maka akan ada item yang kalkulasinya berupa 1/0
> yang menghasilkan error value #DIV/0!
> Maka efek ketika hasil CountIF adalah 0 harus dinetralisir dengan suatu
> nilai yang bukan 0. CountIF menghasilkan 0 jika tidak ada data, maka
> kondisi tidak ada data bisa diubah hasilnya menjadi 1 yang setara TRUE.
> Maka Len(B3:F14)=0 akan bernilai TRUE ketika B3:F14 tidak ada datanya.
> Bunyi kondisi terhadap CountIF adalah sebagai berikut :
>>> Jika hasil CountIF adalah 0, maka isi dengan Len(B3:F14)=0
>>> Jika hasil CountIF bukan 0, maka isi dengan hasil CountIF
> Secara harfiah, translatenya ke bahasa formula menjadi :
> IF( COUNTIF(B3:F14,B3:F14)= 0 , ( Len(B3:F14)=0 ) ,
> COUNTIF(B3:F14,B3:F14) )
> Dari kalimat ini, sebenarnya jika diperhatikan secara seksama, akan ada
> benang merah berbunyi :
> "Nilai hasil CountIF atau Len(B3:F14)=0"
> yang bahasa formulanya :
> ( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
> Hasilnya, akan didapat bahwa seluruh cell yang tidak ada isinya akan
> bernilai TRUE (setara 1).
> Maka, 1/COUNTIF(B3:F14,B3:F14)
> akan menjadi :
> 1/( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
> tetapi, akan terjadi 1/1 ketika cell tidak ada isinya, karena 1/( 0 +
> TRUE ) = 1/( 0 + 1 ) = 1/1
> Hal ini akan menghasilkan jumlah unique yang tidak tepat. Oleh sebab itu
> bagian 1 (biru) dalam :
> 1/( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
> harus berupa pemfilteran bahwa jika cell berisi data maka bernilai 1 dan
> jika tidak berisi data bernilai 0.
> ( Len(B3:F14)>0 )
> Maka formula lengkap :
> =SUMPRODUCT(( Len(B3:F14)>0 ) / ( COUNTIF(B3:F14,B3:F14) + (
> Len(B3:F14)=0 ) ) )
>
> 3. Cara1.
> untuk versi xl2007 (dengan IFError) array formulanya (J3)
> =IFERROR(INDEX($H$3:$H$63,MATCH(0,COUNTIF(J$2:J2,$H$3:$H$63),0)),"")
> untuk semua versi (berdasar jumlah item unique yang mungkin) : (K3)
> =IF(ROW()-2>$H$2,"",INDEX($H$3:$H$63,MATCH(0,COUNTIF(K$2:K2,$H$3:$H$63),0)))
> memiliki benang merah pada bagian yang biru :
> MATCH(0,COUNTIF(K$2:K2,$H$3:$H$63),0)
> Bahasa manusianya :
> "Cari posisi angka 0 pada suatu data array yang berupa nilai-nilaijumlah
> cacah (CountIF) data dalam $H$3:$H$63 di suatu area K$2:K2 yang
> pencariannya harus bener-bener persis [0]"
> Kalimat 'nilai-nilai jumlah cacah data dalam $H$3:$H$63 di suatu area
> K$2:K2' akan menghasilkan angka bukan 0 jika memang telah ada di K$2:K2
> dan menghasilkan 0 jika belum ada di K$2:K2. Padahal area K$2:K2 adalah
> hasil (output). Artinya, kalau sampai hasil CountIF adalah 0, maka data
> itu belum ada di area output alias data baru. Dengan demikian, fungsi
> Match tugasnya adalah selalu mendapatkan posisi data baru (data yang
> belum ada di output).
> Pada kondisi itu, tidak ada pengkondisian bahwa data di $H$3:$H$63
> bukanlah bernilai 0.
> Jelas sudah diketahui bahwa data baru (belum ada di output) adalah yang
> COUNTIF(K$2:K2,$H$3:$H$63)=0
> Kondisi data di $H$3:$H$63 bukanlah bernilai 0 dapat diekspresikan
> sebagai :
> ( $H$3:$H$63 <> 0 )
>
> Sampai disini, sudah ada 2 kondisi :
> 1. data baru (belum ada dioutput) :
> ( COUNTIF(K$2:K2,$H$3:$H$63)=0 )
> 2. tidak adanya nilai di data $H$3:$H$63
> ( $H$3:$H$63 <> 0 )
> Keduanya harus terpenuhi berarti setara AND yang setara perkalian.
> Maka array data dalam Match akan berupa :
> ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 )
> Hasilnya adalah 1 (untuk data baru dan nilai data di $H$3:$H$63 bukanlah
> 0 ) atau 0 (untuk salah satu dari kedua kondisi yang tak terpenuhi).
> Jadi, yang menjadi lookup value (dicari oleh match) bukan lagi angka 0,
> melainkan angka 1
> Nah... bagian Match akan menjadi :
> MATCH(1 , ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 ) , 0 )
>
> Array formula lengkap masing-masing :
> 1. untuk versi xl2007 :
> =IFERROR(INDEX($H$3:$H$63,MATCH(1 , ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * (
> $H$3:$H$63 <> 0 ) , 0 ) ),"")
>
> 2. untuk semua versi :
> =IF(ROW()-2>$H$2,"",INDEX($H$3:$H$63,MATCH(1 , (
> COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 ) , 0 ) ))
>
> Kesimpulannya :
> Pengubahan formula karena adanya perubahan kondisi (bertambah atau
> berkurang jumlah kondisinya), difokuskan pada penyusunan kondisi-kondisi
> baru yang menyertakan kondisi awal (sebelum berubah) secara konsisten.
> Seperti kondisi bahwa jika CountIF 0 artinya sebagai data baru bergabung
> bersama kondisi baru berupa ada data di suatu area (dengan Len misalnya).
>
> Wassalam,
> Kid.
>
>
>
>
> 2012/10/18 M.Ade Alfarid <QA@kkmi.co.id>
>
> Dear,
>>
>>
>> Untuk menghilangkan angka 0 pada list index,
>> tambah rumus apa?
>>
>> Ade
>>
>>
>>
>>
>> On Mon, 15 Oct 2012 16:30:55 +0700, Mr. Kid <mr.nmkid@gmail.com> wrote:
>>
>>
>>> Coba file terlampir.
>>> Ada yang dibantu oleh sebuah kolom untuk menyusun data multi kolom
>>> menjadi
>>> data sekolom.
>>>
>>> Wassalam,
>>> Kid
>>>
>>>
>>> 2012/10/15 M.Ade Alfarid <QA@kkmi.co.id>
>>>
>>>> **
>>
>>>>
>>>>
>>>> BeExceller,
>>>>
>>>> Bagaimana untuk mengurut banyak data beberapa kolom,
>>>> data dobel dihitung sekali saja?
>>>> Terimakasih
>>>> --
>>>> ade
>>>>
>>

Thu Oct 18, 2012 8:07 pm (PDT) . Posted by:

"Winda Miranti" winda_1504

Dear Mas Hendrik,

Trimakasi sekali solusi nya mas hendrik kebenaran saya juga lagi menemukan kasus yang sama
tapi hanya ingin sebatas per kolom saja misalnya hanya kolom B, saya coba otak atik tapi debug selalu hehe, bgmn cara membatasinya biar hanya membaca satu kolom saja?
dan saya coba tambahkan data kebawah seperti data telampir, tetapi jika ada baris yg kosong dua kali, data setelah baris kosong yg kedua tersebut tidak terbaca
Mohon pencerahanya mas hendrik :D

Regards,
Winda

________________________________
Dari: hendrik karnadi <hendrikkarnadi@yahoo.com>
Kepada: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Dikirim: Jumat, 19 Oktober 2012 6:05
Judul: Fw: [belajar-excel] Index Data Beberapa Kolom atau Lebih


 
Sekedar selingan, pake macro.

Salam,
Hendrik Karnadi

----- Forwarded Message -----
From: Mr. Kid <mr.nmkid@gmail.com>
To: belajar-excel@yahoogroups.com
Sent: Thursday, 18 October 2012, 23:47
Subject: Re: [belajar-excel] Index Data Beberapa Kolom atau Lebih


 
1. Untuk cara 2, ada array formula bantu berbunyi : (cell M3)
=MIN(IF(COUNTIF(N$2:N2,$B$3:$F$14)=0,ROW($B$3:$F$14)*1000+COLUMN($B$3:$F$14)))
Kondisi yang ada baru 1, yaitu bagian CountIF. Belum ada pengkondisian berdasar ada atau tidaknya teks dalam data.
Pengkondisian untuk mengambil cell yang ada datanya saja adalah dengan memeriksa jumlah karakter yang ada di dalam cell tersebut.
( Len($B$3:$F$14) > 0 )

Jadi, 2 kondisi yang harus digunakan adalah :
>> ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )
>> ( Len($B$3:$F$14) > 0 )
Keduanya harus terpenuhi, artinya harus dihubungkan dengan operator AND yang setara dengan kegiatan operasi matematis perkalian.
Jadi kedua kondisi akan diekspresikan menjadi :
( COUNTIF(N$2:N2,$B$3:$F$14)=0 )*( Len($B$3:$F$14) > 0 )

Maka bagian CountIF dalam array formula diganti dengan 2 pengkondisian baru ini akan menjadi :
=MIN(IF( ( COUNTIF(N$2:N2,$B$3:$F$14)=0 )*( Len($B$3:$F$14) > 0 ) ,ROW($B$3:$F$14)*1000+COLUMN($B$3:$F$14)))
>> Jangan lupa untuk di-Enter sebagai Array formula dengan CTRL  SHIFT  ENTER <<

2. Menghitung jumlah unique item (seperti cell H2 atau M2)
Formula yang ada :
=SUMPRODUCT(1/COUNTIF(B3:F14,B3:F14))
Ketika ada cell di B3:F14 yang tidak ada datanya, maka akan menghasilkan hasil countif akan 0. Maka akan ada item yang kalkulasinya berupa 1/0 yang menghasilkan error value #DIV/0!
Maka efek ketika hasil CountIF adalah 0 harus dinetralisir dengan suatu nilai yang bukan 0. CountIF menghasilkan 0 jika tidak ada data, maka kondisi tidak ada data bisa diubah hasilnya menjadi 1 yang setara TRUE. Maka Len(B3:F14)=0 akan bernilai TRUE ketika B3:F14 tidak ada datanya. Bunyi kondisi terhadap CountIF adalah sebagai berikut :
>> Jika hasil CountIF adalah 0, maka isi dengan Len(B3:F14)=0
>> Jika hasil CountIF bukan 0, maka isi dengan hasil CountIF
Secara harfiah, translatenya ke bahasa formula menjadi :
IF( COUNTIF(B3:F14,B3:F14)= 0 , ( Len(B3:F14)=0 ) , COUNTIF(B3:F14,B3:F14) )
Dari kalimat ini, sebenarnya jika diperhatikan secara seksama, akan ada benang merah berbunyi :
"Nilai hasil CountIF atau Len(B3:F14)=0"
yang bahasa formulanya :
( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
Hasilnya, akan didapat bahwa seluruh cell yang tidak ada isinya akan bernilai TRUE (setara 1).
Maka, 1/COUNTIF(B3:F14,B3:F14)
akan menjadi :
1/( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
tetapi, akan terjadi 1/1 ketika cell tidak ada isinya, karena 1/( 0 + TRUE ) = 1/( 0 + 1 ) = 1/1
Hal ini akan menghasilkan jumlah unique yang tidak tepat. Oleh sebab itu bagian 1 (biru) dalam :
1/( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) )
harus berupa pemfilteran bahwa jika cell berisi data maka bernilai 1 dan jika tidak berisi data bernilai 0.
( Len(B3:F14)>0 )
Maka formula lengkap :
=SUMPRODUCT(( Len(B3:F14)>0 ) / ( COUNTIF(B3:F14,B3:F14) + ( Len(B3:F14)=0 ) ) )

3. Cara1.
untuk versi xl2007 (dengan IFError) array formulanya  (J3)
=IFERROR(INDEX($H$3:$H$63,MATCH(0,COUNTIF(J$2:J2,$H$3:$H$63),0)),"")
untuk semua versi (berdasar jumlah item unique yang mungkin) : (K3)
=IF(ROW()-2>$H$2,"",INDEX($H$3:$H$63,MATCH(0,COUNTIF(K$2:K2,$H$3:$H$63),0)))
memiliki benang merah pada bagian yang biru :
MATCH(0,COUNTIF(K$2:K2,$H$3:$H$63),0)
Bahasa manusianya :
"Cari posisi angka 0 pada suatu data array yang berupa nilai-nilai jumlah cacah (CountIF) data dalam $H$3:$H$63 di suatu area K$2:K2 yang pencariannya harus bener-bener persis [0]"
Kalimat 'nilai-nilai jumlah cacah data dalam $H$3:$H$63 di suatu area K$2:K2' akan menghasilkan angka bukan 0 jika memang telah ada di K$2:K2 dan menghasilkan 0 jika belum ada di K$2:K2. Padahal area K$2:K2 adalah hasil (output). Artinya, kalau sampai hasil CountIF adalah 0, maka data itu belum ada di area output alias data baru. Dengan demikian, fungsi Match tugasnya adalah selalu mendapatkan posisi data baru (data yang belum ada di output).
Pada kondisi itu, tidak ada pengkondisian bahwa data di $H$3:$H$63 bukanlah bernilai 0.
Jelas sudah diketahui bahwa data baru (belum ada di output) adalah yang COUNTIF(K$2:K2,$H$3:$H$63)=0
Kondisi data di $H$3:$H$63 bukanlah bernilai 0 dapat diekspresikan sebagai :
( $H$3:$H$63 <> 0 )

Sampai disini, sudah ada 2 kondisi :
1. data baru (belum ada dioutput) :
( COUNTIF(K$2:K2,$H$3:$H$63)=0 )
2. tidak adanya nilai di data $H$3:$H$63
( $H$3:$H$63 <> 0 )
Keduanya harus terpenuhi berarti setara AND yang setara perkalian.
Maka array data dalam Match akan berupa :
( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 )
Hasilnya adalah 1 (untuk data baru dan nilai data di $H$3:$H$63 bukanlah 0 ) atau 0 (untuk salah satu dari kedua kondisi yang tak terpenuhi).
Jadi, yang menjadi lookup value (dicari oleh match) bukan lagi angka 0, melainkan angka 1
Nah... bagian Match akan menjadi :
MATCH(1 , ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 ) , 0 )

Array formula lengkap masing-masing :
1. untuk versi xl2007 :
=IFERROR(INDEX($H$3:$H$63,MATCH(1 , ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 ) , 0 ) ),"")

2. untuk semua versi :
=IF(ROW()-2>$H$2,"",INDEX($H$3:$H$63,MATCH(1 , ( COUNTIF(K$2:K2,$H$3:$H$63)=0 ) * ( $H$3:$H$63 <> 0 ) , 0 ) ))

Kesimpulannya :
Pengubahan formula karena adanya perubahan kondisi (bertambah atau berkurang jumlah kondisinya), difokuskan pada penyusunan kondisi-kondisi baru yang menyertakan kondisi awal (sebelum berubah) secara konsisten. Seperti kondisi bahwa jika CountIF 0 artinya sebagai data baru bergabung bersama kondisi baru berupa ada data di suatu area (dengan Len misalnya).

Wassalam,
Kid.

2012/10/18 M.Ade Alfarid <QA@kkmi.co.id>

Dear,
>
>
>Untuk menghilangkan angka 0 pada list index,
>tambah rumus apa?
>
>Ade
>
>
>
>
>On Mon, 15 Oct 2012 16:30:55 +0700, Mr. Kid <mr.nmkid@gmail.com> wrote:
>
>
>> Coba file terlampir.
>> Ada yang dibantu oleh sebuah kolom untuk menyusun data multi kolom
>> menjadi
>> data sekolom.
>>
>> Wassalam,
>> Kid
>>
>>
>> 2012/10/15 M.Ade Alfarid <QA@kkmi.co.id>
>>
>>> **
>
>>>
>>>
>>> BeExceller,
>>>
>>> Bagaimana untuk mengurut banyak data beberapa kolom,
>>> data dobel dihitung sekali saja?
>>> Terimakasih
>>> --
>>> ade
>>>
>

Thu Oct 18, 2012 11:15 am (PDT) . Posted by:

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

Pak Amin,

2. Jumlah data tiap hari akan bertambah tergantung dari jumlah material
yang masuk saat ini datanya berkisar 204
>> Artinya, setiap kali data bertambah, maka harus ada perbaikan rujukan
pada formula.
>> Biasanya banyak yang menggunakan rujukan langsung ke suluruh baris dalam
sebuah atau beberapa kolom, seperti A:C dsb. Cara ini akan memberatkan
kalkulasi
>> Jadi yang membuat lambat bukan VBA untuk menulis tanggal, tetapi
penyusunan formula yang merujuk ke banyak cell yang gak perlu di proses
yang memberatkan.
>> Jika merujuk ke A:C di xl2007 ada 1 juta baris dalam 1 kolom, ketika
data yang berisi hanya ada 200, bukankah ada 900K lebih yang bikin repot.
Biasanya Excel juga gak terlalu repot banget alias gak terasa kalau hanya 1
kolom formula.

selain itu, terlalu banyak array formula juga akan memberatkan. Array
formula sebaiknya hanya merujuk ke (memproses range yang) cells berisi data
saja.
Hindari penyediaan ruang yang banyak agar terkesan otomatis, padahal
menggunakan array formula.
Semakin banyak cell yang harus diproses dan dikalkulasi, maka semakin berat.

Jika mungkin, gunakanlah fitur-fitur yang sudah ada, seperti pivot table
yang begitu ringan membentuk daftar item secara unique. Pivot table juga
ringan dalam menjumlahkan suatu nilai dengan banyak kriteria. Setidaknya
pivot table bisa menjadi tabel antara yang berguna. Dengan demikian, jumlah
cell berformula bisa ditekan.

Wassalam,
Kid.

2012/10/18 ngademin Thohari <ngademinth@yahoo.co.id>

> **
>
>
> mr. kid
>
> 1. file sudah saya kompres dari 214kb ke 41kb
> 2. Jumlah data tiap hari akan bertambah tergantung dari jumlah material
> yang masuk saat ini datanya berkisar 204
> 3. fungsi yang digunaka hanya vlookup, penambahan dan pengurangan
>
> terimakasih
>
> amin
>
>
> ------------------------------
> *Dari:* Mr. Kid <mr.nmkid@gmail.com>
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Kamis, 18 Oktober 2012 18:29
> *Judul:* Re: Bls: [belajar-excel] trial material substore gudang
>
>
> Lampirkan saja filenya. Kompresi dan kurangi sizenya. Beri keterangan
> jelas jumlah datanya. Sertai nama-nama fungsi yg digunakan.
> Wassalam,
> Kid
> On Oct 18, 2012 6:22 PM, "ngademin Thohari" <ngademinth@yahoo.co.id>
> wrote:
>
> **
>
> mr. kid
>
> setelah saya coba file proses jadi lama, terjadi proses : Processing: 2
> processor(persentagenya berjalan) sekitar 10 detik untuk entry datanya
>
> adakah yang salah dengan proses saya
>
>
> terimakasih
>
> amin
>
>
> ------------------------------
> *Dari:* Mr. Kid <mr.nmkid@gmail.com>
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Kamis, 18 Oktober 2012 12:58
> *Judul:* Re: [belajar-excel] trial material substore gudang
>
>
> Coba :
> 1. UnProtect dulu sheetnya
> 2. Sebelum baris berbunyi :
> With Target
> tambahkan baris berikut ini :
> activesheet.protect "ganti yang merah ini dengan passwordnya",
> userinterfaceonly:=true
>
> Wassalam,
> Kid.
>
> 2012/10/18 ngademin Thohari <ngademinth@yahoo.co.id>
>
> **
>
> be-exceller, mr. kid
>
> Saya coba hanya dengan membatasi kolom B,C,D dengan protect sheet tapi ada
> muncul error
>
> .offset(0, 3).Value = Now
>
> mohon
> supportnya
>
>
> amin
> ------------------------------
> *Dari:* Mr. Kid <mr.nmkid@gmail.com>
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Kamis, 18 Oktober 2012 8:25
>
> *Judul:* Re: [belajar-excel] trial material substore gudang
>
>
> Biasanya dengan VBA memanfaatkan event change pada worksheet.
> Private Sub Worksheet_Change(ByVal Target As Range)
> With Target
> If .Count = 1 Then
> If .Column = 1 Then
> If .Row > 1 Then
> .Offset(0, 3).Value = Now
> End If
> End If
> End If
> End With
> End Sub
>
> Wassalam,
> Kid.
>
> 2012/10/18 ngademin Thohari <ngademinth@yahoo.co.id>
>
> **
>
> be-exceller
>
> dengan tidak mengurangi rasa hormat, yang saya maksud kan otomatis mengisi
> tanggal dan jam pada waktu kolom A diisi dan tanggal dan jam akan diisi
> dikolom G
>
> Terimakasih atas supportnya
>
>
> amin
>
>
> ------------------------------
> *Dari:* Bagus <bagus@kingjim.co.id>
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Kamis, 18 Oktober 2012 7:38
>
> *Judul:* Re: [belajar-excel] trial material substore gudang
>
>
> Pak Amin,
>
> File terlampir ada penambahan jam & jam Input.
> semoga sesuai yg dimaksud
>
>
> Bagus
>
>
>
> ----- Original Message -----
> *From:* ngademin Thohari <ngademinth@yahoo.co.id>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Wednesday, October 17, 2012 4:20 PM
> *Subject:* Bls: [belajar-excel] trial material substore gudang
>
>
> Pak bagus,
>
> caranya untuk menampilkan tanggal dan jam inputnya bagaimana ya?
>
> terima kasih
>
> Dwi Amin
>
> ------------------------------
> *Dari:* Bagus <bagus@kingjim.co.id>
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Rabu, 17 Oktober 2012 14:05
> *Judul:* Re: [belajar-excel] trial material substore gudang
>
>
> Dear Pak Thoha;
>
> Apakah seperti file terlampir..?
>
>
> Bagus
>
>
>
> ----- Original Message -----
> *From:* ngademin Thohari <ngademinth@yahoo.co.id>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Monday, October 15, 2012 6:21 PM
> *Subject:* [belajar-excel] trial material substore gudang
>
>
> be-exceller
>
> saya akan membuat data gudang, tapi belum mendapat bentuk yang sesuai
> dengan harapan, data ini hanya mewakili 1 konsumen saja, tapi konsumen
> ditempat saya ada beberapa, jadi mohon penjelantahannya
>
>
> Terima kasih atas dukungannya
>
>
> amin
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>

Thu Oct 18, 2012 11:46 am (PDT) . Posted by:

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

Pak Heru,

1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana
caranya ?
Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
http://www.teachexcel.com/excel-help/excel-how-to.php?i=423869

2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
dalam misal mencari teks "I/KP/11/00002" di field NO_GR
>> 1. Buat koneksi ke access ke sebuah dataset yang ada di access melalui
excel get external data (import data di xl2003)
>> 2. aktifkan record macro
>> 3. ubah query dalam koneksi ke access tadi dengan menambahkan teks WHERE
nama_kolomnya = 'nilai teks dicari'
>> 4. Stop recording
>> 5. ke VBE dan lihat hasil record macro
>> 6. ubah bagian sqlcommandtext hasil reocrding dengan query yang bagian
wherenya bisa mengambil nilai dari sebuah cell
>> 7. jalankan macro
>> 8. save

Wassalam,
Kid.

2012/10/18 Heru Safrudin <superheruu@gmail.com>

> **
>
>
> **
> Dear Mr. Master
>
> Ada 2 pertanyaan :
> 1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana
> caranya ?
> Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
> 2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
> dalam misal mencari teks "I/KP/11/00002" di field NO_GR
>
> Terima kasih
>
>
> Heru Safrudin
>
>
> _
>

Thu Oct 18, 2012 6:43 pm (PDT) . Posted by:

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

Contoh catch event keystroke tanpa API.
Kalau ingin membuat event sendiri, tetap pakai API. Contohnya seperti
link dalam
posting lalu.

Wassalam,
Kid.

2012/10/19 Mr. Kid <mr.nmkid@gmail.com>

> Pak Heru,
>
> 1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana
> caranya ?
> Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
> http://www.teachexcel.com/excel-help/excel-how-to.php?i=423869
>
>
> 2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
> dalam misal mencari teks "I/KP/11/00002" di field NO_GR
> >> 1. Buat koneksi ke access ke sebuah dataset yang ada di access melalui
> excel get external data (import data di xl2003)
> >> 2. aktifkan record macro
> >> 3. ubah query dalam koneksi ke access tadi dengan menambahkan teks
> WHERE nama_kolomnya = 'nilai teks dicari'
> >> 4. Stop recording
> >> 5. ke VBE dan lihat hasil record macro
> >> 6. ubah bagian sqlcommandtext hasil reocrding dengan query yang bagian
> wherenya bisa mengambil nilai dari sebuah cell
> >> 7. jalankan macro
> >> 8. save
>
> Wassalam,
> Kid.
>
>
> 2012/10/18 Heru Safrudin <superheruu@gmail.com>
>
>> **
>>
>>
>> **
>> Dear Mr. Master
>>
>> Ada 2 pertanyaan :
>> 1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana
>> caranya ?
>> Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
>> 2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
>> dalam misal mencari teks "I/KP/11/00002" di field NO_GR
>>
>> Terima kasih
>>
>>
>> Heru Safrudin
>>
>>
>> _
>>
>
>

Thu Oct 18, 2012 7:03 pm (PDT) . Posted by:

"Heru Safrudin" superheruu

Nah ini yang saya maksud.... thanks banget Mr..

----- Original Message -----
From: Mr. Kid
To: belajar-excel@yahoogroups.com
Sent: Friday, October 19, 2012 8:42 AM
Subject: Re: [belajar-excel] Mendeteksi keystroke di lembar kerja

Contoh catch event keystroke tanpa API.
Kalau ingin membuat event sendiri, tetap pakai API. Contohnya seperti link dalam posting lalu.

Wassalam,
Kid.

2012/10/19 Mr. Kid <mr.nmkid@gmail.com>

Pak Heru,

1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana caranya ?
Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
http://www.teachexcel.com/excel-help/excel-how-to.php?i=423869

2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
dalam misal mencari teks "I/KP/11/00002" di field NO_GR
>> 1. Buat koneksi ke access ke sebuah dataset yang ada di access melalui excel get external data (import data di xl2003)
>> 2. aktifkan record macro
>> 3. ubah query dalam koneksi ke access tadi dengan menambahkan teks WHERE nama_kolomnya = 'nilai teks dicari'
>> 4. Stop recording
>> 5. ke VBE dan lihat hasil record macro
>> 6. ubah bagian sqlcommandtext hasil reocrding dengan query yang bagian wherenya bisa mengambil nilai dari sebuah cell
>> 7. jalankan macro
>> 8. save

Wassalam,
Kid.

2012/10/18 Heru Safrudin <superheruu@gmail.com>

Dear Mr. Master

Ada 2 pertanyaan :
1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana caranya ?
Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
dalam misal mencari teks "I/KP/11/00002" di field NO_GR

Terima kasih

Heru Safrudin

_

Thu Oct 18, 2012 8:05 pm (PDT) . Posted by:

"Heru Safrudin" superheruu

Maaf kalo pertanyaan kurang jelas. Untuk pertanyaan No. 2 maksud saya begini :
misal setiap hari saya update data yaitu Add data harian katakanlah 100 record dari excel ke Ms. Access. Nah supaya data tidak doble/duplicate maka perlu prosedur cek apakah data udah ada di database, hanya yg belum ada di database aja yang di Add

Kalo pake query kayaknya terlalu lama, karena data yg dibaca di database Access jumlahnya ribuan

Demikian Mr, atas semua atensinya disampaikan terima kasih

----- Original Message -----
From: Mr. Kid
To: belajar-excel@yahoogroups.com
Sent: Friday, October 19, 2012 1:45 AM
Subject: Re: [belajar-excel] Mendeteksi keystroke di lembar kerja

Pak Heru,

1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana caranya ?
Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
http://www.teachexcel.com/excel-help/excel-how-to.php?i=423869

2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
dalam misal mencari teks "I/KP/11/00002" di field NO_GR
>> 1. Buat koneksi ke access ke sebuah dataset yang ada di access melalui excel get external data (import data di xl2003)
>> 2. aktifkan record macro
>> 3. ubah query dalam koneksi ke access tadi dengan menambahkan teks WHERE nama_kolomnya = 'nilai teks dicari'
>> 4. Stop recording
>> 5. ke VBE dan lihat hasil record macro
>> 6. ubah bagian sqlcommandtext hasil reocrding dengan query yang bagian wherenya bisa mengambil nilai dari sebuah cell
>> 7. jalankan macro
>> 8. save

Wassalam,
Kid.

2012/10/18 Heru Safrudin <superheruu@gmail.com>

Dear Mr. Master

Ada 2 pertanyaan :
1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana caranya ?
Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
dalam misal mencari teks "I/KP/11/00002" di field NO_GR

Terima kasih

Heru Safrudin

_

Thu Oct 18, 2012 8:15 pm (PDT) . Posted by:

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

Pakai Excel 2007 ke atas, coba fitur Remove Duplicate.
Pakai Excel versi berapa aja bisa pakai Advaanced Filter centang unique
record move to another place.

Bahasa data universal adalah SQL dengan kalimat query.
Dengan query, bisa diambil data uniqque selalu untuk date tertentu dsb.
Sebelum Anda selesai membuka tabel di Access, Excel sudah selesai merefresh
data.
Biasanya data Access sampai ratusan ribu bisa di refresh dalam 2 atau 3 detik
kurang dibanding copas data tersebut secara langsung, pada komputer yang
sama. Dilakukan tanpa membuka Access, cukup tekan tombol di Excel jika
ingin dinamis atau cukup tekan refresh data jika di access sudah disediakan
sebuah query yang pasti unique dan siap pakai.

Wassalam,
Kid.

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

> **
>
>
> **
> Maaf kalo pertanyaan kurang jelas. Untuk pertanyaan No. 2 maksud saya
> begini :
> misal setiap hari saya update data yaitu Add data harian katakanlah 100
> record dari excel ke Ms. Access. Nah supaya data tidak doble/duplicate
> maka perlu prosedur cek apakah data udah ada di database, hanya yg belum
> ada di database aja yang di Add
>
> Kalo pake query kayaknya terlalu lama, karena data yg dibaca di database
> Access jumlahnya ribuan
>
> Demikian Mr, atas semua atensinya disampaikan terima kasih
>
>
>
> ----- Original Message -----
> *From:* Mr. Kid <mr.nmkid@gmail.com>
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Friday, October 19, 2012 1:45 AM
> *Subject:* Re: [belajar-excel] Mendeteksi keystroke di lembar kerja
>
>
>
> Pak Heru,
>
> 1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana
> caranya ?
> Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
> http://www.teachexcel.com/excel-help/excel-how-to.php?i=423869
>
>
> 2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
> dalam misal mencari teks "I/KP/11/00002" di field NO_GR
> >> 1. Buat koneksi ke access ke sebuah dataset yang ada di access melalui
> excel get external data (import data di xl2003)
> >> 2. aktifkan record macro
> >> 3. ubah query dalam koneksi ke access tadi dengan menambahkan teks
> WHERE nama_kolomnya = 'nilai teks dicari'
> >> 4. Stop recording
> >> 5. ke VBE dan lihat hasil record macro
> >> 6. ubah bagian sqlcommandtext hasil reocrding dengan query yang bagian
> wherenya bisa mengambil nilai dari sebuah cell
> >> 7. jalankan macro
> >> 8. save
>
> Wassalam,
> Kid.
>
>
> 2012/10/18 Heru Safrudin <superheruu@gmail.com>
>
>> **
>>
>>
>> **
>> Dear Mr. Master
>>
>> Ada 2 pertanyaan :
>> 1. Saya pingin mendeteksi keystroke di lembar kerja, bisakah, bagaimana
>> caranya ?
>> Misalkan kalo saya tekan Enter maka prosedur tertentu akan dieksekusi
>> 2. Bagaimana mencari teks di database Ms. Access dari lembar kerja excel
>> dalam misal mencari teks "I/KP/11/00002" di field NO_GR
>>
>> Terima kasih
>>
>>
>> Heru Safrudin
>>
>>
>> _
>>
>
>
>

Thu Oct 18, 2012 6:54 pm (PDT) . Posted by:

"Yudi Dwiyono" yudi_dwiyono

Dear Mas Aji,
 
Thanks a lot, sekalian belajar nih kalau mau ditambahkan kriterian misalkan Month movement di raw data F7, logika mana yang harus di tambah kan.
Thanks.
 
Regards,
Yudi


________________________________
From: aji mumpung <pupung1986@gmail.com>
To: belajar-excel@yahoogroups.com
Sent: Thursday, October 18, 2012 9:08 PM
Subject: Re: [belajar-excel] menghasilkan data ketika searching data


 

maaf koreksi untuk bagian pertama, 

1. yang tadi belum di tes jika data tidak ditemukan
2. sebelumnya penempatan msgbox kalo tidak ditemukan ada di dalam loop < sudah diperbaiki di sini >
## semoga moderator bersedia menghapus postingan saya sebelumnya, menghindari kerugian waktu user yang mencoba file tersebut karena harus menekan tombol OK berkali-kali sebelum bisa keluar dari Loop ##
3. sebelumnya pengecekan terbalik antara kode stok dengan kode gudang, harusnya kode stok dgn stok & kode gudang dgn gudang

revisi untuk bagian pertama yang ditulis dimodule sbb:

Option Explicit
' ==========================================
' code by : Aji Mumpung
' puncak Telomoyo, di samping menara Telkom
' 18 Oktober 2012
' ==========================================
Sub CariBerdasarkanKodeStokDanGudang()
    ' deklarasikan variabel yang dibutuhkan
    ' variable Header WareHouse bertipe range
    Dim hdWH As Range
    ' variabel untuk menyimpan data seluruh WareHouse, bertipe range
    Dim rgWH As Range
    ' variabel untuk setiap cell yang berisi data WareHouse, bertipe range
    Dim cWH As Range
    ' variabel kode stok yang ditanyakan, bertipe range
    Dim codeStock As Range
    ' variabel kode waregouse yang ditanyakan, bertipe range
    Dim codeWH As Range
    
    ' non aktif-kan screen update
    Application.ScreenUpdating = False
    ' hapus dahulu semua data di sheet "Search" range c5 sampai c13
    Sheet2.Range("c5:c13").ClearContents
    
    ' tentukan nilai kode stok yang ditanyakan
    ' berada di sheet "search", nomer index sheetnya 2
    ' untuk setiap cell yang di-merge nilainya berada di paling kiri atas
    Set codeStock = Sheet2.Range("f2")
    ' tentukan nilai kode warehouse yang ditanyakan
    Set codeWH = Sheet2.Range("f3")
    ' tentukan posisi header warehouse
    ' nomor index sheet "Raw Data" adalah 1 dan berada di cell a7
    Set hdWH = Sheet1.Range("a7")
    ' range data yang berisi kode wh adalah 1 baris di bawah header wh
    ' sampai dengan baris yang paling akhir
    ' dari header turun 1 baris , dari header turun ke bawah sampai baris terakhir yang berisi data
    ' tidak boleh ada baris kosong antar data
    Set rgWH = Range(hdWH.Offset(1, 0), hdWH.End(xlDown))
    ' cek untuk setiap cell dalam range warehouse
    For Each cWH In rgWH
        ' cek apakah kode wh ini sama dengan kode wh di sheet "search"
        If cWH.Value = codeWH Then
            ' jika sama, coba cek juga apakah kode stok sama dengan yang ditanyakan
            ' posisi kode stok ada di 1 kolom sebelah kanan kode warehouse
            If cWH.Offset(0, 1).Value = codeStock Then
                ' jika kode stoknya juga sama, maka copy data di sheet "raw data" ke sheet "search"
                ' sesuaikan dengan posisi masing-masing data
                ' pada sheet2
                With Sheet2
                    Range("c5").Value = cWH.Offset(0, 1).Value
                    Range("c5").NumberFormat = "000"
                    Range("c6").Value = cWH.Offset(0, 2).Value
                    Range("c7").Value = cWH.Offset(0, 3).Value
                    Range("c8").Value = cWH.Offset(0, 4).Value
                    Range("c9").Value = cWH.Offset(0, 9).Value
                    Range("c10").Value = cWH.Offset(0, 10).Value
                    Range("c11").Value = cWH.Offset(0, 7).Value
                    Range("c12").Value = cWH.Offset(0, 8).Value
                    Range("c13").Value = cWH.Offset(0, 6).Value
                    Range("c5:c13").HorizontalAlignment = xlLeft
                    ' aktifkan kembali screen update
                    Application.ScreenUpdating = True
                    ' tampilkan pesan bahwa data ditemukan dan sudah ditampilkan
                    MsgBox "Data ditemukan", vbOKOnly, "Hasil Pencarian"
                    ' kalo sudah keluar dari prosedur
                    ' data berikutnya sudah tidak perlu di cek lagi
                    Exit Sub
                End With
            ' akhir dari logika
            End If
        ' akhir dari logika
        End If
    ' cek kode warehouse selanjutnya
    Next cWH
    ' jika sampai ke bagian ini berarti tidak ada data yang ditemukan
    ' aktifkan kembali screen update
    Application.ScreenUpdating = True
    ' tampilkan pesan bahwa tidak ada data sama yang ditemukan
    MsgBox "Data tidak ditemukan", vbCritical, "Peringatan"
' akhir dari prosedur
End Sub

file revisi terlampir

wassalam,

-aji mumpung-

Pada 18 Oktober 2012 20:31, aji mumpung <pupung1986@gmail.com> menulis:
pak yudi,
>
>
>coba code berikut:
>
>
>=================================
>Bagian Pertama ditulis di sebuah module
>=================================
>
>
>Option Explicit
>' ==========================================
>' code by : Aji Mumpung
>' puncak Telomoyo, di samping menara Telkom
>' 18 Oktober 2012
>' ==========================================
>Sub CariBerdasarkanKodeStokDanGudang()
>    ' deklarasikan variabel yang dibutuhkan
>    ' variable Header WareHouse bertipe range
>    Dim hdWH As Range
>    ' variabel untuk menyimpan data seluruh WareHouse, bertipe range
>    Dim rgWH As Range
>    ' variabel untuk setiap cell yang berisi data WareHouse, bertipe range
>    Dim cWH As Range
>    ' variabel kode stok yang ditanyakan, bertipe range
>    Dim codeStock As Range
>    ' variabel kode waregouse yang ditanyakan, bertipe range
>    Dim codeWH As Range
>    
>    ' non aktif-kan screen update
>    Application.ScreenUpdating = False
>    ' hapus dahulu semua data di sheet "Search" range c5 sampai c13
>    Sheet2.Range("c5:c13").ClearContents
>    
>    ' tentukan nilai kode stok yang ditanyakan
>    ' berada di sheet "search", nomer index sheetnya 2
>    ' untuk setiap cell yang di-merge nilainya berada di paling kiri atas
>    Set codeStock = Sheet2.Range("f2")
>    ' tentukan nilai kode warehouse yang ditanyakan
>    Set codeWH = Sheet2.Range("f3")
>    ' tentukan posisi header warehouse
>    ' nomor index sheet "Raw Data" adalah 1 dan berada di cell a7
>    Set hdWH = Sheet1.Range("a7")
>    ' range data yang berisi kode wh adalah 1 baris di bawah header wh
>    ' sampai dengan baris yang paling akhir
>    ' dari header turun 1 baris , dari header turun ke bawah sampai baris terakhir yang berisi data
>    ' tidak boleh ada baris kosong antar data
>    Set rgWH = Range(hdWH.Offset(1, 0), hdWH.End(xlDown))
>    ' cek untuk setiap cell dalam range warehouse
>    For Each cWH In rgWH
>        ' cek apakah kode wh ini sama dengan kode wh di sheet "search"
>        If cWH.Value = codeStock Then
>            ' jika sama, coba cek juga apakah kode stok sama dengan yang ditanyakan
>            ' posisi kode stok ada di 1 kolom sebelah kanan kode warehouse
>            If cWH.Offset(0, 1).Value = codeWH Then
>                ' jika kode stoknya juga sama, maka copy data di sheet "raw data" ke sheet "search"
>                ' sesuaikan dengan posisi masing-masing data
>                ' pada sheet2
>                With Sheet2
>                    Range("c5").Value = cWH.Offset(0, 1).Value
>                    Range("c5").NumberFormat = "000"
>                    Range("c6").Value = cWH.Offset(0, 2).Value
>                    Range("c7").Value = cWH.Offset(0, 3).Value
>                    Range("c8").Value = cWH.Offset(0, 4).Value
>                    Range("c9").Value = cWH.Offset(0, 9).Value
>                    Range("c10").Value = cWH.Offset(0, 10).Value
>                    Range("c11").Value = cWH.Offset(0, 7).Value
>                    Range("c12").Value = cWH.Offset(0, 8).Value
>                    Range("c13").Value = cWH.Offset(0, 6).Value
>                    Range("c5:c13").HorizontalAlignment = xlLeft
>                    ' aktifkan kembali screen update
>                    Application.ScreenUpdating = True
>                    ' tampilkan pesan bahwa data ditemukan dan sudah ditampilkan
>                    MsgBox "Data ditemukan", vbOKOnly, "Hasil Pencarian"
>                    ' kalo sudah keluar dari prosedur
>                    ' data berikutnya sudah tidak perlu di cek lagi
>                    Exit Sub
>                End With
>            ' akhir dari logika
>            End If
>        ' selain itu
>        Else
>        ' tampilkan pesan bahwa tidak ada data sama yang ditemukan
>        MsgBox "Data tidak ditemukan", vbCritical, "Peringatan"
>        ' akhir dari logika
>        End If
>    ' cek kode warehouse selanjutnya
>    Next cWH
>    ' aktifkan kembali screen update
>    Application.ScreenUpdating = True
>' akhir dari prosedur
>End Sub
>
>
>=================================
>Bagian kedua ditulis di command botton
>=================================
>
>
>Option Explicit
>
>
>Private Sub CommandButton1_Click()
>    ' panggil prosedur yang tadi ditulis di sebuah modul
>    Call CariBerdasarkanKodeStokDanGudang
>End Sub
>
>
>file terlampir
>
>
>wassalam,
>
>
>-aji mumpung-
>Pada 18 Oktober 2012 17:12, Yudi Dwiyono <yudi_dwiyono@yahoo.com> menulis:
>
>
>
>> 
>>Dear Master excel,
>>
>>Mohon bantu untuk file terlampir , bagaimana caranya agar ketika input stock code dan warehouse code akan menghasilkan data terlampir dan kemungkinan row pada raw data akan bertambah setiap harinya bahkan pada titik maksimal.
>>Thanks.
>>
>>Regards,
>>Yud

Thu Oct 18, 2012 7:42 pm (PDT) . Posted by:

"aji mumpung"

kalo mau nambah kriteria pencarian, deklarasikan lagi sebuah variabel
bertipe RANGE sebagai wadah penyimpanan kriteria tersebut
pengecekannya berada di IF -- IF yang sudah ada.
Logika pengecekan yang sudah ada seperti ini:
*Kalo kode wh yang dicari ada di sheet raw data, maka cek juga apakah kode
stok juga ditemukan di raw data.*
Kalo kedua kode tersebut ditemukan tampilkan hasil di sheet search, kalo
tidak ada tampilkan msgbox yang menyatakan bahwa data tidak ditemukan

Nah, kalo ada penambahan kriteria, berarti setelah yang *dibiru* di cek
lagi dengan IF,
jadi setelah semua yang *dibiru* ditemukan tambah lagi pengecekan apakah
kriteria bulan pada sheet search sama (ditemukan) dalam raw data.

untuk kolom F berada di 5 kolom sebelah kanan dari kode WH, gunakan
*OffSet(kode_wh_yang_sedang_di_cek,
5)*

coba pak yudhi susun dulu data dan script programnya.. nanti kalo sudah
jadi dicoba dulu, semoga langsung bisa jalan.. kalo masih bermasalah coba
posting sample workbook dan listing programnya ke sini..

insya Allah nanti akan diberitahu di mana letak yang masih salah.

wassalam,

-aji mumpung-
*Tuntutlah ilmu, sesungguhnya menuntut ilmu adalah pendekatan diri kepada
Allah SWT dan mengajarkannya kepada orang yang tidak mengetahuinya adalah
sedekah.*
*(HR ar-Rabi)*

Pada 19 Oktober 2012 08:53, Yudi Dwiyono <yudi_dwiyono@yahoo.com> menulis:

> **
>
>
> Dear Mas Aji,
>
> Thanks a lot, sekalian belajar nih kalau mau ditambahkan kriterian
> misalkan Month movement di raw data F7, logika mana yang harus di tambah
> kan.
> Thanks.
>
> Regards,
> Yudi
>
>

Thu Oct 18, 2012 8:06 pm (PDT) . Posted by:

"Kusnadi Bin zain" kbinzain

saya sungguh surprised dg Formula yg dibuat Mr Kid & bang Gozali
saya pikir tadinya harus pake macro..... apaboleh buat terlanjur ada,  kirim saja sapa tahu ada yg membutuhkan juga

kusnadi

________________________________
Dari: tuti andrayani <andrayani_lee@yahoo.co.id>
Kepada: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
Dikirim: Kamis, 18 Oktober 2012 14:51
Judul: [belajar-excel] merubah format laporan


 
Dear Execelers ....

Mohon pencerahan jika saya punya data

Nama Konsumen Alamat Kota  Propinsi
A Jl. Baturaden No.15 Ciwastra Bandung Jawa Barat
B Jl. Sasak Gantung No.11 Semarang Jawa Tengah
C Jl. Raya Barat No. 1 Surabaya Jawa Timur
dst      
dimana konsumennya ada ribuan

dan saya ingin merubah format laporannya menjadi :

Nama Konsumen Alamat Klasifikasi 
A Jl. Baturaden No.15 Ciwastra Alamat
  Bandung Kota 
  Jawa Barat Propinsi
B Jl. Sasak Gantung No.11 Alamat
  Semarang Kota 
  Jawa Tengah Propinsi
C Jl. Raya Barat No. 1 Alamat
  Surabaya Kota

  Jawa Timur Propinsi

Bagaimana ya cara otomatisnya, karena kalau manual diinsert row dan copy transpose terlalu lama

Thanks
Tuti

Thu Oct 18, 2012 8:06 pm (PDT) . Posted by:

"Jodi Y" jodyslexia@rocketmail.com

Dear,
master excel macro vba

bagaimana syntax untuk menghapus data di sheet, sehingga saya bisa menginsert data terbaru di sheet tsbt. contoh:

TABEL KARYAWAN
nik nm_krywn jabatan absensi --> 'ini adalah header
1202 paul staff hadir --> 'ini adalah isi row1
1203 malih staff hadir --> 'ini adalah isi row2

yg ingin saya tanyakan, bagaimana syntax untuk menghapus semua 'isi'
dengan menggunakan commandbutton di form. tetapi untuk 'header' tdk terhapus

Regards,
Jodi

Thu Oct 18, 2012 8:34 pm (PDT) . Posted by:

"aji mumpung"

hai Jodi,

berhubung gak ngasih sample workbook, jadi jawabnya gini aja ya..

buka sebuah module dalam VBA
Pada module tersebut:
1. dekalarasikan beberapa variabel bertipe RANGE untuk menyimpan Header dan
seluruh data NIK karyawan
jadai dalam hal ini ada 2 buah variabel

2. tentukan posisi di mana header tersebut berada, hal ini bisa menggunakan
fungsi Find yang akan mencari isi dari header
kira-kira syntaxnya seperti ini:

Set hdInk = Cells.Find("isi_header_yang_dicari")

dengan menggunakan syntax ini maka posisi header akan dicari di mana saja
(dinamis) selama masih dalam sheet yang sebelumnya sudah ditunjuk, karena
saya juga tidak tau anda menempatkan header di mana

setelah itu boleh ditambahkan kondisi yang digunakan apakah header tersebut
ditemukan atau tidak [ini bersifat optional]

3. setelah tentukan letak data yang pertama, tentunya adalah 1 baris di
bawah header, untuk ini gunakan fungsi OffSet

4. tentukan juga letak data yang paling akhir, gunakan End(xlDown)

5. Gabung point 3 dan 4 di atas dalam 1 line code
kira-kira seperti ini

set rgInk = range(hdInk.OffSet(1,0),hdInk.end(xlDown)

6. kan pada point 5 udah ketemu tuh range data yang mau dihapus, jadi
harusnya dibelakang kode diatas ditambahkan kode seperti ini

.EntireRow Delete

selesai deh bikin listing programnya

7. Sekarang kita bikin tombolnya
kembali ke lembar kerja, masukkan shape, atau kalo mau narsis sedikit
bolehlah masukkan foto ke dalam worksheet tersebut yang jika kita menekan
foto tersebut maka program akan berjalan

caranya sbb: klik kanan tombol mouse pada shape atau foto yang tadi sudah
kita masukkan
pilih Assign Macro
pilih This WorkBook
pilih nama prosedur macro yang sudah kita tentukan di awal sebelum point 1
klik OK

jadilah sebuah program yang anda inginkan

:: Cara lain::

gunakan rekam macro

1. Pergi ke header data >> macro akan merekam posisi header
2. Aktifkan tombol Relative Refference
3. panah bawah 1 kali >> macro akan merekam lokasi data pertama
4. tekan CTRL + Shift + panah bawah >> macro akan merekam lokasi data
terakhir dalam mode dinamis
5. Delete seluruh baris yang sudah terblok pada point 4
6. Matikan proses recording macro
7. lihat ke VBE.. anda akan meneumukan listing program yang dibutuhkan
8. Assign macro tersebut ke sebuah shape

semoga bermanfaat

wassalam,

-aji mumpung-

2012/10/19 Jodi Y <jodyslexia@rocketmail.com>

> **
>
>
> Dear,
> master excel macro vba
>
> bagaimana syntax untuk menghapus data di sheet, sehingga saya bisa
> menginsert data terbaru di sheet tsbt. contoh:
>
> TABEL KARYAWAN
> nik nm_krywn jabatan absensi --> 'ini adalah header
> 1202 paul staff hadir --> 'ini adalah isi row1
> 1203 malih staff hadir --> 'ini adalah isi row2
>
> yg ingin saya tanyakan, bagaimana syntax untuk menghapus semua 'isi'
> dengan menggunakan commandbutton di form. tetapi untuk 'header' tdk
> terhapus
>
> Regards,
> Jodi
>
>
>
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