15 New Messages
Digest #1987
1a
Re: Menambahkan Data Pakai ADO ke Access dengan nama field yang miri by "Mr. Kid" nmkid.family@ymail.com
1c
Re: Menambahkan Data Pakai ADO ke Access dengan nama field yang miri by "Mr. Kid" nmkid.family@ymail.com
5a
Re: Mengubah angka hasil dari database menjadi huruf by "agung.widodo01@id.panasonic.com" aghoenx1
Messages
Tue Dec 25, 2012 3:34 pm (PST) . Posted by:
"Mr. Kid" nmkid.family@ymail.com
Hai Adi,
> field waktu tidak dapat menampilkan format waktu di excel
>> Tipe data tabel di db untuk field waktu apa ya...
Biasanya hasil copyfromrecordset akan tampil di-Excel sesuai tipe datanya.
Apakah tipe data field waktu bukan datetime ?
Jika bukan datetime, bagaimana format penulisan waktu dalam field waktu
tersebut ? (umumnya ditulis dengan format HH:mm:ss)
Bagaimana jika field tanggal dan field waktu dijadikan satu menjadi field
waktu_ujian dengan tipe data datetime ?
btw, lepas dari semua itu. *
Anggap saja tipe data field waktu dalam db bukanlah bertipe datetime tapi
dalam format waktu HH:mm:ss* dan nama-nama fieldnya adalah
ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\dst
serta tetap ingin menggunakan methods copyfromrecordset, coba querynya
diubah menjadi : (query untuk ms access)
SELECT ID,Tanggal,*CDate(*Waktu*) as
jam*,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...,dst
FROM Jawaban
Jika akan menggunakan loop dalam menulis ke setiap cell Excel, maka query
masih bisa dengan :
SELECT * FROM Jawaban
kemudian loop dari record pertama sampai record terakhir (EOF)
yang didalamnya menulis semua field per record yang diproses oleh loop.
Jika Excel tetap tidak langsung mengkonversi tipe data field waktu menjadi
bertipe datetime dalam cell, maka lakukan konversi tipe data pada nilai
waktu.
Kira-kira bunyinya seperti ini :
Dim sSQL As String
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection
dim lRowOffset as long, lColOffset as long, lFields as long
dim rngAnchor as range
'misal hasil query ditulis di sheet bernama Answer dengan header terkiri di
A1
set rngAnchor=sheets("Answer").range("a1")
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.ACE.OLEDB.
12.0;Data Source=" &
Environ("UserProfile") & "\Desktop\jwb.accdb;Persist Security
Info=False"
Set rs = New ADODB.Recordset
sSQL = "Select * from Jawaban"
rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
if rs.recordcount>0 then
lrowoffset=1
rs.movefirst
lfields=rs.fields.count -1 'index field adalah base 0
do while not rs.eof
with rnganchor
for lcoloffset=0 to lfields
.offset(lrowoffset,lcoloffset).value =
rs.fields(lcoloffset).value
next lcoloffset
end with
lrowoffset=lrowoffset+1
rs.movenext
loop
endif
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
> ujian semester menggunakan Excel 2007. ketika menekan tombol selesai,
data jawaban akan tersimpan ke table jawaban.
siswanya berjumlah 700 orang. 1 materi saja mempunyai 50 soal. Fields :
ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\dst
>> Biasanya, untuk database yang ingin menampung data seperti demikian,
setidaknya akan dibagi menjadi 3 tabel, yaitu :
1. Tabel siswa (NoIndukSiswa,Nama,Kelas,no_ujian)
2. Tabel ujian (IDMateri,Materi,Kelas,TglUjian)
3. Tabel jawaban (noUjian,IDMateri,NoIndukSiswa,TglKumpul,NoSoal,Jawaban)
Kunci jawaban disimpan dengan NoUjian 0.
Komputasi mengkalkulasi nilai jawaban bisa dilakukan dengan klausa JOIN
Komputasi menyusun data source untuk output (fact table) juga disusun
dengan klausa JOIN
Biasanya menampilkan jawaban para siswa beserta nilai masing-masing
dilakukan per materi dan jarang untuk seluruh materi sekaligus.
asumsi ada 20 materi per kelas dan ada 100 kelas dengan ujian per materi
sebanyak 5 kali dalam 2 semester, akan ada 700M record.
Kadang data seperti tabel jawaban dibagi menjadi data per kelas per
semester (andai database engine tidak memiliki kemampuan membuat partisi
data).
Maka jumlah record sekitar 3.5M. Sepertinya MS Access masih mampu untuk
record sebanyak 3.5M
Excel dengan 1M baris per sheet, digunakan untuk menampilkan output per
materi. Andai saja juga ditampilkan per ujian, maka jumlah record sekitar
35K.
Seluruh proses komputasi diusahakan dilakukan pada sisi database dan
sesedikit mungkin yang dikomputasi oleh Excel.
Andai field dibuat berorientasi horisontal seperti yang ada sekarang,
komputasi yang dilakukan disisi database akan membutuhkan kalimat query
yang relatif panjang.
Wassalam,
Kid.
2012/12/25 Adi <abduhsuryadi@gmail.com >
> **
>
>
> Sebenarnya database access ini bertujuan untuk menampung jawaban
> santriwati di pondok saya yang ujian semester menggunakan Excel 2007.
> Setiap santriwati ketika menekan tombol selesai, data jawaban mereka
> akan tersimpan ke table jawaban.
> kalau jawaban dibuat menjadi record tersendiri, dapat dibayangkan berapa
> record yang akan terbentuk jika siswanya berjumlah 700 orang. padahal 1
> materi saja mempunyai 50 soal.
>
> lebih lengkapnya desain field table jawaban seperti ini:
> ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\
> dst
>
> Izinkan saya untuk bertanya lagi Mr... sya menulis kode berikut untuk
> mengambil kembali data yang ada di access ke excel menggunakan
> copyfromrecordset. yang jadi masalah adalah, field waktu tidak dapat
> menampilkan format waktu di excel, hanya tanggal saja yang ada di field
> waktu.
> Minta pencerahannya...wassalam.
>
> Sub DapatkanData()
>
> Dim sSQL As String
> Dim rs As ADODB.Recordset
> Dim cn As ADODB.Connection
>
> Set cn = New ADODB.Connection
>
> cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" &
> Environ("UserProfile") & "\Desktop\jwb.accdb;Persist Security
> Info=False"
>
> Set rs = New ADODB.Recordset
>
> sSQL = "Select * from Jawaban"
>
>
> rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
>
> Cells(5, 2).CopyFromRecordset rs
>
>
> rs.Close
> Set rs = Nothing
> cn.Close
> Set cn = Nothing
> End Sub
>
> --- In belajar-excel@yahoogroups.com , "Mr. Kid" wrote:
> >
> > Oh gitu.
> >
> > Maksud saya, kenapa tabel tidak dibuat berupa 2 kolom bernama Nomor
> > (kolom1) dan jawab(kolom2).
> > Jadi data setiap nomor akan jadi 1 record alias sekali input akan ada
> > penambahan 50 record.
> >
> > Wassalam,
> > Kid.
> > On Dec 25, 2012 9:18 AM, "Adi" abduhsuryadi@... wrote:
> >
> > > **
>
> > >
> > >
> > > kalau yang itu, sudah saya coba pak,dan alhmdlillah sukses. kodenya
> > > seperti ini:
> > >
> > > dim myField as String
> > > dim myInt as Integer
> > >
> > > With rs
> > > .AddNew
> > >
> > > For myInt = 1 To 50
> > > myField = myField & IIf(IsNull(Range("F" & myInt)) Or Range("F" &
> myInt) =
> > > "", "0", Range("F" & myInt))
> > > Next
> > >
> > > .Fields("Jawaban") = myField
> > > .Update
> > > End With
> > >
> > > --- In belajar-excel@yahoogroups.com , "Mr. Kid" mr.nmkid@ wrote:
> > > >
> > > > Sama-sama.
> > > >
> > > > Kalau boleh bertanya, apakah mungkin jika tabelnya diubah menjadi
> > > memiliki
> > > > kolom Nomor dan Jawaban (2 kolom) saja ?
> > > >
> > > > Wassalam,
> > > > Kid.
> > > >
>
>
>
> field waktu tidak dapat menampilkan format waktu di excel
>> Tipe data tabel di db untuk field waktu apa ya...
Biasanya hasil copyfromrecordset akan tampil di-Excel sesuai tipe datanya.
Apakah tipe data field waktu bukan datetime ?
Jika bukan datetime, bagaimana format penulisan waktu dalam field waktu
tersebut ? (umumnya ditulis dengan format HH:mm:ss)
Bagaimana jika field tanggal dan field waktu dijadikan satu menjadi field
waktu_ujian dengan tipe data datetime ?
btw, lepas dari semua itu. *
Anggap saja tipe data field waktu dalam db bukanlah bertipe datetime tapi
dalam format waktu HH:mm:ss* dan nama-nama fieldnya adalah
ID,Tanggal,Waktu,
serta tetap ingin menggunakan methods copyfromrecordset, coba querynya
diubah menjadi : (query untuk ms access)
SELECT ID,Tanggal,*
jam*,NoUjian,
FROM Jawaban
Jika akan menggunakan loop dalam menulis ke setiap cell Excel, maka query
masih bisa dengan :
SELECT * FROM Jawaban
kemudian loop dari record pertama sampai record terakhir (EOF)
yang didalamnya menulis semua field per record yang diproses oleh loop.
Jika Excel tetap tidak langsung mengkonversi tipe data field waktu menjadi
bertipe datetime dalam cell, maka lakukan konversi tipe data pada nilai
waktu.
Kira-kira bunyinya seperti ini :
Dim sSQL As String
Dim rs As ADODB.Recordset
Dim cn As ADODB.Connection
dim lRowOffset as long, lColOffset as long, lFields as long
dim rngAnchor as range
'misal hasil query ditulis di sheet bernama Answer dengan header terkiri di
A1
set rngAnchor=sheets(
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft
12.0;Data Source=" &
Environ("UserProfil
Info=False"
Set rs = New ADODB.Recordset
sSQL = "Select * from Jawaban"
rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
if rs.recordcount>
lrowoffset=1
rs.movefirst
lfields=rs.fields.
do while not rs.eof
with rnganchor
for lcoloffset=0 to lfields
.offset(lrowoffset,
rs.fields(lcoloffse
next lcoloffset
end with
lrowoffset=lrowoffs
rs.movenext
loop
endif
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
> ujian semester menggunakan Excel 2007. ketika menekan tombol selesai,
data jawaban akan tersimpan ke table jawaban.
siswanya berjumlah 700 orang. 1 materi saja mempunyai 50 soal. Fields :
ID,Tanggal,Waktu,
>> Biasanya, untuk database yang ingin menampung data seperti demikian,
setidaknya akan dibagi menjadi 3 tabel, yaitu :
1. Tabel siswa (NoIndukSiswa,
2. Tabel ujian (IDMateri,Materi,
3. Tabel jawaban (noUjian,IDMateri,
Kunci jawaban disimpan dengan NoUjian 0.
Komputasi mengkalkulasi nilai jawaban bisa dilakukan dengan klausa JOIN
Komputasi menyusun data source untuk output (fact table) juga disusun
dengan klausa JOIN
Biasanya menampilkan jawaban para siswa beserta nilai masing-masing
dilakukan per materi dan jarang untuk seluruh materi sekaligus.
asumsi ada 20 materi per kelas dan ada 100 kelas dengan ujian per materi
sebanyak 5 kali dalam 2 semester, akan ada 700M record.
Kadang data seperti tabel jawaban dibagi menjadi data per kelas per
semester (andai database engine tidak memiliki kemampuan membuat partisi
data).
Maka jumlah record sekitar 3.5M. Sepertinya MS Access masih mampu untuk
record sebanyak 3.5M
Excel dengan 1M baris per sheet, digunakan untuk menampilkan output per
materi. Andai saja juga ditampilkan per ujian, maka jumlah record sekitar
35K.
Seluruh proses komputasi diusahakan dilakukan pada sisi database dan
sesedikit mungkin yang dikomputasi oleh Excel.
Andai field dibuat berorientasi horisontal seperti yang ada sekarang,
komputasi yang dilakukan disisi database akan membutuhkan kalimat query
yang relatif panjang.
Wassalam,
Kid.
2012/12/25 Adi <abduhsuryadi@
> **
>
>
> Sebenarnya database access ini bertujuan untuk menampung jawaban
> santriwati di pondok saya yang ujian semester menggunakan Excel 2007.
> Setiap santriwati ketika menekan tombol selesai, data jawaban mereka
> akan tersimpan ke table jawaban.
> kalau jawaban dibuat menjadi record tersendiri, dapat dibayangkan berapa
> record yang akan terbentuk jika siswanya berjumlah 700 orang. padahal 1
> materi saja mempunyai 50 soal.
>
> lebih lengkapnya desain field table jawaban seperti ini:
> ID,Tanggal,Waktu,
> dst
>
> Izinkan saya untuk bertanya lagi Mr... sya menulis kode berikut untuk
> mengambil kembali data yang ada di access ke excel menggunakan
> copyfromrecordset. yang jadi masalah adalah, field waktu tidak dapat
> menampilkan format waktu di excel, hanya tanggal saja yang ada di field
> waktu.
> Minta pencerahannya.
>
> Sub DapatkanData(
>
> Dim sSQL As String
> Dim rs As ADODB.Recordset
> Dim cn As ADODB.Connection
>
> Set cn = New ADODB.Connection
>
> cn.Open "Provider=Microsoft
> Environ("UserProfil
> Info=False"
>
> Set rs = New ADODB.Recordset
>
> sSQL = "Select * from Jawaban"
>
>
> rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
>
> Cells(5, 2).CopyFromRecordse
>
>
> rs.Close
> Set rs = Nothing
> cn.Close
> Set cn = Nothing
> End Sub
>
> --- In belajar-excel@
> >
> > Oh gitu.
> >
> > Maksud saya, kenapa tabel tidak dibuat berupa 2 kolom bernama Nomor
> > (kolom1) dan jawab(kolom2)
> > Jadi data setiap nomor akan jadi 1 record alias sekali input akan ada
> > penambahan 50 record.
> >
> > Wassalam,
> > Kid.
> > On Dec 25, 2012 9:18 AM, "Adi" abduhsuryadi@
> >
> > > **
>
> > >
> > >
> > > kalau yang itu, sudah saya coba pak,dan alhmdlillah sukses. kodenya
> > > seperti ini:
> > >
> > > dim myField as String
> > > dim myInt as Integer
> > >
> > > With rs
> > > .AddNew
> > >
> > > For myInt = 1 To 50
> > > myField = myField & IIf(IsNull(Range(
> myInt) =
> > > "", "0", Range("F" & myInt))
> > > Next
> > >
> > > .Fields("Jawaban"
> > > .Update
> > > End With
> > >
> > > --- In belajar-excel@
> > > >
> > > > Sama-sama.
> > > >
> > > > Kalau boleh bertanya, apakah mungkin jika tabelnya diubah menjadi
> > > memiliki
> > > > kolom Nomor dan Jawaban (2 kolom) saja ?
> > > >
> > > > Wassalam,
> > > > Kid.
> > > >
>
>
>
Wed Dec 26, 2012 1:01 am (PST) . Posted by:
"Adi" abduh_suryadi
Terima kasih banyak atas sarannya Mr. saya mengubah sSQL menjadi:
"Select *, cDate(Waktu) From Jawaban".
kalau saya rinci, maka panjang sekali jadinya, karena table jawaban mempunyai hampir 60 field (atau mgkn ada caranya?).
field tanggal bertipe datetime dengan default value Date()
sedangkan field waktu bertipe datetime dengan defaultvalue Now().
tapi untuk efisiensi, field waktu saya hapus dan field tanggal saya ubah defaultnya ke now().
untuk kode yang bapak buat, sudah saya coba, tapi field waktu ternyata tidak bisa menampilkan format waktu, yang terambil hanya tanggalnya saja.
sekali lagi, terima kasih banyak atas sarannya pak.
wassalam...
--- In belajar-excel@yahoogroups.com , "Mr. Kid" <mr.nmkid@...> wrote:
>
> Hai Adi,
>
> > field waktu tidak dapat menampilkan format waktu di excel
> >> Tipe data tabel di db untuk field waktu apa ya...
> Biasanya hasil copyfromrecordset akan tampil di-Excel sesuai tipe datanya.
> Apakah tipe data field waktu bukan datetime ?
> Jika bukan datetime, bagaimana format penulisan waktu dalam field waktu
> tersebut ? (umumnya ditulis dengan format HH:mm:ss)
> Bagaimana jika field tanggal dan field waktu dijadikan satu menjadi field
> waktu_ujian dengan tipe data datetime ?
>
> btw, lepas dari semua itu. *
> Anggap saja tipe data field waktu dalam db bukanlah bertipe datetime tapi
> dalam format waktu HH:mm:ss* dan nama-nama fieldnya adalah
> ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\dst
> serta tetap ingin menggunakan methods copyfromrecordset, coba querynya
> diubah menjadi : (query untuk ms access)
> SELECT ID,Tanggal,*CDate(*Waktu*) as
> jam*,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...,dst
>
> FROM Jawaban
>
> Jika akan menggunakan loop dalam menulis ke setiap cell Excel, maka query
> masih bisa dengan :
> SELECT * FROM Jawaban
> kemudian loop dari record pertama sampai record terakhir (EOF)
> yang didalamnya menulis semua field per record yang diproses oleh loop.
> Jika Excel tetap tidak langsung mengkonversi tipe data field waktu menjadi
> bertipe datetime dalam cell, maka lakukan konversi tipe data pada nilai
> waktu.
> Kira-kira bunyinya seperti ini :
>
> Dim sSQL As String
> Dim rs As ADODB.Recordset
> Dim cn As ADODB.Connection
> dim lRowOffset as long, lColOffset as long, lFields as long
> dim rngAnchor as range
>
> 'misal hasil query ditulis di sheet bernama Answer dengan header terkiri di
> A1
> set rngAnchor=sheets("Answer").range("a1")
>
> Set cn = New ADODB.Connection
>
> cn.Open "Provider=Microsoft.ACE.OLEDB.
> 12.0;Data Source=" &
> Environ("UserProfile") & "\Desktop\jwb.accdb;Persist Security
> Info=False"
>
> Set rs = New ADODB.Recordset
>
> sSQL = "Select * from Jawaban"
>
> rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
>
> if rs.recordcount>0 then
> lrowoffset=1
> rs.movefirst
> lfields=rs.fields.count -1 'index field adalah base 0
> do while not rs.eof
> with rnganchor
> for lcoloffset=0 to lfields
> .offset(lrowoffset,lcoloffset).value =
> rs.fields(lcoloffset).value
> next lcoloffset
> end with
> lrowoffset=lrowoffset+1
> rs.movenext
> loop
> endif
>
> rs.Close
> Set rs = Nothing
> cn.Close
> Set cn = Nothing
>
> > ujian semester menggunakan Excel 2007. ketika menekan tombol selesai,
> data jawaban akan tersimpan ke table jawaban.
> siswanya berjumlah 700 orang. 1 materi saja mempunyai 50 soal. Fields :
> ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\dst
> >> Biasanya, untuk database yang ingin menampung data seperti demikian,
> setidaknya akan dibagi menjadi 3 tabel, yaitu :
> 1. Tabel siswa (NoIndukSiswa,Nama,Kelas,no_ujian)
> 2. Tabel ujian (IDMateri,Materi,Kelas,TglUjian)
> 3. Tabel jawaban (noUjian,IDMateri,NoIndukSiswa,TglKumpul,NoSoal,Jawaban)
> Kunci jawaban disimpan dengan NoUjian 0.
> Komputasi mengkalkulasi nilai jawaban bisa dilakukan dengan klausa JOIN
> Komputasi menyusun data source untuk output (fact table) juga disusun
> dengan klausa JOIN
> Biasanya menampilkan jawaban para siswa beserta nilai masing-masing
> dilakukan per materi dan jarang untuk seluruh materi sekaligus.
>
> asumsi ada 20 materi per kelas dan ada 100 kelas dengan ujian per materi
> sebanyak 5 kali dalam 2 semester, akan ada 700M record.
> Kadang data seperti tabel jawaban dibagi menjadi data per kelas per
> semester (andai database engine tidak memiliki kemampuan membuat partisi
> data).
> Maka jumlah record sekitar 3.5M. Sepertinya MS Access masih mampu untuk
> record sebanyak 3.5M
> Excel dengan 1M baris per sheet, digunakan untuk menampilkan output per
> materi. Andai saja juga ditampilkan per ujian, maka jumlah record sekitar
> 35K.
> Seluruh proses komputasi diusahakan dilakukan pada sisi database dan
> sesedikit mungkin yang dikomputasi oleh Excel.
>
> Andai field dibuat berorientasi horisontal seperti yang ada sekarang,
> komputasi yang dilakukan disisi database akan membutuhkan kalimat query
> yang relatif panjang.
>
> Wassalam,
> Kid.
>
>
> 2012/12/25 Adi <abduhsuryadi@...>
>
> > **
> >
> >
> > Sebenarnya database access ini bertujuan untuk menampung jawaban
> > santriwati di pondok saya yang ujian semester menggunakan Excel 2007.
> > Setiap santriwati ketika menekan tombol selesai, data jawaban mereka
> > akan tersimpan ke table jawaban.
> > kalau jawaban dibuat menjadi record tersendiri, dapat dibayangkan berapa
> > record yang akan terbentuk jika siswanya berjumlah 700 orang. padahal 1
> > materi saja mempunyai 50 soal.
> >
> > lebih lengkapnya desain field table jawaban seperti ini:
> > ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\
> > dst
> >
> > Izinkan saya untuk bertanya lagi Mr... sya menulis kode berikut untuk
> > mengambil kembali data yang ada di access ke excel menggunakan
> > copyfromrecordset. yang jadi masalah adalah, field waktu tidak dapat
> > menampilkan format waktu di excel, hanya tanggal saja yang ada di field
> > waktu.
> > Minta pencerahannya...wassalam.
> >
> > Sub DapatkanData()
> >
> > Dim sSQL As String
> > Dim rs As ADODB.Recordset
> > Dim cn As ADODB.Connection
> >
> > Set cn = New ADODB.Connection
> >
> > cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" &
> > Environ("UserProfile") & "\Desktop\jwb.accdb;Persist Security
> > Info=False"
> >
> > Set rs = New ADODB.Recordset
> >
> > sSQL = "Select * from Jawaban"
> >
> >
> > rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
> >
> > Cells(5, 2).CopyFromRecordset rs
> >
> >
> > rs.Close
> > Set rs = Nothing
> > cn.Close
> > Set cn = Nothing
> > End Sub
> >
> > --- In belajar-excel@yahoogroups.com , "Mr. Kid" wrote:
> > >
> > > Oh gitu.
> > >
> > > Maksud saya, kenapa tabel tidak dibuat berupa 2 kolom bernama Nomor
> > > (kolom1) dan jawab(kolom2).
> > > Jadi data setiap nomor akan jadi 1 record alias sekali input akan ada
> > > penambahan 50 record.
> > >
> > > Wassalam,
> > > Kid.
> > > On Dec 25, 2012 9:18 AM, "Adi" abduhsuryadi@ wrote:
> > >
> > > > **
> >
> > > >
> > > >
> > > > kalau yang itu, sudah saya coba pak,dan alhmdlillah sukses. kodenya
> > > > seperti ini:
> > > >
> > > > dim myField as String
> > > > dim myInt as Integer
> > > >
> > > > With rs
> > > > .AddNew
> > > >
> > > > For myInt = 1 To 50
> > > > myField = myField & IIf(IsNull(Range("F" & myInt)) Or Range("F" &
> > myInt) =
> > > > "", "0", Range("F" & myInt))
> > > > Next
> > > >
> > > > .Fields("Jawaban") = myField
> > > > .Update
> > > > End With
> > > >
> > > > --- In belajar-excel@yahoogroups.com , "Mr. Kid" mr.nmkid@ wrote:
> > > > >
> > > > > Sama-sama.
> > > > >
> > > > > Kalau boleh bertanya, apakah mungkin jika tabelnya diubah menjadi
> > > > memiliki
> > > > > kolom Nomor dan Jawaban (2 kolom) saja ?
> > > > >
> > > > > Wassalam,
> > > > > Kid.
> > > > >
> >
> >
> >
>
"Select *, cDate(Waktu) From Jawaban".
kalau saya rinci, maka panjang sekali jadinya, karena table jawaban mempunyai hampir 60 field (atau mgkn ada caranya?).
field tanggal bertipe datetime dengan default value Date()
sedangkan field waktu bertipe datetime dengan defaultvalue Now().
tapi untuk efisiensi, field waktu saya hapus dan field tanggal saya ubah defaultnya ke now().
untuk kode yang bapak buat, sudah saya coba, tapi field waktu ternyata tidak bisa menampilkan format waktu, yang terambil hanya tanggalnya saja.
sekali lagi, terima kasih banyak atas sarannya pak.
wassalam...
--- In belajar-excel@
>
> Hai Adi,
>
> > field waktu tidak dapat menampilkan format waktu di excel
> >> Tipe data tabel di db untuk field waktu apa ya...
> Biasanya hasil copyfromrecordset akan tampil di-Excel sesuai tipe datanya.
> Apakah tipe data field waktu bukan datetime ?
> Jika bukan datetime, bagaimana format penulisan waktu dalam field waktu
> tersebut ? (umumnya ditulis dengan format HH:mm:ss)
> Bagaimana jika field tanggal dan field waktu dijadikan satu menjadi field
> waktu_ujian dengan tipe data datetime ?
>
> btw, lepas dari semua itu. *
> Anggap saja tipe data field waktu dalam db bukanlah bertipe datetime tapi
> dalam format waktu HH:mm:ss* dan nama-nama fieldnya adalah
> ID,Tanggal,Waktu,
> serta tetap ingin menggunakan methods copyfromrecordset, coba querynya
> diubah menjadi : (query untuk ms access)
> SELECT ID,Tanggal,*
> jam*,NoUjian,
>
> FROM Jawaban
>
> Jika akan menggunakan loop dalam menulis ke setiap cell Excel, maka query
> masih bisa dengan :
> SELECT * FROM Jawaban
> kemudian loop dari record pertama sampai record terakhir (EOF)
> yang didalamnya menulis semua field per record yang diproses oleh loop.
> Jika Excel tetap tidak langsung mengkonversi tipe data field waktu menjadi
> bertipe datetime dalam cell, maka lakukan konversi tipe data pada nilai
> waktu.
> Kira-kira bunyinya seperti ini :
>
> Dim sSQL As String
> Dim rs As ADODB.Recordset
> Dim cn As ADODB.Connection
> dim lRowOffset as long, lColOffset as long, lFields as long
> dim rngAnchor as range
>
> 'misal hasil query ditulis di sheet bernama Answer dengan header terkiri di
> A1
> set rngAnchor=sheets(
>
> Set cn = New ADODB.Connection
>
> cn.Open "Provider=Microsoft
> 12.0;Data Source=" &
> Environ("UserProfil
> Info=False"
>
> Set rs = New ADODB.Recordset
>
> sSQL = "Select * from Jawaban"
>
> rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
>
> if rs.recordcount>
> lrowoffset=1
> rs.movefirst
> lfields=rs.fields.
> do while not rs.eof
> with rnganchor
> for lcoloffset=0 to lfields
> .offset(lrowoffset,
> rs.fields(lcoloffse
> next lcoloffset
> end with
> lrowoffset=lrowoffs
> rs.movenext
> loop
> endif
>
> rs.Close
> Set rs = Nothing
> cn.Close
> Set cn = Nothing
>
> > ujian semester menggunakan Excel 2007. ketika menekan tombol selesai,
> data jawaban akan tersimpan ke table jawaban.
> siswanya berjumlah 700 orang. 1 materi saja mempunyai 50 soal. Fields :
> ID,Tanggal,Waktu,
> >> Biasanya, untuk database yang ingin menampung data seperti demikian,
> setidaknya akan dibagi menjadi 3 tabel, yaitu :
> 1. Tabel siswa (NoIndukSiswa,
> 2. Tabel ujian (IDMateri,Materi,
> 3. Tabel jawaban (noUjian,IDMateri,
> Kunci jawaban disimpan dengan NoUjian 0.
> Komputasi mengkalkulasi nilai jawaban bisa dilakukan dengan klausa JOIN
> Komputasi menyusun data source untuk output (fact table) juga disusun
> dengan klausa JOIN
> Biasanya menampilkan jawaban para siswa beserta nilai masing-masing
> dilakukan per materi dan jarang untuk seluruh materi sekaligus.
>
> asumsi ada 20 materi per kelas dan ada 100 kelas dengan ujian per materi
> sebanyak 5 kali dalam 2 semester, akan ada 700M record.
> Kadang data seperti tabel jawaban dibagi menjadi data per kelas per
> semester (andai database engine tidak memiliki kemampuan membuat partisi
> data).
> Maka jumlah record sekitar 3.5M. Sepertinya MS Access masih mampu untuk
> record sebanyak 3.5M
> Excel dengan 1M baris per sheet, digunakan untuk menampilkan output per
> materi. Andai saja juga ditampilkan per ujian, maka jumlah record sekitar
> 35K.
> Seluruh proses komputasi diusahakan dilakukan pada sisi database dan
> sesedikit mungkin yang dikomputasi oleh Excel.
>
> Andai field dibuat berorientasi horisontal seperti yang ada sekarang,
> komputasi yang dilakukan disisi database akan membutuhkan kalimat query
> yang relatif panjang.
>
> Wassalam,
> Kid.
>
>
> 2012/12/25 Adi <abduhsuryadi@
>
> > **
> >
> >
> > Sebenarnya database access ini bertujuan untuk menampung jawaban
> > santriwati di pondok saya yang ujian semester menggunakan Excel 2007.
> > Setiap santriwati ketika menekan tombol selesai, data jawaban mereka
> > akan tersimpan ke table jawaban.
> > kalau jawaban dibuat menjadi record tersendiri, dapat dibayangkan berapa
> > record yang akan terbentuk jika siswanya berjumlah 700 orang. padahal 1
> > materi saja mempunyai 50 soal.
> >
> > lebih lengkapnya desain field table jawaban seperti ini:
> > ID,Tanggal,Waktu,
> > dst
> >
> > Izinkan saya untuk bertanya lagi Mr... sya menulis kode berikut untuk
> > mengambil kembali data yang ada di access ke excel menggunakan
> > copyfromrecordset. yang jadi masalah adalah, field waktu tidak dapat
> > menampilkan format waktu di excel, hanya tanggal saja yang ada di field
> > waktu.
> > Minta pencerahannya.
> >
> > Sub DapatkanData(
> >
> > Dim sSQL As String
> > Dim rs As ADODB.Recordset
> > Dim cn As ADODB.Connection
> >
> > Set cn = New ADODB.Connection
> >
> > cn.Open "Provider=Microsoft
> > Environ("UserProfil
> > Info=False"
> >
> > Set rs = New ADODB.Recordset
> >
> > sSQL = "Select * from Jawaban"
> >
> >
> > rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
> >
> > Cells(5, 2).CopyFromRecordse
> >
> >
> > rs.Close
> > Set rs = Nothing
> > cn.Close
> > Set cn = Nothing
> > End Sub
> >
> > --- In belajar-excel@
> > >
> > > Oh gitu.
> > >
> > > Maksud saya, kenapa tabel tidak dibuat berupa 2 kolom bernama Nomor
> > > (kolom1) dan jawab(kolom2)
> > > Jadi data setiap nomor akan jadi 1 record alias sekali input akan ada
> > > penambahan 50 record.
> > >
> > > Wassalam,
> > > Kid.
> > > On Dec 25, 2012 9:18 AM, "Adi" abduhsuryadi@ wrote:
> > >
> > > > **
> >
> > > >
> > > >
> > > > kalau yang itu, sudah saya coba pak,dan alhmdlillah sukses. kodenya
> > > > seperti ini:
> > > >
> > > > dim myField as String
> > > > dim myInt as Integer
> > > >
> > > > With rs
> > > > .AddNew
> > > >
> > > > For myInt = 1 To 50
> > > > myField = myField & IIf(IsNull(Range(
> > myInt) =
> > > > "", "0", Range("F" & myInt))
> > > > Next
> > > >
> > > > .Fields("Jawaban"
> > > > .Update
> > > > End With
> > > >
> > > > --- In belajar-excel@
> > > > >
> > > > > Sama-sama.
> > > > >
> > > > > Kalau boleh bertanya, apakah mungkin jika tabelnya diubah menjadi
> > > > memiliki
> > > > > kolom Nomor dan Jawaban (2 kolom) saja ?
> > > > >
> > > > > Wassalam,
> > > > > Kid.
> > > > >
> >
> >
> >
>
Wed Dec 26, 2012 1:08 am (PST) . Posted by:
"Mr. Kid" nmkid.family@ymail.com
Coba di Excel cell hasil copyfrom recordset di atur format number -> custom
-> HH:mm:ss
Kid.
2012/12/26 Adi <abduhsuryadi@gmail.com >
> **
>
>
> Terima kasih banyak atas sarannya Mr. saya mengubah sSQL menjadi:
> "Select *, cDate(Waktu) From Jawaban".
> kalau saya rinci, maka panjang sekali jadinya, karena table jawaban
> mempunyai hampir 60 field (atau mgkn ada caranya?).
> field tanggal bertipe datetime dengan default value Date()
> sedangkan field waktu bertipe datetime dengan defaultvalue Now().
> tapi untuk efisiensi, field waktu saya hapus dan field tanggal saya ubah
> defaultnya ke now().
>
> untuk kode yang bapak buat, sudah saya coba, tapi field waktu ternyata
> tidak bisa menampilkan format waktu, yang terambil hanya tanggalnya saja.
>
> sekali lagi, terima kasih banyak atas sarannya pak.
> wassalam...
>
>
> --- In belajar-excel@yahoogroups.com , "Mr. Kid" <mr.nmkid@...> wrote:
> >
> > Hai Adi,
> >
> > > field waktu tidak dapat menampilkan format waktu di excel
> > >> Tipe data tabel di db untuk field waktu apa ya...
> > Biasanya hasil copyfromrecordset akan tampil di-Excel sesuai tipe
> datanya.
> > Apakah tipe data field waktu bukan datetime ?
> > Jika bukan datetime, bagaimana format penulisan waktu dalam field waktu
> > tersebut ? (umumnya ditulis dengan format HH:mm:ss)
> > Bagaimana jika field tanggal dan field waktu dijadikan satu menjadi field
> > waktu_ujian dengan tipe data datetime ?
> >
> > btw, lepas dari semua itu. *
>
> > Anggap saja tipe data field waktu dalam db bukanlah bertipe datetime tapi
> > dalam format waktu HH:mm:ss* dan nama-nama fieldnya adalah
>
> >
> ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\dst
> > serta tetap ingin menggunakan methods copyfromrecordset, coba querynya
> > diubah menjadi : (query untuk ms access)
> > SELECT ID,Tanggal,*CDate(*Waktu*) as
> > jam*,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...,dst
>
> >
> > FROM Jawaban
> >
> > Jika akan menggunakan loop dalam menulis ke setiap cell Excel, maka query
> > masih bisa dengan :
> > SELECT * FROM Jawaban
> > kemudian loop dari record pertama sampai record terakhir (EOF)
> > yang didalamnya menulis semua field per record yang diproses oleh loop.
> > Jika Excel tetap tidak langsung mengkonversi tipe data field waktu
> menjadi
> > bertipe datetime dalam cell, maka lakukan konversi tipe data pada nilai
> > waktu.
> > Kira-kira bunyinya seperti ini :
> >
> > Dim sSQL As String
> > Dim rs As ADODB.Recordset
> > Dim cn As ADODB.Connection
> > dim lRowOffset as long, lColOffset as long, lFields as long
> > dim rngAnchor as range
> >
> > 'misal hasil query ditulis di sheet bernama Answer dengan header terkiri
> di
> > A1
> > set rngAnchor=sheets("Answer").range("a1")
> >
> > Set cn = New ADODB.Connection
> >
> > cn.Open "Provider=Microsoft.ACE.OLEDB.
> > 12.0;Data Source=" &
> > Environ("UserProfile") & "\Desktop\jwb.accdb;Persist Security
> > Info=False"
> >
> > Set rs = New ADODB.Recordset
> >
> > sSQL = "Select * from Jawaban"
> >
> > rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
> >
> > if rs.recordcount>0 then
> > lrowoffset=1
> > rs.movefirst
> > lfields=rs.fields.count -1 'index field adalah base 0
> > do while not rs.eof
> > with rnganchor
> > for lcoloffset=0 to lfields
> > .offset(lrowoffset,lcoloffset).value =
> > rs.fields(lcoloffset).value
> > next lcoloffset
> > end with
> > lrowoffset=lrowoffset+1
> > rs.movenext
> > loop
> > endif
> >
> > rs.Close
> > Set rs = Nothing
> > cn.Close
> > Set cn = Nothing
> >
> > > ujian semester menggunakan Excel 2007. ketika menekan tombol selesai,
> > data jawaban akan tersimpan ke table jawaban.
> > siswanya berjumlah 700 orang. 1 materi saja mempunyai 50 soal. Fields :
> >
> ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\dst
> > >> Biasanya, untuk database yang ingin menampung data seperti demikian,
> > setidaknya akan dibagi menjadi 3 tabel, yaitu :
> > 1. Tabel siswa (NoIndukSiswa,Nama,Kelas,no_ujian)
> > 2. Tabel ujian (IDMateri,Materi,Kelas,TglUjian)
> > 3. Tabel jawaban (noUjian,IDMateri,NoIndukSiswa,TglKumpul,NoSoal,Jawaban)
> > Kunci jawaban disimpan dengan NoUjian 0.
> > Komputasi mengkalkulasi nilai jawaban bisa dilakukan dengan klausa JOIN
> > Komputasi menyusun data source untuk output (fact table) juga disusun
> > dengan klausa JOIN
> > Biasanya menampilkan jawaban para siswa beserta nilai masing-masing
> > dilakukan per materi dan jarang untuk seluruh materi sekaligus.
> >
> > asumsi ada 20 materi per kelas dan ada 100 kelas dengan ujian per materi
> > sebanyak 5 kali dalam 2 semester, akan ada 700M record.
> > Kadang data seperti tabel jawaban dibagi menjadi data per kelas per
> > semester (andai database engine tidak memiliki kemampuan membuat partisi
> > data).
> > Maka jumlah record sekitar 3.5M. Sepertinya MS Access masih mampu untuk
> > record sebanyak 3.5M
> > Excel dengan 1M baris per sheet, digunakan untuk menampilkan output per
> > materi. Andai saja juga ditampilkan per ujian, maka jumlah record sekitar
> > 35K.
> > Seluruh proses komputasi diusahakan dilakukan pada sisi database dan
> > sesedikit mungkin yang dikomputasi oleh Excel.
> >
> > Andai field dibuat berorientasi horisontal seperti yang ada sekarang,
> > komputasi yang dilakukan disisi database akan membutuhkan kalimat query
> > yang relatif panjang.
> >
> > Wassalam,
> > Kid.
> >
> >
> > 2012/12/25 Adi <abduhsuryadi@...>
> >
> > > **
>
> > >
> > >
> > > Sebenarnya database access ini bertujuan untuk menampung jawaban
> > > santriwati di pondok saya yang ujian semester menggunakan Excel 2007.
> > > Setiap santriwati ketika menekan tombol selesai, data jawaban mereka
> > > akan tersimpan ke table jawaban.
> > > kalau jawaban dibuat menjadi record tersendiri, dapat dibayangkan
> berapa
> > > record yang akan terbentuk jika siswanya berjumlah 700 orang. padahal 1
> > > materi saja mempunyai 50 soal.
> > >
> > > lebih lengkapnya desain field table jawaban seperti ini:
> > >
> ID,Tanggal,Waktu,NoUjian,Nama,Kelas,Materi,Jawaban1,jawaban2,jawaban3...\
> > > dst
> > >
> > > Izinkan saya untuk bertanya lagi Mr... sya menulis kode berikut untuk
> > > mengambil kembali data yang ada di access ke excel menggunakan
> > > copyfromrecordset. yang jadi masalah adalah, field waktu tidak dapat
> > > menampilkan format waktu di excel, hanya tanggal saja yang ada di field
> > > waktu.
> > > Minta pencerahannya...wassalam.
> > >
> > > Sub DapatkanData()
> > >
> > > Dim sSQL As String
> > > Dim rs As ADODB.Recordset
> > > Dim cn As ADODB.Connection
> > >
> > > Set cn = New ADODB.Connection
> > >
> > > cn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" &
> > > Environ("UserProfile") & "\Desktop\jwb.accdb;Persist Security
> > > Info=False"
> > >
> > > Set rs = New ADODB.Recordset
> > >
> > > sSQL = "Select * from Jawaban"
> > >
> > >
> > > rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
> > >
> > > Cells(5, 2).CopyFromRecordset rs
> > >
> > >
> > > rs.Close
> > > Set rs = Nothing
> > > cn.Close
> > > Set cn = Nothing
> > > End Sub
> > >
> > > --- In belajar-excel@yahoogroups.com , "Mr. Kid" wrote:
> > > >
> > > > Oh gitu.
> > > >
> > > > Maksud saya, kenapa tabel tidak dibuat berupa 2 kolom bernama Nomor
> > > > (kolom1) dan jawab(kolom2).
> > > > Jadi data setiap nomor akan jadi 1 record alias sekali input akan ada
> > > > penambahan 50 record.
> > > >
> > > > Wassalam,
> > > > Kid.
> > > > On Dec 25, 2012 9:18 AM, "Adi" abduhsuryadi@ wrote:
> > > >
> > > > > **
> > >
> > > > >
> > > > >
> > > > > kalau yang itu, sudah saya coba pak,dan alhmdlillah sukses. kodenya
> > > > > seperti ini:
> > > > >
> > > > > dim myField as String
> > > > > dim myInt as Integer
> > > > >
> > > > > With rs
> > > > > .AddNew
> > > > >
> > > > > For myInt = 1 To 50
> > > > > myField = myField & IIf(IsNull(Range("F" & myInt)) Or Range("F" &
> > > myInt) =
> > > > > "", "0", Range("F" & myInt))
> > > > > Next
> > > > >
> > > > > .Fields("Jawaban") = myField
> > > > > .Update
> > > > > End With
> > > > >
> > > > > --- In belajar-excel@yahoogroups.com , "Mr. Kid" mr.nmkid@ wrote:
> > > > > >
> > > > > > Sama-sama.
> > > > > >
> > > > > > Kalau boleh bertanya, apakah mungkin jika tabelnya diubah menjadi
> > > > > memiliki
> > > > > > kolom Nomor dan Jawaban (2 kolom) saja ?
> > > > > >
> > > > > > Wassalam,
> > > > > > Kid.
> > > > > >
> > >
> > >
> > >
> >
>
>
>
-> HH:mm:ss
Kid.
2012/12/26 Adi <abduhsuryadi@
> **
>
>
> Terima kasih banyak atas sarannya Mr. saya mengubah sSQL menjadi:
> "Select *, cDate(Waktu) From Jawaban".
> kalau saya rinci, maka panjang sekali jadinya, karena table jawaban
> mempunyai hampir 60 field (atau mgkn ada caranya?).
> field tanggal bertipe datetime dengan default value Date()
> sedangkan field waktu bertipe datetime dengan defaultvalue Now().
> tapi untuk efisiensi, field waktu saya hapus dan field tanggal saya ubah
> defaultnya ke now().
>
> untuk kode yang bapak buat, sudah saya coba, tapi field waktu ternyata
> tidak bisa menampilkan format waktu, yang terambil hanya tanggalnya saja.
>
> sekali lagi, terima kasih banyak atas sarannya pak.
> wassalam...
>
>
> --- In belajar-excel@
> >
> > Hai Adi,
> >
> > > field waktu tidak dapat menampilkan format waktu di excel
> > >> Tipe data tabel di db untuk field waktu apa ya...
> > Biasanya hasil copyfromrecordset akan tampil di-Excel sesuai tipe
> datanya.
> > Apakah tipe data field waktu bukan datetime ?
> > Jika bukan datetime, bagaimana format penulisan waktu dalam field waktu
> > tersebut ? (umumnya ditulis dengan format HH:mm:ss)
> > Bagaimana jika field tanggal dan field waktu dijadikan satu menjadi field
> > waktu_ujian dengan tipe data datetime ?
> >
> > btw, lepas dari semua itu. *
>
> > Anggap saja tipe data field waktu dalam db bukanlah bertipe datetime tapi
> > dalam format waktu HH:mm:ss* dan nama-nama fieldnya adalah
>
> >
> ID,Tanggal,Waktu,
> > serta tetap ingin menggunakan methods copyfromrecordset, coba querynya
> > diubah menjadi : (query untuk ms access)
> > SELECT ID,Tanggal,*
> > jam*,NoUjian,
>
> >
> > FROM Jawaban
> >
> > Jika akan menggunakan loop dalam menulis ke setiap cell Excel, maka query
> > masih bisa dengan :
> > SELECT * FROM Jawaban
> > kemudian loop dari record pertama sampai record terakhir (EOF)
> > yang didalamnya menulis semua field per record yang diproses oleh loop.
> > Jika Excel tetap tidak langsung mengkonversi tipe data field waktu
> menjadi
> > bertipe datetime dalam cell, maka lakukan konversi tipe data pada nilai
> > waktu.
> > Kira-kira bunyinya seperti ini :
> >
> > Dim sSQL As String
> > Dim rs As ADODB.Recordset
> > Dim cn As ADODB.Connection
> > dim lRowOffset as long, lColOffset as long, lFields as long
> > dim rngAnchor as range
> >
> > 'misal hasil query ditulis di sheet bernama Answer dengan header terkiri
> di
> > A1
> > set rngAnchor=sheets(
> >
> > Set cn = New ADODB.Connection
> >
> > cn.Open "Provider=Microsoft
> > 12.0;Data Source=" &
> > Environ("UserProfil
> > Info=False"
> >
> > Set rs = New ADODB.Recordset
> >
> > sSQL = "Select * from Jawaban"
> >
> > rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
> >
> > if rs.recordcount>
> > lrowoffset=1
> > rs.movefirst
> > lfields=rs.fields.
> > do while not rs.eof
> > with rnganchor
> > for lcoloffset=0 to lfields
> > .offset(lrowoffset,
> > rs.fields(lcoloffse
> > next lcoloffset
> > end with
> > lrowoffset=lrowoffs
> > rs.movenext
> > loop
> > endif
> >
> > rs.Close
> > Set rs = Nothing
> > cn.Close
> > Set cn = Nothing
> >
> > > ujian semester menggunakan Excel 2007. ketika menekan tombol selesai,
> > data jawaban akan tersimpan ke table jawaban.
> > siswanya berjumlah 700 orang. 1 materi saja mempunyai 50 soal. Fields :
> >
> ID,Tanggal,Waktu,
> > >> Biasanya, untuk database yang ingin menampung data seperti demikian,
> > setidaknya akan dibagi menjadi 3 tabel, yaitu :
> > 1. Tabel siswa (NoIndukSiswa,
> > 2. Tabel ujian (IDMateri,Materi,
> > 3. Tabel jawaban (noUjian,IDMateri,
> > Kunci jawaban disimpan dengan NoUjian 0.
> > Komputasi mengkalkulasi nilai jawaban bisa dilakukan dengan klausa JOIN
> > Komputasi menyusun data source untuk output (fact table) juga disusun
> > dengan klausa JOIN
> > Biasanya menampilkan jawaban para siswa beserta nilai masing-masing
> > dilakukan per materi dan jarang untuk seluruh materi sekaligus.
> >
> > asumsi ada 20 materi per kelas dan ada 100 kelas dengan ujian per materi
> > sebanyak 5 kali dalam 2 semester, akan ada 700M record.
> > Kadang data seperti tabel jawaban dibagi menjadi data per kelas per
> > semester (andai database engine tidak memiliki kemampuan membuat partisi
> > data).
> > Maka jumlah record sekitar 3.5M. Sepertinya MS Access masih mampu untuk
> > record sebanyak 3.5M
> > Excel dengan 1M baris per sheet, digunakan untuk menampilkan output per
> > materi. Andai saja juga ditampilkan per ujian, maka jumlah record sekitar
> > 35K.
> > Seluruh proses komputasi diusahakan dilakukan pada sisi database dan
> > sesedikit mungkin yang dikomputasi oleh Excel.
> >
> > Andai field dibuat berorientasi horisontal seperti yang ada sekarang,
> > komputasi yang dilakukan disisi database akan membutuhkan kalimat query
> > yang relatif panjang.
> >
> > Wassalam,
> > Kid.
> >
> >
> > 2012/12/25 Adi <abduhsuryadi@
> >
> > > **
>
> > >
> > >
> > > Sebenarnya database access ini bertujuan untuk menampung jawaban
> > > santriwati di pondok saya yang ujian semester menggunakan Excel 2007.
> > > Setiap santriwati ketika menekan tombol selesai, data jawaban mereka
> > > akan tersimpan ke table jawaban.
> > > kalau jawaban dibuat menjadi record tersendiri, dapat dibayangkan
> berapa
> > > record yang akan terbentuk jika siswanya berjumlah 700 orang. padahal 1
> > > materi saja mempunyai 50 soal.
> > >
> > > lebih lengkapnya desain field table jawaban seperti ini:
> > >
> ID,Tanggal,Waktu,
> > > dst
> > >
> > > Izinkan saya untuk bertanya lagi Mr... sya menulis kode berikut untuk
> > > mengambil kembali data yang ada di access ke excel menggunakan
> > > copyfromrecordset. yang jadi masalah adalah, field waktu tidak dapat
> > > menampilkan format waktu di excel, hanya tanggal saja yang ada di field
> > > waktu.
> > > Minta pencerahannya.
> > >
> > > Sub DapatkanData(
> > >
> > > Dim sSQL As String
> > > Dim rs As ADODB.Recordset
> > > Dim cn As ADODB.Connection
> > >
> > > Set cn = New ADODB.Connection
> > >
> > > cn.Open "Provider=Microsoft
> > > Environ("UserProfil
> > > Info=False"
> > >
> > > Set rs = New ADODB.Recordset
> > >
> > > sSQL = "Select * from Jawaban"
> > >
> > >
> > > rs.Open sSQL, cn, adOpenKeyset, adLockOptimistic
> > >
> > > Cells(5, 2).CopyFromRecordse
> > >
> > >
> > > rs.Close
> > > Set rs = Nothing
> > > cn.Close
> > > Set cn = Nothing
> > > End Sub
> > >
> > > --- In belajar-excel@
> > > >
> > > > Oh gitu.
> > > >
> > > > Maksud saya, kenapa tabel tidak dibuat berupa 2 kolom bernama Nomor
> > > > (kolom1) dan jawab(kolom2)
> > > > Jadi data setiap nomor akan jadi 1 record alias sekali input akan ada
> > > > penambahan 50 record.
> > > >
> > > > Wassalam,
> > > > Kid.
> > > > On Dec 25, 2012 9:18 AM, "Adi" abduhsuryadi@ wrote:
> > > >
> > > > > **
> > >
> > > > >
> > > > >
> > > > > kalau yang itu, sudah saya coba pak,dan alhmdlillah sukses. kodenya
> > > > > seperti ini:
> > > > >
> > > > > dim myField as String
> > > > > dim myInt as Integer
> > > > >
> > > > > With rs
> > > > > .AddNew
> > > > >
> > > > > For myInt = 1 To 50
> > > > > myField = myField & IIf(IsNull(Range(
> > > myInt) =
> > > > > "", "0", Range("F" & myInt))
> > > > > Next
> > > > >
> > > > > .Fields("Jawaban"
> > > > > .Update
> > > > > End With
> > > > >
> > > > > --- In belajar-excel@
> > > > > >
> > > > > > Sama-sama.
> > > > > >
> > > > > > Kalau boleh bertanya, apakah mungkin jika tabelnya diubah menjadi
> > > > > memiliki
> > > > > > kolom Nomor dan Jawaban (2 kolom) saja ?
> > > > > >
> > > > > > Wassalam,
> > > > > > Kid.
> > > > > >
> > >
> > >
> > >
> >
>
>
>
Tue Dec 25, 2012 4:40 pm (PST) . Posted by:
"Faisal Hasman" revolter_ichal
thanks Mr. Kid
________________________________
From: Mr. Kid <mr.nmkid@gmail.com >
To: belajar-excel@yahoogroups.com
Sent: Saturday, 22 December 2012, 19:51
Subject: Re: [belajar-excel] filter drop down list
Hai Faisal,
File terlampir memiliki kondisi sebagai berikut :
>> Area Kriteria :
1. header kriteria di baris 1 yang harus sama dengan nama header terpilih di tabel data.
2. area penulisan kriteria pada baris 2 sampai baris 8
3. area penulisan kriteria dimulai pada kolom B dan kolom A harus tetap kosong kecuali cell A1 yang berisi header No dari tabel data
4. area kriteria dilokalisir dengan adanya 8 baris kosong pada sebuah kolom setelah kolom terkanan area kriteria
>> Area input
1. Input berupa pilihan kolom kriteria yang akan digunakan
2. Input menggunakan fitur Data validation List dengan daftar item yang merujuk range J1:J6
3. Item-item dalam range J2:J5 harus sama dengan nama kolom terpilih dalam tabel data
4. Cell bantu posisi offset kolom terletak pada cell H2. Pelihara formula pada cell H2 dengan baik.
5. Pengubahan isi cell input akan memicu proses filter (memanfaatkan event change milik worksheet)
6. Jika tidak akan menggunakan kolom kriteria, maka pilihlah item [Semua Data]
7. Jika akan menggunakan seluruh kriteria, maka pilihlah item [Seluruh Kriteria].
8. Pelajari lebih lanjut karakteristik advanced filter agar dapat menyusun kriteria dengan baik ketika memilih opsi seluruh kriteria
>> Area data
1. Header data berupa 1 baris yang terletak di baris ke 10 dan memenuhi kaidah database tentang header data
2. Data dimulai pada baris ke-11 dan memenuhi kaidah database tentang record data
Prosedur event change milik worksheet diberi script berikut :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rngCriteria As Range 'var range kriteria sesuai pilihan user
Dim lRows As Long 'jumlah baris kriteria beserta headernya
Dim lOff As Long 'nilai offset kolom untuk mencapai kolom kriteria terpilih dari kolom A
With Application 'pada aplikasi
.ScreenUpdating = False 'turn off update tampilan
.EnableEvents = False 'turn off event
.DisplayAlerts = False 'turn off kecerewetan excel minta konfirmasi
.Calculation = xlCalculationAutomatic 'paksa agar kalkulasi automatic
End With 'selesai aplikasi
With Target 'pada cell yang berubah nilai
If .Count = 1 Then 'cek jumlah cell yang berubah nilai
'yup... cuma 1 cell yang berubah
If .Address = "$G$2" Then 'cek alamat cell yang berubah nilai
'yup... alamatnya cocok
lOff = .Offset(0, 1).Value 'simpan nilai offset kolom
Select Case lOff 'berdasar nilai offset kolom
Case 0 To 4 'semua data atau sebuah kolom kriteria terpilih saja
'definisikan kolom kriteria (basis : range a1:a8)
Set rngCriteria = Range("a1:a8").Offset(0, lOff)
'hitung jumlah baris isi kriteria (termasuk baris header)
lRows = Application.WorksheetFunction.CountA(rngCriteria)
'set ulang area kriteria terpilih
Set rngCriteria = rngCriteria.Resize(lRows)
Case Else 'seluruh kriteria akan digunakan
'set seluruh area kriteria
Set rngCriteria = Range("a1").CurrentRegion
End Select
'proses filter dengan advanced filter
Range("a10").CurrentRegion.AdvancedFilter xlFilterInPlace, rngCriteria
End If 'selesai blok cek alamat
End If 'selesai blok cek jumlah cell yang berubah nilai
End With 'selesai kerja pada cell yang berubah
With Application 'pada aplikasi
.EnableEvents = True 'turn on event
.ScreenUpdating = True 'turn on update tampilan
.DisplayAlerts = True 'turn on kecerewetan excel minta konfirmasi
End With 'selesai aplikasi
End Sub
Selamat menikmati liburan.
Wassalam,
Kid.
2012/12/22 Faisal Hasman <revolter_ichal@yahoo.com >
>
>dear mailing excel
>
>
>sebelumnya hal hal ini pernah dibahas
>
>oleh pak hendrik... dengan file contoh FILTER BLOKKOTA
>namun setelah saya utak atik
>nda bisa jalan sesuai dengan file sample
>yangsaya attach
>mungkin karena macrox tidak mendukung
>karena saya mau memfilter
>dengan beberapa kriteria lagi
>yaitu, bentuk usaha, dusun, kelurahan/desa dan
>
>kecamatan
>
>
>mungkin bisa dibantu memecahkan masalah ini
>kalo bisa macro filter blokkotax dijelaskan juga
>
>
>trima kasih
>
____________
From: Mr. Kid <mr.nmkid@gmail.
To: belajar-excel@
Sent: Saturday, 22 December 2012, 19:51
Subject: Re: [belajar-excel] filter drop down list
Hai Faisal,
File terlampir memiliki kondisi sebagai berikut :
>> Area Kriteria :
1. header kriteria di baris 1 yang harus sama dengan nama header terpilih di tabel data.
2. area penulisan kriteria pada baris 2 sampai baris 8
3. area penulisan kriteria dimulai pada kolom B dan kolom A harus tetap kosong kecuali cell A1 yang berisi header No dari tabel data
4. area kriteria dilokalisir dengan adanya 8 baris kosong pada sebuah kolom setelah kolom terkanan area kriteria
>> Area input
1. Input berupa pilihan kolom kriteria yang akan digunakan
2. Input menggunakan fitur Data validation List dengan daftar item yang merujuk range J1:J6
3. Item-item dalam range J2:J5 harus sama dengan nama kolom terpilih dalam tabel data
4. Cell bantu posisi offset kolom terletak pada cell H2. Pelihara formula pada cell H2 dengan baik.
5. Pengubahan isi cell input akan memicu proses filter (memanfaatkan event change milik worksheet)
6. Jika tidak akan menggunakan kolom kriteria, maka pilihlah item [Semua Data]
7. Jika akan menggunakan seluruh kriteria, maka pilihlah item [Seluruh Kriteria].
8. Pelajari lebih lanjut karakteristik advanced filter agar dapat menyusun kriteria dengan baik ketika memilih opsi seluruh kriteria
>> Area data
1. Header data berupa 1 baris yang terletak di baris ke 10 dan memenuhi kaidah database tentang header data
2. Data dimulai pada baris ke-11 dan memenuhi kaidah database tentang record data
Prosedur event change milik worksheet diberi script berikut :
Private Sub Worksheet_Change(
Dim rngCriteria As Range 'var range kriteria sesuai pilihan user
Dim lRows As Long 'jumlah baris kriteria beserta headernya
Dim lOff As Long 'nilai offset kolom untuk mencapai kolom kriteria terpilih dari kolom A
With Application 'pada aplikasi
.ScreenUpdating = False 'turn off update tampilan
.EnableEvents = False 'turn off event
.DisplayAlerts = False 'turn off kecerewetan excel minta konfirmasi
.Calculation = xlCalculationAutoma
End With 'selesai aplikasi
With Target 'pada cell yang berubah nilai
If .Count = 1 Then 'cek jumlah cell yang berubah nilai
'yup... cuma 1 cell yang berubah
If .Address = "$G$2" Then 'cek alamat cell yang berubah nilai
'yup... alamatnya cocok
lOff = .Offset(0, 1).Value 'simpan nilai offset kolom
Select Case lOff 'berdasar nilai offset kolom
Case 0 To 4 'semua data atau sebuah kolom kriteria terpilih saja
'definisikan kolom kriteria (basis : range a1:a8)
Set rngCriteria = Range("a1:a8"
'hitung jumlah baris isi kriteria (termasuk baris header)
lRows = Application.
'set ulang area kriteria terpilih
Set rngCriteria = rngCriteria.
Case Else 'seluruh kriteria akan digunakan
'set seluruh area kriteria
Set rngCriteria = Range("a1").
End Select
'proses filter dengan advanced filter
Range("a10")
End If 'selesai blok cek alamat
End If 'selesai blok cek jumlah cell yang berubah nilai
End With 'selesai kerja pada cell yang berubah
With Application 'pada aplikasi
.EnableEvents = True 'turn on event
.ScreenUpdating = True 'turn on update tampilan
.DisplayAlerts = True 'turn on kecerewetan excel minta konfirmasi
End With 'selesai aplikasi
End Sub
Selamat menikmati liburan.
Wassalam,
Kid.
2012/12/22 Faisal Hasman <revolter_ichal@
>
>dear mailing excel
>
>
>sebelumnya hal hal ini pernah dibahas
>
>oleh pak hendrik... dengan file contoh FILTER BLOKKOTA
>namun setelah saya utak atik
>nda bisa jalan sesuai dengan file sample
>yangsaya attach
>mungkin karena macrox tidak mendukung
>karena saya mau memfilter
>dengan beberapa kriteria lagi
>yaitu, bentuk usaha, dusun, kelurahan/desa dan
>
>kecamatan
>
>
>mungkin bisa dibantu memecahkan masalah ini
>kalo bisa macro filter blokkotax dijelaskan juga
>
>
>trima kasih
>
Tue Dec 25, 2012 4:42 pm (PST) . Posted by:
"Faisal Hasman" revolter_ichal
Thanks Jan Raisin
________________________________
From: Jan Raisin <miss.jan.raisin@gmail.com >
To: belajar-excel@yahoogroups.com
Sent: Saturday, 22 December 2012, 17:29
Subject: Re: [belajar-excel] filter drop down list
Dear pak Ichal,
coba file terlampir, file diambil dari postingan sebelumnya.
script berikut ditulis di dalam sheet Filter dengan event Change
==============================================================================================================================
Option Explicit
' event change pada sheet Filter
Private Sub Worksheet_Change(ByVal Target As Range)
' bekerja pada cell target yang berubah nilainya
With Target
' jika cell yang berubah hanya 1 maka
If .Cells.Count = 1 Then
' jika cell yang berubah terletak di baris 2 kolom 8 (cell H2) maka
If .Row = 2 And .Column = 8 Then
' cell H3 dikosongkan dulu
Range("h3").Value = ""
' bersihkan data mulai dari cell A5 sampai data paling kanan dan paling bawah
Range(Range("a5"), Range("a5").End(xlToRight).End(xlDown)).ClearContents
' jika nilai dari cell yang berubah (dalam hal ini cell H2) adlah ALL, maka
If .Value = "ALL" Then
' panggil prosedur Filter, prosedur ini ditulis di sebuah modul VBE
Filter
' akhir pengecekan perubahan nilai pada cell H2
End If
' akhir pengecekan apakah yang berubah adalah cell H2 atau bukan
End If
' jika cell yang berubah terletak di baris 3 kolom 8 (cell H3) maka
If .Row = 3 And .Column = 8 Then
' panggil prosedur Filter
Filter
' akhir pengecekan apakah yang berubah adalah cell H3 atau bukan
End If
' akhir pengecekan apakah yang berubah hanya 1 cell atau tidak
End If
' akhir bekerja dengan cell target yang mengalami perubahan
End With
' akhir dari prosedur
End Sub
============================================================================================================================================================================================================================================================
script berikut ditulis dalam sebuah modul VBE yang proses kerjanya dipicu oleh perubahan yang terjadi pada sheet Filter cell H2 dan H3
Option Explicit
' --------------------------------- '
' Filter Data Berdasarkan Kriteria '
' Code by: Ms. Jan Raisin '
' untuk millis Belajar Excel '
' 22 Desember 2012 '
' --------------------------------- '
' dalam pembelajaran ini, tanda // berarti : gunakan perintah berikut...
' deklarasikan public variabel, karena akan digunakan dalam banyak prosedur
' Krit1 = kriteria 1, letaknya di sheet Filter cell H2
' Krit2 = kriteria 2, letaknya di sheet Filter cell H2
' Rng = Range data, letaknya di sheet Data Usaha, dimensinya berubah-ubah tergantung jenis filter
' idxRow = nomor baris, digunakan pada sheet Filter & sheet Data Usaha dengan nilai yang berubah-ubah
Dim Krit1 As String, Krit2 As String
Dim Rng As Range, rg As Range
Dim idxRow As Long
' ini adalah nama prosedur utama, bekerja berdasarkan perubahan nilai pada cell H2 & H3 pada sheet Filter
Sub Filter()
' non aktifkan dahulu screen update & enable event untuk mempercepat kerja VBA
Application.ScreenUpdating = False
Application.EnableEvents = False
' panggil prosedur yang bernama AreaFilter
AreaFilter
' panggil prosedur yang bernama NomorUrut
NomorUrut
' pergi ke cell A4, ini adalah header filter, hanya agar terlihat cantik saja
Range("a4").Select
' aktifkan kembali screen update & enable event
Application.EnableEvents = True
Application.ScreenUpdating = True
' ini adalah akhir dari prosedur Filter
End Sub
----------------------------------------------------------
' prosedur ini dipanggil melalui prosedur Filter
Sub AreaFilter()
' pergi ke sheet Filter
Sheets("filter").Select
' simpan nilai kriteria ke variabel yang telah dideklarasikan terlebih dahulu
Krit1 = Range("h2").Value
Krit2 = Range("h3").Value
' pergi ke sheet Data Usaha
Sheets("data usaha").Select
' pergi ke cell B4, ini adalah header dari Nomer Register
' saat ini cell aktif ada di B4
Range("b4").Select
' lakukan pemeriksaan, apakah di bawah header ada datanya atau tidak
' bahasa manusia :: jika 1 baris di bawah cell aktif // ActiveCell.Offset(1, 0)
' tidak ada datanya maka // = ""
If ActiveCell.Offset(1, 0) = "" Then
' tampilkan pesan kepada user bahwa tidak ada data untuk difilter
MsgBox "Tidak ada data", vbOKOnly, "Pesan"
' karena tidak ada yang bisa difilter maka keluar dari prosedur
Exit Sub
' ini adalah akhir dari pemeriksaan ada atau tidak data di bawah header Nomer Register
End If
' lakukan pengecekan terhadap kriteria 1 untuk menentukan range data yang akan difilter,
' dan pemilihan prosedur filter berdasarkan nilai kriteria 1 dan kriteria 2
' jika kriteria 1 = All maka
If Krit1 = "ALL" Then
' range datanya adalah mulai dari cell B5 // Range("b5")
' sampai data yang paling kanan // Range("b5").End(xlToRight)
' lalu turun sampai data yang paling bawah // .End(xlDown)
' setara dengan meng-klik cell B5, lalu menekan tombol CTRL Shift panah_kanan lalu panah_bawah
Set Rng = Range(Range("b5"), Range("b5").End(xlToRight).End(xlDown))
' setelah itu panggil prosedur yang bernama FilterAll
FilterAll
' selain itu, jika kriteria 1 = Pemilik dan kriterian 2 tidak kosong maka
ElseIf Krit1 = "PEMILIK" And Krit2 <> "" Then
' range filternya adalah mulai dari cell C5 ke arah bawah
' setara dengan meng-klik cell C5 // Range("c5")
' lalu menekan tombol CTRL Shift panah_bawah // Range("c5").End(xlDown)
Set Rng = Range(Range("c5"), Range("c5").End(xlDown))
' setelah itu panggil prosedur yang bernama FilterPemilik
FilterPemilik
' selain itu jika kriteria 1 = Kecamatan dan kriteria 2 tidak kosong maka
ElseIf Krit1 = "KECAMATAN" And Krit2 <> "" Then
' range filternya adalah mulai cell F5 // Range("f5")
' lalu dari cell F5 sampai data paling bawah bawah // Range("f5").End(xlDown)
' setara dengan meng-klik cell F5, lalu menekan tombol CTRL Shift panah_bawah
Set Rng = Range(Range("f5"), Range("f5").End(xlDown))
' setelah itu panggil prosedur yang bernama FilterKecamatan
FilterKecamatan
' selain itu jika kriteria 1 = Kelurahan dan kriteria 2 tidak kosong maka
ElseIf Krit1 = "KELURAHAN" And Krit2 <> "" Then
' range filternya adalah mulai dari cell G5 // Range("g5")
' lalu dari cell G5 sampai data paling bawah // Range("g5").End(xlDown)
' setara dengan meng-klik cell G5, lalu menekan tombol CTRL Shift panah_bawah
Set Rng = Range(Range("g5"), Range("g5").End(xlDown))
' setelah itu panggil prosedur yang bernama Filter Kelurahan
FilterKelurahan
' ini adalah akhir dari pemeriksaan nilai kriteria 1, kriteria 2, penentuan lokasi range filter,
' dan pemilihan prosedur filternya
End If
' ini adalah akhir dari prosedur AreaFilter
End Sub
----------------------------------------------------------
' ini adalah prosedur yang dijalankan jika kriteria filter adalah All (tampil semua)
Sub FilterAll()
' copy range filter yang telah ditentukan sebelumnya
' setara dengan menekan tombol CTRL C
Rng.Copy
' pergi ke sheet Filter
Sheets("filter").Select
' pergi ke cell B5, ini adalah baris pertama dari data
Range("b5").Select
' pada aktiif cell lakukan paste berdasarkan nilainya saja
' setara dengan menekan tombol kanan mouse >> Paste Special >> Value >> OK
ActiveCell.PasteSpecial xlPasteValues
' matikan aplikasi copy paste, setara dengan menekan tombol Esc pada keyboard
Application.CutCopyMode = False
' akhir dari prosedur FilterAll
End Sub
----------------------------------------------------------
' ini adalah prosedur yang dijalankan jika kriteria 1 = Kecamatan
' dan kriteria 2 tidak kosong
Sub FilterKecamatan()
' panggil dahulu prosedur ClearData, berfungsi untuk menghapus data sebelumnya
ClearData
' pergi ke sheet Data Usaha
Sheets("data usaha").Select
' untuk setiap 1 cell di dalam range filter
For Each rg In Rng
' jika nilai cell = nilai kriteria 2 maka
If rg.Value = Krit2 Then
' ambil nomor barisnya dan simpan ke variabel IdxRow
idxRow = rg.Row
' copy baris tersebut mulai kolom 2 (kolom B) sampai kolom 7 (kolom G)
Range(Cells(idxRow, 2), Cells(idxRow, 7)).Copy
' pindah ke sheet Filter
Sheets("filter").Select
' pergi ke cell B4, ini adalah header dari Nomor Register
' saat ini cell aktif ada di cell B4
Range("b4").Select
' lakukan pemeriksaan apakah di bawah header ada data atau tidak
' tujuannya untuk menentukan lokasi penulisan data
' bahasa manusia :: jika 1 baris di bawah cell aktif kosong maka
If ActiveCell.Offset(1, 0).Value = "" Then
' dari cell aktif turun 1 baris ke bawah
' setara dengan menekan tombol panah_bawah 1 x
ActiveCell.Offset(1, 0).Select
' selain itu, berarti di bawah header sudah ada datanya
Else
' dari aktif cell turun ke baris paling bawah yang ada datanya // ActiveCell.End(xlDown)
' lalu turun lagi 1 baris ke bawah // .Offset(1, 0)
' setara dengan menekan tombol CTRL panah_bawah, lalu menekan panah_bawah 1 x
ActiveCell.End(xlDown).Offset(1, 0).Select
' akhir dari pemeriksaan lokasi penulisan data
End If
' pada cell aktif lakukan paste value
ActiveCell.PasteSpecial xlPasteValues
' matikan fitur copas
Application.CutCopyMode = False
' pergi ke sheet Data Usaha
Sheets("data usaha").Select
' ini adalah akhir pemeriksaan nilai cell dalam range filter terhadap nilai kriteria 2
End If
' lakukan lagi untuk cell berikutnya
Next rg
' akhir dari prosedur FilterKecamatan
End Sub
----------------------------------------------------------
' ini adalah prosedur filter berdasarkan kriteria Kelurahan
' logikanya sama dengan prosedur filter Kecamatan
' silakan baca kembali prosedur FilterKecamatan untuk mengetahui alurnya
Sub FilterKelurahan()
ClearData
Sheets("data usaha").Select
For Each rg In Rng
If rg.Value = Krit2 Then
idxRow = rg.Row
Range(Cells(idxRow, 2), Cells(idxRow, 7)).Copy
Sheets("filter").Select
Range("b4").Select
If ActiveCell.Offset(1, 0).Value = "" Then
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.End(xlDown).Offset(1, 0).Select
End If
ActiveCell.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("data usaha").Select
End If
Next rg
End Sub
----------------------------------------------------------
' ini adalah prosedur filter berdasarkan kriteria Pemilik
' logikanya sama dengan prosedur filter Kecamatan
' silakan baca kembali prosedur FilterKecamatan untuk mengetahui alurnya
Sub FilterPemilik()
ClearData
Sheets("data usaha").Select
For Each rg In Rng
If rg.Value = Krit2 Then
idxRow = rg.Row
Range(Cells(idxRow, 2), Cells(idxRow, 7)).Copy
Sheets("filter").Select
Range("b4").Select
If ActiveCell.Offset(1, 0).Value = "" Then
ActiveCell.Offset(1, 0).Select
Else
ActiveCell.End(xlDown).Offset(1, 0).Select
End If
ActiveCell.PasteSpecial xlPasteValues
Application.CutCopyMode = False
Sheets("data usaha").Select
End If
Next rg
End Sub
----------------------------------------------------------
' ini adalah prosedur untuk membuat nomor urut
Sub NomorUrut()
' pergi ke sheet Filter
Sheets("filter").Select
' cari nilai baris dari data yang paling akhir // .End(xlDown).Row
' dan simpan ke dalam variabel idxRow
idxRow = Range("b4").End(xlDown).Row
' Perhatian: header ada di baris 4 dan data pertama ada di baris 5
' pilih perdasarkan nilai baris data terakhir
Select Case idxRow
' jika nilai baris data terakhir = 5, berarti hanya ada 1 data, maka
Case 5
' beri nilai 1 pada cell A5
Range("a5").Value = 1
' jika nilai baris data terakhir = 6, berarti hanya ada 2 data, maka
Case 6
' beri nilai 1 di cell A5, dan nilai 2 di cell A6
Range("a5").Value = 1
Range("a6").Value = 2
' jika nilai baris data terakhir > 6, berarti ada 3 atau lebih data, maka
Case Is > 6
' beri nilai 1 di cell A5, dan nilai 2 di cell A6
Range("a5").Value = 1
Range("a6").Value = 2
' blok cell A5 & A6
Range("a5:a6").Select
' buat nomor urut otomatis // .AutoFill
' mulai dari cell A5 (baris 5 , kolom 1) // Cells(5, 1)
' sampai baris data terakhir // Cells(idxRow, 1)
Selection.AutoFill Destination:=Range(Cells(5, 1), Cells(idxRow, 1))
' akhir dari pemilihan nilai baris data
End Select
' akhir dari prosedur pembuatan nomor otomatis
End Sub
----------------------------------------------------------
' ini adalah prosedur bersih-berih data
Sub ClearData()
' pergi ke sheet Filter
Sheets("filter").Select
' mulai dari cell A5 ke arah kanan lalu // Range("a5").End(xlToRight)
' ke bawah yang ada datanya // .End(xlDown)
' lalu hapus isi datanya // .ClearContents
Range(Range("a5"), Range("a5").End(xlToRight).End(xlDown)).ClearContents
' akhir dari bersih-bersih data
End Sub
Semoga bermanfaat.
Best Regard,
-Ms. Jan Raisin-
Pada 22 Desember 2012 08:35, Faisal Hasman <revolter_ichal@yahoo.com > menulis:
>
>dear mailing excel
>
>
>sebelumnya hal hal ini pernah dibahas
>
>oleh pak hendrik... dengan file contoh FILTER BLOKKOTA
>namun setelah saya utak atik
>nda bisa jalan sesuai dengan file sample
>yangsaya attach
>mungkin karena macrox tidak mendukung
>karena saya mau memfilter
>dengan beberapa kriteria lagi
>yaitu, bentuk usaha, dusun, kelurahan/desa dan
>
>kecamatan
>
>
>mungkin bisa dibantu memecahkan masalah ini
>kalo bisa macro filter blokkotax dijelaskan juga
>
>
>trima kasih
>
____________
From: Jan Raisin <miss.jan.raisin@
To: belajar-excel@
Sent: Saturday, 22 December 2012, 17:29
Subject: Re: [belajar-excel] filter drop down list
Dear pak Ichal,
coba file terlampir, file diambil dari postingan sebelumnya.
script berikut ditulis di dalam sheet Filter dengan event Change
============
Option Explicit
' event change pada sheet Filter
Private Sub Worksheet_Change(
' bekerja pada cell target yang berubah nilainya
With Target
' jika cell yang berubah hanya 1 maka
If .Cells.Count = 1 Then
' jika cell yang berubah terletak di baris 2 kolom 8 (cell H2) maka
If .Row = 2 And .Column = 8 Then
' cell H3 dikosongkan dulu
Range("h3").
' bersihkan data mulai dari cell A5 sampai data paling kanan dan paling bawah
Range(Range(
' jika nilai dari cell yang berubah (dalam hal ini cell H2) adlah ALL, maka
If .Value = "ALL" Then
' panggil prosedur Filter, prosedur ini ditulis di sebuah modul VBE
Filter
' akhir pengecekan perubahan nilai pada cell H2
End If
' akhir pengecekan apakah yang berubah adalah cell H2 atau bukan
End If
' jika cell yang berubah terletak di baris 3 kolom 8 (cell H3) maka
If .Row = 3 And .Column = 8 Then
' panggil prosedur Filter
Filter
' akhir pengecekan apakah yang berubah adalah cell H3 atau bukan
End If
' akhir pengecekan apakah yang berubah hanya 1 cell atau tidak
End If
' akhir bekerja dengan cell target yang mengalami perubahan
End With
' akhir dari prosedur
End Sub
============
script berikut ditulis dalam sebuah modul VBE yang proses kerjanya dipicu oleh perubahan yang terjadi pada sheet Filter cell H2 dan H3
Option Explicit
' ------------
' Filter Data Berdasarkan Kriteria '
' Code by: Ms. Jan Raisin '
' untuk millis Belajar Excel '
' 22 Desember 2012 '
' ------------
' dalam pembelajaran ini, tanda // berarti : gunakan perintah berikut...
' deklarasikan public variabel, karena akan digunakan dalam banyak prosedur
' Krit1 = kriteria 1, letaknya di sheet Filter cell H2
' Krit2 = kriteria 2, letaknya di sheet Filter cell H2
' Rng = Range data, letaknya di sheet Data Usaha, dimensinya berubah-ubah tergantung jenis filter
' idxRow = nomor baris, digunakan pada sheet Filter & sheet Data Usaha dengan nilai yang berubah-ubah
Dim Krit1 As String, Krit2 As String
Dim Rng As Range, rg As Range
Dim idxRow As Long
' ini adalah nama prosedur utama, bekerja berdasarkan perubahan nilai pada cell H2 & H3 pada sheet Filter
Sub Filter()
' non aktifkan dahulu screen update & enable event untuk mempercepat kerja VBA
Application.
Application.
' panggil prosedur yang bernama AreaFilter
AreaFilter
' panggil prosedur yang bernama NomorUrut
NomorUrut
' pergi ke cell A4, ini adalah header filter, hanya agar terlihat cantik saja
Range("a4").
' aktifkan kembali screen update & enable event
Application.
Application.
' ini adalah akhir dari prosedur Filter
End Sub
------------
' prosedur ini dipanggil melalui prosedur Filter
Sub AreaFilter()
' pergi ke sheet Filter
Sheets("filter"
' simpan nilai kriteria ke variabel yang telah dideklarasikan terlebih dahulu
Krit1 = Range("h2").
Krit2 = Range("h3").
' pergi ke sheet Data Usaha
Sheets("data usaha").Select
' pergi ke cell B4, ini adalah header dari Nomer Register
' saat ini cell aktif ada di B4
Range("b4").
' lakukan pemeriksaan, apakah di bawah header ada datanya atau tidak
' bahasa manusia :: jika 1 baris di bawah cell aktif // ActiveCell.Offset(
' tidak ada datanya maka // = ""
If ActiveCell.Offset(
' tampilkan pesan kepada user bahwa tidak ada data untuk difilter
MsgBox "Tidak ada data", vbOKOnly, "Pesan"
' karena tidak ada yang bisa difilter maka keluar dari prosedur
Exit Sub
' ini adalah akhir dari pemeriksaan ada atau tidak data di bawah header Nomer Register
End If
' lakukan pengecekan terhadap kriteria 1 untuk menentukan range data yang akan difilter,
' dan pemilihan prosedur filter berdasarkan nilai kriteria 1 dan kriteria 2
' jika kriteria 1 = All maka
If Krit1 = "ALL" Then
' range datanya adalah mulai dari cell B5 // Range("b5")
' sampai data yang paling kanan // Range("b5").
' lalu turun sampai data yang paling bawah // .End(xlDown)
' setara dengan meng-klik cell B5, lalu menekan tombol CTRL Shift panah_kanan lalu panah_bawah
Set Rng = Range(Range(
' setelah itu panggil prosedur yang bernama FilterAll
FilterAll
' selain itu, jika kriteria 1 = Pemilik dan kriterian 2 tidak kosong maka
ElseIf Krit1 = "PEMILIK" And Krit2 <> "" Then
' range filternya adalah mulai dari cell C5 ke arah bawah
' setara dengan meng-klik cell C5 // Range("c5")
' lalu menekan tombol CTRL Shift panah_bawah // Range("c5").
Set Rng = Range(Range(
' setelah itu panggil prosedur yang bernama FilterPemilik
FilterPemilik
' selain itu jika kriteria 1 = Kecamatan dan kriteria 2 tidak kosong maka
ElseIf Krit1 = "KECAMATAN" And Krit2 <> "" Then
' range filternya adalah mulai cell F5 // Range("f5")
' lalu dari cell F5 sampai data paling bawah bawah // Range("f5").
' setara dengan meng-klik cell F5, lalu menekan tombol CTRL Shift panah_bawah
Set Rng = Range(Range(
' setelah itu panggil prosedur yang bernama FilterKecamatan
FilterKecamatan
' selain itu jika kriteria 1 = Kelurahan dan kriteria 2 tidak kosong maka
ElseIf Krit1 = "KELURAHAN" And Krit2 <> "" Then
' range filternya adalah mulai dari cell G5 // Range("g5")
' lalu dari cell G5 sampai data paling bawah // Range("g5").
' setara dengan meng-klik cell G5, lalu menekan tombol CTRL Shift panah_bawah
Set Rng = Range(Range(
' setelah itu panggil prosedur yang bernama Filter Kelurahan
FilterKelurahan
' ini adalah akhir dari pemeriksaan nilai kriteria 1, kriteria 2, penentuan lokasi range filter,
' dan pemilihan prosedur filternya
End If
' ini adalah akhir dari prosedur AreaFilter
End Sub
------------
' ini adalah prosedur yang dijalankan jika kriteria filter adalah All (tampil semua)
Sub FilterAll()
' copy range filter yang telah ditentukan sebelumnya
' setara dengan menekan tombol CTRL C
Rng.Copy
' pergi ke sheet Filter
Sheets("filter"
' pergi ke cell B5, ini adalah baris pertama dari data
Range("b5").
' pada aktiif cell lakukan paste berdasarkan nilainya saja
' setara dengan menekan tombol kanan mouse >> Paste Special >> Value >> OK
ActiveCell.PasteSpe
' matikan aplikasi copy paste, setara dengan menekan tombol Esc pada keyboard
Application.
' akhir dari prosedur FilterAll
End Sub
------------
' ini adalah prosedur yang dijalankan jika kriteria 1 = Kecamatan
' dan kriteria 2 tidak kosong
Sub FilterKecamatan(
' panggil dahulu prosedur ClearData, berfungsi untuk menghapus data sebelumnya
ClearData
' pergi ke sheet Data Usaha
Sheets("data usaha").Select
' untuk setiap 1 cell di dalam range filter
For Each rg In Rng
' jika nilai cell = nilai kriteria 2 maka
If rg.Value = Krit2 Then
' ambil nomor barisnya dan simpan ke variabel IdxRow
idxRow = rg.Row
' copy baris tersebut mulai kolom 2 (kolom B) sampai kolom 7 (kolom G)
Range(Cells(
' pindah ke sheet Filter
Sheets("filter"
' pergi ke cell B4, ini adalah header dari Nomor Register
' saat ini cell aktif ada di cell B4
Range("b4").
' lakukan pemeriksaan apakah di bawah header ada data atau tidak
' tujuannya untuk menentukan lokasi penulisan data
' bahasa manusia :: jika 1 baris di bawah cell aktif kosong maka
If ActiveCell.Offset(
' dari cell aktif turun 1 baris ke bawah
' setara dengan menekan tombol panah_bawah 1 x
ActiveCell.Offset(
' selain itu, berarti di bawah header sudah ada datanya
Else
' dari aktif cell turun ke baris paling bawah yang ada datanya // ActiveCell.End(
' lalu turun lagi 1 baris ke bawah // .Offset(1, 0)
' setara dengan menekan tombol CTRL panah_bawah, lalu menekan panah_bawah 1 x
ActiveCell.End(
' akhir dari pemeriksaan lokasi penulisan data
End If
' pada cell aktif lakukan paste value
ActiveCell.PasteSpe
' matikan fitur copas
Application.
' pergi ke sheet Data Usaha
Sheets("data usaha").Select
' ini adalah akhir pemeriksaan nilai cell dalam range filter terhadap nilai kriteria 2
End If
' lakukan lagi untuk cell berikutnya
Next rg
' akhir dari prosedur FilterKecamatan
End Sub
------------
' ini adalah prosedur filter berdasarkan kriteria Kelurahan
' logikanya sama dengan prosedur filter Kecamatan
' silakan baca kembali prosedur FilterKecamatan untuk mengetahui alurnya
Sub FilterKelurahan(
ClearData
Sheets("data usaha").Select
For Each rg In Rng
If rg.Value = Krit2 Then
idxRow = rg.Row
Range(Cells(
Sheets("filter"
Range("b4").
If ActiveCell.Offset(
ActiveCell.Offset(
Else
ActiveCell.End(
End If
ActiveCell.PasteSpe
Application.
Sheets("data usaha").Select
End If
Next rg
End Sub
------------
' ini adalah prosedur filter berdasarkan kriteria Pemilik
' logikanya sama dengan prosedur filter Kecamatan
' silakan baca kembali prosedur FilterKecamatan untuk mengetahui alurnya
Sub FilterPemilik(
ClearData
Sheets("data usaha").Select
For Each rg In Rng
If rg.Value = Krit2 Then
idxRow = rg.Row
Range(Cells(
Sheets("filter"
Range("b4").
If ActiveCell.Offset(
ActiveCell.Offset(
Else
ActiveCell.End(
End If
ActiveCell.PasteSpe
Application.
Sheets("data usaha").Select
End If
Next rg
End Sub
------------
' ini adalah prosedur untuk membuat nomor urut
Sub NomorUrut()
' pergi ke sheet Filter
Sheets("filter"
' cari nilai baris dari data yang paling akhir // .End(xlDown)
' dan simpan ke dalam variabel idxRow
idxRow = Range("b4").
' Perhatian: header ada di baris 4 dan data pertama ada di baris 5
' pilih perdasarkan nilai baris data terakhir
Select Case idxRow
' jika nilai baris data terakhir = 5, berarti hanya ada 1 data, maka
Case 5
' beri nilai 1 pada cell A5
Range("a5").
' jika nilai baris data terakhir = 6, berarti hanya ada 2 data, maka
Case 6
' beri nilai 1 di cell A5, dan nilai 2 di cell A6
Range("a5").
Range("a6").
' jika nilai baris data terakhir > 6, berarti ada 3 atau lebih data, maka
Case Is > 6
' beri nilai 1 di cell A5, dan nilai 2 di cell A6
Range("a5").
Range("a6").
' blok cell A5 & A6
Range("a5:a6"
' buat nomor urut otomatis // .AutoFill
' mulai dari cell A5 (baris 5 , kolom 1) // Cells(5, 1)
' sampai baris data terakhir // Cells(idxRow, 1)
Selection.AutoFill Destination:
' akhir dari pemilihan nilai baris data
End Select
' akhir dari prosedur pembuatan nomor otomatis
End Sub
------------
' ini adalah prosedur bersih-berih data
Sub ClearData()
' pergi ke sheet Filter
Sheets("filter"
' mulai dari cell A5 ke arah kanan lalu // Range("a5").
' ke bawah yang ada datanya // .End(xlDown)
' lalu hapus isi datanya // .ClearContents
Range(Range(
' akhir dari bersih-bersih data
End Sub
Semoga bermanfaat.
Best Regard,
-Ms. Jan Raisin-
Pada 22 Desember 2012 08:35, Faisal Hasman <revolter_ichal@
>
>dear mailing excel
>
>
>sebelumnya hal hal ini pernah dibahas
>
>oleh pak hendrik... dengan file contoh FILTER BLOKKOTA
>namun setelah saya utak atik
>nda bisa jalan sesuai dengan file sample
>yangsaya attach
>mungkin karena macrox tidak mendukung
>karena saya mau memfilter
>dengan beberapa kriteria lagi
>yaitu, bentuk usaha, dusun, kelurahan/desa dan
>
>kecamatan
>
>
>mungkin bisa dibantu memecahkan masalah ini
>kalo bisa macro filter blokkotax dijelaskan juga
>
>
>trima kasih
>
Tue Dec 25, 2012 7:47 pm (PST) . Posted by:
"Jan Raisin"
Dear pak Arkan,
mungkin jika disertakan sampel datanya maka akan ada BeExceller yang
bersedia berbagi solusi dengan anda. karena file yang dilampirkan hanya
berisi template laporan tanpa data sama sekali.
Best Regard,
-Ms, Jan Raisin-
Pada 24 Desember 2012 16:05, Abang Jakarta <abang_jakarta17@yahoo.com >menulis:
> **
>
>
> Master XL,
>
> Minta tolong bantuannya, saya memiliki data HT dan setiap saat operator HT
> akan melakukan panggilan keluar dan menerima panggilan masuk. Adappun data
> yang ingin saya sajikan adalah :
> 1. Summary HT per 3 jam , tabel seperti di sheet "SUMMARY"
> 2. Tampilan grafik untuk 20 list HT yang terbanyak melakukan panggilan
> Call in dan Call out
> 3. Tampilan grafik untuk 20 list HT yang paling sedikit melakukan
> panggilan Call in dan Call Out
> 4. pada sheet Call in dan Call out, kolom Time hanya bisa di isi kalau HT
> ID sudah di isi, kolom Guard in Charge bisa di isi kalau kolom Time sudah
> di isi, Kolom Remarks bisa di isi kalau kolom Guard in charge sudah di isi
> 3. Non aktif fungsi copy paste" klik Kanan atau ctrl c dan ctrl v "
>
> Terimakasih
> arkan
>
>
>
mungkin jika disertakan sampel datanya maka akan ada BeExceller yang
bersedia berbagi solusi dengan anda. karena file yang dilampirkan hanya
berisi template laporan tanpa data sama sekali.
Best Regard,
-Ms, Jan Raisin-
Pada 24 Desember 2012 16:05, Abang Jakarta <abang_jakarta17@
> **
>
>
> Master XL,
>
> Minta tolong bantuannya, saya memiliki data HT dan setiap saat operator HT
> akan melakukan panggilan keluar dan menerima panggilan masuk. Adappun data
> yang ingin saya sajikan adalah :
> 1. Summary HT per 3 jam , tabel seperti di sheet "SUMMARY"
> 2. Tampilan grafik untuk 20 list HT yang terbanyak melakukan panggilan
> Call in dan Call out
> 3. Tampilan grafik untuk 20 list HT yang paling sedikit melakukan
> panggilan Call in dan Call Out
> 4. pada sheet Call in dan Call out, kolom Time hanya bisa di isi kalau HT
> ID sudah di isi, kolom Guard in Charge bisa di isi kalau kolom Time sudah
> di isi, Kolom Remarks bisa di isi kalau kolom Guard in charge sudah di isi
> 3. Non aktif fungsi copy paste" klik Kanan atau ctrl c dan ctrl v "
>
> Terimakasih
> arkan
>
>
>
Wed Dec 26, 2012 1:09 am (PST) . Posted by:
"Abang Jakarta" budi170177
Dear Bp. Raisin dan Master Excel,
Apakah data dan penjelasan di file yang sekarang bisa membantu?
TerimakasihArkan
--- On Tue, 12/25/12, Jan Raisin <miss.jan.raisin@gmail.com > wrote:
From: Jan Raisin <miss.jan.raisin@gmail.com >
Subject: Re: [belajar-excel] HT List
To: belajar-excel@yahoogroups.com
Date: Tuesday, December 25, 2012, 7:47 PM
Dear pak Arkan,
mungkin jika disertakan sampel datanya maka akan ada BeExceller yang bersedia berbagi solusi dengan anda. karena file yang dilampirkan hanya berisi template laporan tanpa data sama sekali.
Best Regard,
-Ms, Jan Raisin-
Pada 24 Desember 2012 16:05, Abang Jakarta <abang_jakarta17@yahoo.com > menulis:
Master XL,
Minta tolong bantuannya, saya memiliki data HT dan setiap saat operator HT akan melakukan panggilan keluar dan menerima panggilan masuk. Adappun data yang ingin saya sajikan adalah :
1. Summary HT per 3 jam , tabel seperti di sheet "SUMMARY" 2. Tampilan grafik untuk 20 list HT yang terbanyak melakukan panggilan Call in dan Call out3. Tampilan grafik untuk 20 list HT yang paling sedikit melakukan panggilan Call in dan Call Out
4. pada sheet Call in dan Call out, kolom Time hanya bisa di isi kalau HT ID sudah di isi, kolom Guard in Charge bisa di isi kalau kolom Time sudah di isi, Kolom Remarks bisa di isi kalau kolom Guard in charge sudah di isi
3. Non aktif fungsi copy paste" klik Kanan atau ctrl c dan ctrl v
"
Terimakasiharkan
Apakah data dan penjelasan di file yang sekarang bisa membantu?
TerimakasihArkan
--- On Tue, 12/25/12, Jan Raisin <miss.jan.raisin@
From: Jan Raisin <miss.jan.raisin@
Subject: Re: [belajar-excel] HT List
To: belajar-excel@
Date: Tuesday, December 25, 2012, 7:47 PM
Dear pak Arkan,
mungkin jika disertakan sampel datanya maka akan ada BeExceller yang bersedia berbagi solusi dengan anda. karena file yang dilampirkan hanya berisi template laporan tanpa data sama sekali.
Best Regard,
-Ms, Jan Raisin-
Pada 24 Desember 2012 16:05, Abang Jakarta <abang_jakarta17@
Master XL,
Minta tolong bantuannya, saya memiliki data HT dan setiap saat operator HT akan melakukan panggilan keluar dan menerima panggilan masuk. Adappun data yang ingin saya sajikan adalah :
1. Summary HT per 3 jam , tabel seperti di sheet "SUMMARY" 2. Tampilan grafik untuk 20 list HT yang terbanyak melakukan panggilan Call in dan Call out3. Tampilan grafik untuk 20 list HT yang paling sedikit melakukan panggilan Call in dan Call Out
4. pada sheet Call in dan Call out, kolom Time hanya bisa di isi kalau HT ID sudah di isi, kolom Guard in Charge bisa di isi kalau kolom Time sudah di isi, Kolom Remarks bisa di isi kalau kolom Guard in charge sudah di isi
3. Non aktif fungsi copy paste" klik Kanan atau ctrl c dan ctrl v
"
Terimakasiharkan
Tue Dec 25, 2012 7:52 pm (PST) . Posted by:
"raya hidayat" raya.hidayat
dear pak surya,
saya tidak tahu apakah ini sesuai dengan yang bapak inginkan dikarenakan
hasil yang diinginkan tidak ditampilkan.
ini hasil tebak-tebak berhadiahnya, semoga sesuai.
note : saya baru pemula di excell 2007.
terima kasih
Raya
2012/12/25 surya sampurna <suryasampurna5@gmail.com >
> **
>
>
> Dear para Pakar Excel 2007
>
> Saya minta tolong dong bantuin saya, untuk menghitung jumlah huruf
> dalam beberapa
> kolom. Mungkin para Pakar Excel bisa berbagi ilmunya.Data terlampir.
> Terimakasihatas kemuliaan Anda dalam berbagi.
>
> Wasalam,
> Surya
>
>
--
Terima kasih
Raya
saya tidak tahu apakah ini sesuai dengan yang bapak inginkan dikarenakan
hasil yang diinginkan tidak ditampilkan.
ini hasil tebak-tebak berhadiahnya, semoga sesuai.
note : saya baru pemula di excell 2007.
terima kasih
Raya
2012/12/25 surya sampurna <suryasampurna5@
> **
>
>
> Dear para Pakar Excel 2007
>
> Saya minta tolong dong bantuin saya, untuk menghitung jumlah huruf
> dalam beberapa
> kolom. Mungkin para Pakar Excel bisa berbagi ilmunya.Data terlampir.
> Terimakasihatas kemuliaan Anda dalam berbagi.
>
> Wasalam,
> Surya
>
>
--
Terima kasih
Raya
Wed Dec 26, 2012 1:00 am (PST) . Posted by:
"agung.widodo01@id.panasonic.com" aghoenx1
Ok, Sesuai keinginan..
Terimakasih banyak Mr. Kid dan pak Ghozi yang senantiasa memikirkan dan membantu kesulitan orang lain
Semoga anda sekalian selalu dijauhkan dari kesulitan hidup, Amin
AgungWi
________________________________
From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com ] On Behalf Of Mr. Kid
Sent: Friday, December 21, 2012 8:51 PM
To: belajar-excel@yahoogroups.com
Subject: Re: [belajar-excel] Mengubah angka hasil dari database menjadi huruf
Coba :
=INDEX($F$16:$F$20,VLOOKUP($B6,Data!$B$2:$H$19,COLUMN(C$5),0)+1)
Bahasa manusia :
"Ambil dari $F$16:$F$20 [INDEX($F$16:$F$20] pada posisi baris hasil lookup vertikal [VLookUp] nilai B6 di tabel B2:H19 di sheet data di kolom nilai kolom C5 dengan mode pencarian sama persis"
Wassalam,
Kid.
2012/12/21 <agung.widodo01@id.panasonic.com <mailto:agung.widodo01@id.panasonic.com >>
Rekan pembelajar Excel sekalian,
Ada soal sederhana,
Bagaimana formula untuk mencari data di database dihalaman lain dan mengganti data Angka yang dihasilkan dengan Huruf tertentu
Contoh kasus saya ada dalam lampiran
Terimakasih
Agung W
Terimakasih banyak Mr. Kid dan pak Ghozi yang senantiasa memikirkan dan membantu kesulitan orang lain
Semoga anda sekalian selalu dijauhkan dari kesulitan hidup, Amin
AgungWi
____________
From: belajar-excel@
Sent: Friday, December 21, 2012 8:51 PM
To: belajar-excel@
Subject: Re: [belajar-excel] Mengubah angka hasil dari database menjadi huruf
Coba :
=INDEX($F$16:
Bahasa manusia :
"Ambil dari $F$16:$F$20 [INDEX($F$16:
Wassalam,
Kid.
2012/12/21 <agung.widodo01@
Rekan pembelajar Excel sekalian,
Ada soal sederhana,
Bagaimana formula untuk mencari data di database dihalaman lain dan mengganti data Angka yang dihasilkan dengan Huruf tertentu
Contoh kasus saya ada dalam lampiran
Terimakasih
Agung W
Wed Dec 26, 2012 1:09 am (PST) . Posted by:
"Andre Rahmaidy Teeza" andre_teeza_bn
MasterExcell
Makasih sebelumnya Mr. Kid atas ilmu vbanya, setelah saya pelajari ada beberapa field yang datanya tidak sesuai dengan posnya masing-masing ada 2 field yang tidak cocok datanya, field tersebut saya beri warna kuning(file terlampir). kira2 gimana ya Mr.kid apa ada yang salah dengan proses codingnya. mohon petunjuknya ya Mr.Kid
Wasalam
ANdree
________________________________
From: Mr. Kid <mr.nmkid@gmail.com >
To: belajar-excel@yahoogroups.com
Sent: Sunday, December 23, 2012 7:15 PM
Subject: Re: [belajar-excel] Form Data
Mohon tidak cc ke akun lain lagi.
Hai Andree,
Coba file terlampir.
Wasssalam,
Kid.
2012/12/23 Andre Rahmaidy Teeza <andre_teeza_bn@yahoo.com >
>
>Sore BeExceller
>
>
>mohon petunjuknya master excel semuanya saya ada problem di coding vba untuk pengisisan data di sheet FORM_isi contohnya:
>bahasa coding untuk menambah field setelah field PY karena ada sekitar 28 field lagi yang akan diisi sesuai dengan format pengisian pada sheet FORM_isi. untuk data yang akan di isi ada di sheet Data_2.(file terlampir)
>Mohon bantuannya para master excel..
>
>
>Regards
>
>
>Andree
>
Makasih sebelumnya Mr. Kid atas ilmu vbanya, setelah saya pelajari ada beberapa field yang datanya tidak sesuai dengan posnya masing-masing ada 2 field yang tidak cocok datanya, field tersebut saya beri warna kuning(file terlampir). kira2 gimana ya Mr.kid apa ada yang salah dengan proses codingnya. mohon petunjuknya ya Mr.Kid
Wasalam
ANdree
____________
From: Mr. Kid <mr.nmkid@gmail.
To: belajar-excel@
Sent: Sunday, December 23, 2012 7:15 PM
Subject: Re: [belajar-excel] Form Data
Mohon tidak cc ke akun lain lagi.
Hai Andree,
Coba file terlampir.
Wasssalam,
Kid.
2012/12/23 Andre Rahmaidy Teeza <andre_teeza_
>
>Sore BeExceller
>
>
>mohon petunjuknya master excel semuanya saya ada problem di coding vba untuk pengisisan data di sheet FORM_isi contohnya:
>bahasa coding untuk menambah field setelah field PY karena ada sekitar 28 field lagi yang akan diisi sesuai dengan format pengisian pada sheet FORM_isi. untuk data yang akan di isi ada di sheet Data_2.(file terlampir)
>Mohon bantuannya para master excel..
>
>
>Regards
>
>
>Andree
>
Wed Dec 26, 2012 1:09 am (PST) . Posted by:
"Andre Rahmaidy Teeza" andre_teeza_bn
maaf Mr. Kid kelupaan kirim filenya.
Wasalam
Andree
________________________________
From: Mr. Kid <mr.nmkid@gmail.com >
To: belajar-excel@yahoogroups.com
Sent: Sunday, December 23, 2012 7:15 PM
Subject: Re: [belajar-excel] Form Data
Mohon tidak cc ke akun lain lagi.
Hai Andree,
Coba file terlampir.
Wasssalam,
Kid.
2012/12/23 Andre Rahmaidy Teeza <andre_teeza_bn@yahoo.com >
>
>Sore BeExceller
>
>
>mohon petunjuknya master excel semuanya saya ada problem di coding vba untuk pengisisan data di sheet FORM_isi contohnya:
>bahasa coding untuk menambah field setelah field PY karena ada sekitar 28 field lagi yang akan diisi sesuai dengan format pengisian pada sheet FORM_isi. untuk data yang akan di isi ada di sheet Data_2.(file terlampir)
>Mohon bantuannya para master excel..
>
>
>Regards
>
>
>Andree
>
Wasalam
Andree
____________
From: Mr. Kid <mr.nmkid@gmail.
To: belajar-excel@
Sent: Sunday, December 23, 2012 7:15 PM
Subject: Re: [belajar-excel] Form Data
Mohon tidak cc ke akun lain lagi.
Hai Andree,
Coba file terlampir.
Wasssalam,
Kid.
2012/12/23 Andre Rahmaidy Teeza <andre_teeza_
>
>Sore BeExceller
>
>
>mohon petunjuknya master excel semuanya saya ada problem di coding vba untuk pengisisan data di sheet FORM_isi contohnya:
>bahasa coding untuk menambah field setelah field PY karena ada sekitar 28 field lagi yang akan diisi sesuai dengan format pengisian pada sheet FORM_isi. untuk data yang akan di isi ada di sheet Data_2.(file terlampir)
>Mohon bantuannya para master excel..
>
>
>Regards
>
>
>Andree
>
Wed Dec 26, 2012 1:36 am (PST) . Posted by:
"Mr. Kid" nmkid.family@ymail.com
Sepertinya baik-baik saja.
Coba lihat data cabang LA untuk sandi 175 di sheet data (manfaatkan fitur
autofilter)
Wassalam,
Kid.
2012/12/26 Andre Rahmaidy Teeza <andre_teeza_bn@yahoo.com >
> **
>
>
> MasterExcell
>
> Makasih sebelumnya Mr. Kid atas ilmu vbanya, setelah saya pelajari ada
> beberapa field yang datanya tidak sesuai dengan posnya masing-masing ada 2
> field yang tidak cocok datanya, field tersebut saya beri warna kuning(file
> terlampir). kira2 gimana ya Mr.kid apa ada yang salah dengan proses
> codingnya. mohon petunjuknya ya Mr.Kid
>
>
> Wasalam
> ANdree
>
> ------------------------------
> *From:* Mr. Kid <mr.nmkid@gmail.com >
> *To:* belajar-excel@yahoogroups.com
> *Sent:* Sunday, December 23, 2012 7:15 PM
> *Subject:* Re: [belajar-excel] Form Data
>
>
> Mohon tidak cc ke akun lain lagi.
>
> Hai Andree,
>
> Coba file terlampir.
>
> Wasssalam,
> Kid.
>
>
> 2012/12/23 Andre Rahmaidy Teeza <andre_teeza_bn@yahoo.com >
>
> **
>
> Sore BeExceller
>
> mohon petunjuknya master excel semuanya saya ada problem di coding vba
> untuk pengisisan data di sheet FORM_isi contohnya:
> bahasa coding untuk menambah field setelah field PY karena ada sekitar 28
> field lagi yang akan diisi sesuai dengan format pengisian pada sheet
> FORM_isi. untuk data yang akan di isi ada di sheet Data_2.(file terlampir)
> Mohon bantuannya para master excel..
>
> Regards
>
> Andree
>
>
>
>
>
>
Coba lihat data cabang LA untuk sandi 175 di sheet data (manfaatkan fitur
autofilter)
Wassalam,
Kid.
2012/12/26 Andre Rahmaidy Teeza <andre_teeza_
> **
>
>
> MasterExcell
>
> Makasih sebelumnya Mr. Kid atas ilmu vbanya, setelah saya pelajari ada
> beberapa field yang datanya tidak sesuai dengan posnya masing-masing ada 2
> field yang tidak cocok datanya, field tersebut saya beri warna kuning(file
> terlampir). kira2 gimana ya Mr.kid apa ada yang salah dengan proses
> codingnya. mohon petunjuknya ya Mr.Kid
>
>
> Wasalam
> ANdree
>
> ------------
> *From:* Mr. Kid <mr.nmkid@gmail.
> *To:* belajar-excel@
> *Sent:* Sunday, December 23, 2012 7:15 PM
> *Subject:* Re: [belajar-excel] Form Data
>
>
> Mohon tidak cc ke akun lain lagi.
>
> Hai Andree,
>
> Coba file terlampir.
>
> Wasssalam,
> Kid.
>
>
> 2012/12/23 Andre Rahmaidy Teeza <andre_teeza_
>
> **
>
> Sore BeExceller
>
> mohon petunjuknya master excel semuanya saya ada problem di coding vba
> untuk pengisisan data di sheet FORM_isi contohnya:
> bahasa coding untuk menambah field setelah field PY karena ada sekitar 28
> field lagi yang akan diisi sesuai dengan format pengisian pada sheet
> FORM_isi. untuk data yang akan di isi ada di sheet Data_2.(file terlampir)
> Mohon bantuannya para master excel..
>
> Regards
>
> Andree
>
>
>
>
>
>
Wed Dec 26, 2012 1:59 am (PST) . Posted by:
"Andre Rahmaidy Teeza" andre_teeza_bn
makasih penjelasannya Mr.Kid
terlampir file jpg dari sheet data yang saya lihat udah sesuai cuma pas proses isi data di sheet form ternyata data cabang LA untuk sandi 175 terisi 312.371.546.470,-
mohon petunjuknya Mr.
________________________________
From: Mr. Kid <mr.nmkid@gmail.com >
To: belajar-excel@yahoogroups.com
Sent: Wednesday, December 26, 2012 4:35 PM
Subject: Re: [belajar-excel] Form Data
Sepertinya baik-baik saja.
Coba lihat data cabang LA untuk sandi 175 di sheet data (manfaatkan fitur autofilter)
Wassalam,
Kid.
2012/12/26 Andre Rahmaidy Teeza <andre_teeza_bn@yahoo.com >
>
>MasterExcell
>
>
>Makasih sebelumnya Mr. Kid atas ilmu vbanya, setelah saya pelajari ada beberapa field yang datanya tidak sesuai dengan posnya masing-masing ada 2 field yang tidak cocok datanya, field tersebut saya beri warna kuning(file terlampir). kira2 gimana ya Mr.kid apa ada yang salah dengan proses codingnya. mohon petunjuknya ya Mr.Kid
>
>
>
>
>Wasalam
>ANdree
>
>
>
>________________________________
> From: Mr. Kid <mr.nmkid@gmail.com >
>To: belajar-excel@yahoogroups.com
>Sent: Sunday, December 23, 2012 7:15 PM
>Subject: Re: [belajar-excel] Form Data
>
>
>
>Mohon tidak cc ke akun lain lagi.
>
>Hai Andree,
>
>Coba file terlampir.
>
>Wasssalam,
>Kid.
>
>
>
>2012/12/23 Andre Rahmaidy Teeza <andre_teeza_bn@yahoo.com >
>
>
>>
>>Sore BeExceller
>>
>>
>>mohon petunjuknya master excel semuanya saya ada problem di coding vba untuk pengisisan data di sheet FORM_isi contohnya:
>>bahasa coding untuk menambah field setelah field PY karena ada sekitar 28 field lagi yang akan diisi sesuai dengan format pengisian pada sheet FORM_isi. untuk data yang akan di isi ada di sheet Data_2.(file terlampir)
>>Mohon bantuannya para master excel..
>>
>>
>>Regards
>>
>>
>>Andree
>>
>
>
>
terlampir file jpg dari sheet data yang saya lihat udah sesuai cuma pas proses isi data di sheet form ternyata data cabang LA untuk sandi 175 terisi 312.371.546.
mohon petunjuknya Mr.
____________
From: Mr. Kid <mr.nmkid@gmail.
To: belajar-excel@
Sent: Wednesday, December 26, 2012 4:35 PM
Subject: Re: [belajar-excel] Form Data
Sepertinya baik-baik saja.
Coba lihat data cabang LA untuk sandi 175 di sheet data (manfaatkan fitur autofilter)
Wassalam,
Kid.
2012/12/26 Andre Rahmaidy Teeza <andre_teeza_
>
>MasterExcell
>
>
>Makasih sebelumnya Mr. Kid atas ilmu vbanya, setelah saya pelajari ada beberapa field yang datanya tidak sesuai dengan posnya masing-masing ada 2 field yang tidak cocok datanya, field tersebut saya beri warna kuning(file terlampir). kira2 gimana ya Mr.kid apa ada yang salah dengan proses codingnya. mohon petunjuknya ya Mr.Kid
>
>
>
>
>Wasalam
>ANdree
>
>
>
>___________
> From: Mr. Kid <mr.nmkid@gmail.
>To: belajar-excel@
>Sent: Sunday, December 23, 2012 7:15 PM
>Subject: Re: [belajar-excel] Form Data
>
>
>
>Mohon tidak cc ke akun lain lagi.
>
>Hai Andree,
>
>Coba file terlampir.
>
>Wasssalam,
>Kid.
>
>
>
>2012/12/23 Andre Rahmaidy Teeza <andre_teeza_
>
>
>>
>>Sore BeExceller
>>
>>
>>mohon petunjuknya master excel semuanya saya ada problem di coding vba untuk pengisisan data di sheet FORM_isi contohnya:
>>bahasa coding untuk menambah field setelah field PY karena ada sekitar 28 field lagi yang akan diisi sesuai dengan format pengisian pada sheet FORM_isi. untuk data yang akan di isi ada di sheet Data_2.(file terlampir)
>>Mohon bantuannya para master excel..
>>
>>
>>Regards
>>
>>
>>Andree
>>
>
>
>
Wed Dec 26, 2012 1:09 am (PST) . Posted by:
"Adi" abduh_suryadi
Assalamu'alaikum
Saya ingin menggunakan fungsi sum/average dll untuk menghitung cell A1,
C1, E1.
Formula menjadi: Sum(A1,C1,E1).
Masalahnya, ketika saya mendelete kolom C, maka C1 berubah menjadi
#REF!.
bagaimana caranya agar C1 otomatis hilang dari formula ketika kolom C
didelet?
thanks, wassalam.
Saya ingin menggunakan fungsi sum/average dll untuk menghitung cell A1,
C1, E1.
Formula menjadi: Sum(A1,C1,E1)
Masalahnya, ketika saya mendelete kolom C, maka C1 berubah menjadi
#REF!.
bagaimana caranya agar C1 otomatis hilang dari formula ketika kolom C
didelet?
thanks, wassalam.
Wed Dec 26, 2012 1:54 am (PST) . Posted by:
"Mr. Kid" nmkid.family@ymail.com
Wa'alaikumussalam Wr. Wb.
1. Jika area yang di-Sum adalah kontinyu, gunakan =Sum(A1:E1)
2. Jika area yang di-Sum tidak kontinyu, buat header di baris 1 dan untuk
kolom yang di-Sum punya isi yang sama, misal kolom A,C,E memiliki header
myData
Gunakan SumIF dalam susunan formula : (misal untuk data di baris 2 ->
karena baris 1 adalah header)
=SumIF(a$1:e$1,"myData",a2:e2)
Wassalamu'alaikum Wr. Wb.
Kid.
2012/12/26 Adi <abduhsuryadi@gmail.com >
> **
>
>
> Assalamu'alaikum
> Saya ingin menggunakan fungsi sum/average dll untuk menghitung cell A1,
> C1, E1.
> Formula menjadi: Sum(A1,C1,E1).
> Masalahnya, ketika saya mendelete kolom C, maka C1 berubah menjadi
> #REF!.
> bagaimana caranya agar C1 otomatis hilang dari formula ketika kolom C
> didelet?
> thanks, wassalam.
>
>
>
1. Jika area yang di-Sum adalah kontinyu, gunakan =Sum(A1:E1)
2. Jika area yang di-Sum tidak kontinyu, buat header di baris 1 dan untuk
kolom yang di-Sum punya isi yang sama, misal kolom A,C,E memiliki header
myData
Gunakan SumIF dalam susunan formula : (misal untuk data di baris 2 ->
karena baris 1 adalah header)
=SumIF(a$1:e$
Wassalamu'alaikum Wr. Wb.
Kid.
2012/12/26 Adi <abduhsuryadi@
> **
>
>
> Assalamu'alaikum
> Saya ingin menggunakan fungsi sum/average dll untuk menghitung cell A1,
> C1, E1.
> Formula menjadi: Sum(A1,C1,E1)
> Masalahnya, ketika saya mendelete kolom C, maka C1 berubah menjadi
> #REF!.
> bagaimana caranya agar C1 otomatis hilang dari formula ketika kolom C
> didelet?
> thanks, wassalam.
>
>
>
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
---------------------------------------------------------------------
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