Minggu, 09 September 2012

[belajar-excel] Digest Number 1762

6 New Messages

Digest #1762
1a
data mobil baru by "Fendi S" fendis@rocketmail.com
1b
Re: data mobil baru by "Kid Mr." nmkid.family@ymail.com
1c
Re: data mobil baru by "Kid Mr." nmkid.family@ymail.com
2a
Bls: [belajar-excel] Makro Sisip Baris by "Imam Sinurat" sin.ur4t
2b
Re: Makro Sisip Baris by "Kid Mr." nmkid.family@ymail.com
2c
Re: Makro Sisip Baris by "sin.ur4t@yahoo.com" sin.ur4t

Messages

Sun Sep 9, 2012 12:33 am (PDT) . Posted by:

"Fendi S" fendis@rocketmail.com

Kepada Yth. Para master belajar-excel;@yahoogroups.com
Tolong bantuannya cara memasukkan data mobil di Sheet "data masuk" yang secara otomatis 
akan masuk di sheet kolektif secara terus menerus, seperti fike t\erlampir
Terima kasih atas penjelasannya
Salam .

Sun Sep 9, 2012 1:04 am (PDT) . Posted by:

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

Hai Fendi,

Hal seperti ini membutuhkan VBA.
Silakan coba step berikut : (Maaf kalau berbeda dengan file aslinya, karena
hanya dilihat dari GDocs)
1. Pada D3 ada formula Count berdasar kolom D sheet sebelahnya. Maka
pastikan format number cell D8 adalah General atau Number dan tidak boleh
Text.
2. Pada D4 tidak ada formulanya, artinya harus diinput oleh user. Jika
ingin dibuat auto, beri formula :
=D3+1
3. Karena filenya adalah xlsx, save as file dengan ekstensi .xlsm atau
.xlsb agar VBA dapat tersimpan dalam file.
4. Klik ribbon (menu) Developer -> lihat grup Controls -> klik Insert ->
lihat bagian *ActiveX *-> pilih Command Button -> gambar kotak di worksheet
5. Pastikan icon Design Mode pada ribbon Developer telah menyala (On)
6. Klik kanan tombol yang terbuat di proses 4 -> pilih properties -> set
sebagai berikut :
>> untuk properti *Name *isinya diganti menjadi cmdSave
>> untuk properti *Caption *isinya diganti menjadi Simpan
akhiri dengan menekan tombol close (x) pada dialog properties
7. Double click tombol tersebut
8. tulis disana script berikut :
range("d4,d6:d11").copy 'copy data

'paste special values di transpose
sheets("kolektif").range("a1").offset( range("d4").value
).pastespecial xlpastevalues, trnaspose:=true

'hapus data yang sudah di save dari sheet input
'jika d4 pakai formula : (aktifkan [hapus karakter ' pada 1 baris
berikut ini])
'range("d6:d11").clearcontents

'jika d4 tidak pakai formula : (aktifkan [hapus karakter ' pada 1
baris berikut ini])
'range("d4:d11").clearcontents

'pesan
msgbox "Saved.",vbinformation,"Simpan Data"

9. kembali ke worksheet (tekan ALT F11)
10. save workbook (ingat, pastikan ekstensinya : .xlsm atau .xlsb atau .xls)
11. silakan coba tekan tombolnya

Wassalam,
Kid.

2012/9/9 Fendi S <fendis@rocketmail.com>

> **
>
>
> Kepada Yth. Para master belajar-excel;@yahoogroups.com
> Tolong bantuannya cara memasukkan data mobil di Sheet "data masuk" yang
> secara otomatis
> akan masuk di sheet kolektif secara terus menerus, seperti fike t\erlampir
> Terima kasih atas penjelasannya
> Salam .
>
>
>

Sun Sep 9, 2012 1:09 am (PDT) . Posted by:

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

Koreksi bagian :
sheets("kolektif").range("a1").offset( range("d4").value
).pastespecial xlpastevalues, *trnaspose*:=true

menjadi :
sheets("kolektif").range("a1").offset( range("d4").value
).pastespecial xlpastevalues, *transpose*:=true

Wassalam,
Kid.

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

> sheets("kolektif").range("a1").offset( range("d4").value
> ).pastespecial xlpastevalues, trnaspose:=true

Sun Sep 9, 2012 7:37 am (PDT) . Posted by:

"Imam Sinurat" sin.ur4t

Yth. Pak Mr Kid dan rekan2

Krn masih awam sekali, hampir 15 jam saya kerjakan ini, mengikuti step-step (istilah kerennya 'algoritma manual' bukan?) yg pak MrKid ajarkan dan melihat contoh makro pada thread 'Makro Filter Sort Data Tak Unik'.
Mohon bpk evaluasi apakah mmg caranya sudah benar atau cuma faktor kebetulan saja hasilnya benar :)

Juga mohon direvisi sintaxnya yang masih kurang efisien.

Option Explicit
Public Sub sisipdata(Optional bvalue As Boolean = False)
Dim rngdata As Range, rnghasil As Range
Dim lrecdata As Long, lrechasil As Long

'0. ke VBE (tekan ALT F11) dan buat sebuah module (bonus :: caranya ->  ke menu Insert -> pilih Module)

    'RangeData
        Set rngdata = Sheet1.Range("b3").CurrentRegion
       
    'beri nama range untuk data tanpa header
        rngdata.Offset(1).Resize(rngdata.Rows.Count - 1).Name = "myData"
   
With Sheet2
   
'1. Hapus hasil yang lama. Pakai delete xlshiftup juga bisa
        .Range("b4").CurrentRegion.Offset(1).Delete xlShiftUp
 
'2. Copy data dari no sampai nominal1 ke hasil mulai baris pertama
        rngdata.Offset(1).Resize(rngdata.Rows.Count - 1, rngdata.Columns.Count - 1).Copy
        .Range("b5").PasteSpecial xlPasteValues
        Application.CutCopyMode = False
     
'3. hitung jumlah record + header di hasil dan simpan disebuah variabel
        lrecdata = rngdata.Rows.Count - 1

End With

'4. hide kolom nominal1 di data

With Sheet1
        .Columns("D:D").EntireColumn.Hidden = True
  
    
'5. autofilter data pada kolom nominal2 yang tidak blank ("<>")
        rngdata.AutoFilter Field:=4, Criteria1:="<>"
       
'6. data yang visible (gunakan specialcells visible) di copy dan paste ke hasil dengan offset sebanyak variabel jumlah record (proses 3)
        rngdata.Offset(1).Resize(lrecdata).SpecialCells(xlCellTypeVisible).Copy
        Sheet2.Range("b4").Offset(lrecdata + 1).PasteSpecial xlPasteValues
       
       'hilangkan garis2 copiedrange dan autofilter serta tampilkan kembali kolom D
        Application.CutCopyMode = False
        rngdata.AutoFilter
        .Columns("D:D").EntireColumn.Hidden = False
       
End With
   
'7. hapus data nama di sheet hasil hanya pada hasil paste terakhir (hasil proses 6)

        Set rnghasil = Sheet2.Range("b4").CurrentRegion
        lrechasil = rnghasil.Rows.Count - 1

With Sheet2
        .Range("b4").CurrentRegion.Offset(lrecdata + 1, 1).Resize(lrechasil - lrecdata, 1).ClearContents

'8. sort hasil berdasar kolom No secara menaik
        rnghasil.CurrentRegion.Sort .Range("b4"), xlAscending, Header:=xlYes

'9. hasil yang blank (gunakan specialcells celltypeblank) diisi formula style R1C1 berbunyi : "=R[-1]C & ""(*)"""
        rnghasil.Offset(1, 1).Resize(lrechasil, 1).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C&""(*)"""
       
'10. hasil (seluruh baris ya) di kolom No diberi formulaR1C1 : "=n(R[-1]C)+1"
        rnghasil.Offset(1).Resize(lrechasil, 1).FormulaR1C1 = "=N(R[-1]C)+1"
 
'11. kalkulasi sheet hasil
        Sheet2.Calculate
       
'12. copy paste special values area hasil
        rnghasil.CurrentRegion.Copy
        Sheet2.Range("b4").PasteSpecial xlPasteValues
        Application.CutCopyMode = False
       
End With
End Sub

Terima kasih sebelumnya, Wassalam
Sinurat

________________________________
Dari: Kid Mr. <mr.nmkid@gmail.com>
Kepada: belajar-excel@yahoogroups.com
Dikirim: Kamis, 6 September 2012 13:00
Judul: Re: [belajar-excel] Makro Sisip Baris


Bagi yang masih bingung caranya, silakan posting dengan judul thread :
VBA xx. nama prosesnya
Contoh :
bingung cara nomor 5, buat thread baru (posting email baru ke milis) dengan subject :
VBA 05. Autofilter data kolom nominal2

Jadi, seluruh proses diharapkan tetap menggunakan data dari Pak Imam dulu, supaya sama dan seragam.
Harapannya bisa mempermudah proses belajar bersama.

Selamat mencoba dan tetap semangat belajar.

Wassalam,
Kid.

2012/9/6 Imam Sinurat <sin.ur4t@yahoo.com>


>Salam Be-Excel..
>
>
>Mohon dibantu bagaimana kode makro menyisip baris dan mengisi data yang sesuai.
>
>
>
>Yang diinginkan adalah sbb:   
>1.    Semua record Tabel 1. ditampilkan kembali pada Tabel 2., baik Nama maupun Nominal1.
>2.    Setiap record yang kolom Nominal2 ada nilainya, maka sisipkan
satu baris kosong tepat dibawah record tersebut,
>        lalu isi nama yang sesuai dibubuhi tanda "(*)", dan Nominal2.
>  
>    Terima kasih sebelumnya, wassalam
>    Imam F. Sinurat
>
>

Sun Sep 9, 2012 7:51 am (PDT) . Posted by:

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

Insya Allah bukan karena kebetulan, tetapi karena usaha untuk memahami
setiap langkahnya.

Semoga hal ini menjadi modal untuk membuat lebih banyak proses otomasi
lainnya dalam pekerjaan.

Lampiran berikut memanfaatkan pivot table sebagai tabel antara.
Batasan : pengubahan jumlah record karena proses delete baris data tidak
dapat langsung meng-update hasil. Jika ada proses delete data, mohon tekan
refresh all (bisa melalui ribbon Data -> Refresh All)

Wassalam,
Kid.

2012/9/9 Imam Sinurat <sin.ur4t@yahoo.com>

> **
>
>
> Yth. Pak Mr Kid dan rekan2
>
> Krn masih awam sekali, hampir 15 jam saya kerjakan ini, mengikuti
> step-step (istilah kerennya 'algoritma manual' bukan?) yg pak MrKid ajarkan
> dan melihat contoh makro pada thread 'Makro Filter Sort Data Tak Unik'.
> Mohon bpk evaluasi apakah mmg caranya sudah benar atau cuma faktor
> kebetulan saja hasilnya benar :)
> Juga mohon direvisi sintaxnya yang masih kurang efisien.
>
> Option Explicit
> Public Sub sisipdata(Optional bvalue As Boolean = False)
> Dim rngdata As Range, rnghasil As Range
> Dim lrecdata As Long, lrechasil As Long
>
> '0. ke VBE (tekan ALT F11) dan buat sebuah module (bonus :: caranya -> ke
> menu Insert -> pilih Module)
>
> 'RangeData
> Set rngdata = Sheet1.Range("b3").CurrentRegion
>
> 'beri nama range untuk data tanpa header
> rngdata.Offset(1).Resize(rngdata.Rows.Count - 1).Name = "myData"
>
> With Sheet2
>
> '1. Hapus hasil yang lama. Pakai delete xlshiftup juga bisa
> .Range("b4").CurrentRegion.Offset(1).Delete xlShiftUp
>
> '2. Copy data dari no sampai nominal1 ke hasil mulai baris pertama
> rngdata.Offset(1).Resize(rngdata.Rows.Count - 1,
> rngdata.Columns.Count - 1).Copy
> .Range("b5").PasteSpecial xlPasteValues
> Application.CutCopyMode = False
>
> '3. hitung jumlah record + header di hasil dan simpan disebuah variabel
> lrecdata = rngdata.Rows.Count - 1
>
> End With
>
> '4. hide kolom nominal1 di data
>
> With Sheet1
> .Columns("D:D").EntireColumn.Hidden = True
>
>
> '5. autofilter data pada kolom nominal2 yang tidak blank ("<>")
> rngdata.AutoFilter Field:=4, Criteria1:="<>"
>
> '6. data yang visible (gunakan specialcells visible) di copy dan paste ke
> hasil dengan offset sebanyak variabel jumlah record (proses 3)
>
> rngdata.Offset(1).Resize(lrecdata).SpecialCells(xlCellTypeVisible).Copy
> Sheet2.Range("b4").Offset(lrecdata + 1).PasteSpecial xlPasteValues
>
> 'hilangkan garis2 copiedrange dan autofilter serta tampilkan
> kembali kolom D
> Application.CutCopyMode = False
> rngdata.AutoFilter
> .Columns("D:D").EntireColumn.Hidden = False
>
> End With
>
> '7. hapus data nama di sheet hasil hanya pada hasil paste terakhir (hasil
> proses 6)
>
> Set rnghasil = Sheet2.Range("b4").CurrentRegion
> lrechasil = rnghasil.Rows.Count - 1
>
> With Sheet2
> .Range("b4").CurrentRegion.Offset(lrecdata + 1,
> 1).Resize(lrechasil - lrecdata, 1).ClearContents
>
> '8. sort hasil berdasar kolom No secara menaik
> rnghasil.CurrentRegion.Sort .Range("b4"), xlAscending,
> Header:=xlYes
>
> '9. hasil yang blank (gunakan specialcells celltypeblank) diisi formula
> style R1C1 berbunyi : "=R[-1]C & ""(*)"""
> rnghasil.Offset(1, 1).Resize(lrechasil,
> 1).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C&""(*)"""
>
>
> '10. hasil (seluruh baris ya) di kolom No diberi formulaR1C1 :
> "=n(R[-1]C)+1"
> rnghasil.Offset(1).Resize(lrechasil, 1).FormulaR1C1 =
> "=N(R[-1]C)+1"
>
> '11. kalkulasi sheet hasil
> Sheet2.Calculate
>
> '12. copy paste special values area hasil
> rnghasil.CurrentRegion.Copy
> Sheet2.Range("b4").PasteSpecial xlPasteValues
> Application.CutCopyMode = False
>
> End With
> End Sub
>
> Terima kasih sebelumnya, Wassalam
> Sinurat
> ------------------------------
> *Dari:* Kid Mr. <mr.nmkid@gmail.com>
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Kamis, 6 September 2012 13:00
> *Judul:* Re: [belajar-excel] Makro Sisip Baris
>
> Bagi yang masih bingung caranya, silakan posting dengan judul thread :
> VBA xx. nama prosesnya
> Contoh :
> bingung cara nomor 5, buat thread baru (posting email baru ke milis)
> dengan subject :
> VBA 05. Autofilter data kolom nominal2
>
> Jadi, seluruh proses diharapkan tetap menggunakan data dari Pak Imam dulu,
> supaya sama dan seragam.
> Harapannya bisa mempermudah proses belajar bersama.
>
> Selamat mencoba dan tetap semangat belajar.
>
> Wassalam,
> Kid.
>
> 2012/9/6 Imam Sinurat <sin.ur4t@yahoo.com>
>
> **
>
> Salam Be-Excel..
>
> Mohon dibantu bagaimana kode makro menyisip baris dan mengisi data yang
> sesuai.
>
> Yang diinginkan adalah sbb:
> 1. Semua record Tabel 1. ditampilkan kembali pada Tabel 2., baik Nama
> maupun Nominal1.
> 2. Setiap record yang kolom Nominal2 ada nilainya, maka sisipkan satu
> baris kosong tepat dibawah record tersebut,
> lalu isi nama yang sesuai dibubuhi tanda "(*)", dan Nominal2.
>
> Terima kasih sebelumnya, wassalam
> Imam F. Sinurat
>
>
>
>
>
>
>
>

Sun Sep 9, 2012 9:38 am (PDT) . Posted by:

"sin.ur4t@yahoo.com" sin.ur4t

Terima kasih pak mrkid oleh2 pivottable-nya, akan saya pelajari perlahan.

Btw ttg syntax 12 step tadi, msh ada yg blm bisa saya lengkapi, yaitu membuat jumlah di bawah baris terakhir. Mohon dibantu trm ksh..
Powered by Telkomsel BlackBerry®

-----Original Message-----
From: "Kid Mr." <mr.nmkid@gmail.com>
Sender: belajar-excel@yahoogroups.com
Date: Sun, 9 Sep 2012 21:50:57
To: <belajar-excel@yahoogroups.com>
Reply-To: belajar-excel@yahoogroups.com
Subject: Re: [belajar-excel] Makro Sisip Baris

Insya Allah bukan karena kebetulan, tetapi karena usaha untuk memahami
setiap langkahnya.

Semoga hal ini menjadi modal untuk membuat lebih banyak proses otomasi
lainnya dalam pekerjaan.

Lampiran berikut memanfaatkan pivot table sebagai tabel antara.
Batasan : pengubahan jumlah record karena proses delete baris data tidak
dapat langsung meng-update hasil. Jika ada proses delete data, mohon tekan
refresh all (bisa melalui ribbon Data -> Refresh All)

Wassalam,
Kid.

2012/9/9 Imam Sinurat <sin.ur4t@yahoo.com>

> **
>
>
> Yth. Pak Mr Kid dan rekan2
>
> Krn masih awam sekali, hampir 15 jam saya kerjakan ini, mengikuti
> step-step (istilah kerennya 'algoritma manual' bukan?) yg pak MrKid ajarkan
> dan melihat contoh makro pada thread 'Makro Filter Sort Data Tak Unik'.
> Mohon bpk evaluasi apakah mmg caranya sudah benar atau cuma faktor
> kebetulan saja hasilnya benar :)
> Juga mohon direvisi sintaxnya yang masih kurang efisien.
>
> Option Explicit
> Public Sub sisipdata(Optional bvalue As Boolean = False)
> Dim rngdata As Range, rnghasil As Range
> Dim lrecdata As Long, lrechasil As Long
>
> '0. ke VBE (tekan ALT F11) dan buat sebuah module (bonus :: caranya -> ke
> menu Insert -> pilih Module)
>
> 'RangeData
> Set rngdata = Sheet1.Range("b3").CurrentRegion
>
> 'beri nama range untuk data tanpa header
> rngdata.Offset(1).Resize(rngdata.Rows.Count - 1).Name = "myData"
>
> With Sheet2
>
> '1. Hapus hasil yang lama. Pakai delete xlshiftup juga bisa
> .Range("b4").CurrentRegion.Offset(1).Delete xlShiftUp
>
> '2. Copy data dari no sampai nominal1 ke hasil mulai baris pertama
> rngdata.Offset(1).Resize(rngdata.Rows.Count - 1,
> rngdata.Columns.Count - 1).Copy
> .Range("b5").PasteSpecial xlPasteValues
> Application.CutCopyMode = False
>
> '3. hitung jumlah record + header di hasil dan simpan disebuah variabel
> lrecdata = rngdata.Rows.Count - 1
>
> End With
>
> '4. hide kolom nominal1 di data
>
> With Sheet1
> .Columns("D:D").EntireColumn.Hidden = True
>
>
> '5. autofilter data pada kolom nominal2 yang tidak blank ("<>")
> rngdata.AutoFilter Field:=4, Criteria1:="<>"
>
> '6. data yang visible (gunakan specialcells visible) di copy dan paste ke
> hasil dengan offset sebanyak variabel jumlah record (proses 3)
>
> rngdata.Offset(1).Resize(lrecdata).SpecialCells(xlCellTypeVisible).Copy
> Sheet2.Range("b4").Offset(lrecdata + 1).PasteSpecial xlPasteValues
>
> 'hilangkan garis2 copiedrange dan autofilter serta tampilkan
> kembali kolom D
> Application.CutCopyMode = False
> rngdata.AutoFilter
> .Columns("D:D").EntireColumn.Hidden = False
>
> End With
>
> '7. hapus data nama di sheet hasil hanya pada hasil paste terakhir (hasil
> proses 6)
>
> Set rnghasil = Sheet2.Range("b4").CurrentRegion
> lrechasil = rnghasil.Rows.Count - 1
>
> With Sheet2
> .Range("b4").CurrentRegion.Offset(lrecdata + 1,
> 1).Resize(lrechasil - lrecdata, 1).ClearContents
>
> '8. sort hasil berdasar kolom No secara menaik
> rnghasil.CurrentRegion.Sort .Range("b4"), xlAscending,
> Header:=xlYes
>
> '9. hasil yang blank (gunakan specialcells celltypeblank) diisi formula
> style R1C1 berbunyi : "=R[-1]C & ""(*)"""
> rnghasil.Offset(1, 1).Resize(lrechasil,
> 1).SpecialCells(xlCellTypeBlanks).FormulaR1C1 = "=R[-1]C&""(*)"""
>
>
> '10. hasil (seluruh baris ya) di kolom No diberi formulaR1C1 :
> "=n(R[-1]C)+1"
> rnghasil.Offset(1).Resize(lrechasil, 1).FormulaR1C1 =
> "=N(R[-1]C)+1"
>
> '11. kalkulasi sheet hasil
> Sheet2.Calculate
>
> '12. copy paste special values area hasil
> rnghasil.CurrentRegion.Copy
> Sheet2.Range("b4").PasteSpecial xlPasteValues
> Application.CutCopyMode = False
>
> End With
> End Sub
>
> Terima kasih sebelumnya, Wassalam
> Sinurat
> ------------------------------
> *Dari:* Kid Mr. <mr.nmkid@gmail.com>
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Kamis, 6 September 2012 13:00
> *Judul:* Re: [belajar-excel] Makro Sisip Baris
>
> Bagi yang masih bingung caranya, silakan posting dengan judul thread :
> VBA xx. nama prosesnya
> Contoh :
> bingung cara nomor 5, buat thread baru (posting email baru ke milis)
> dengan subject :
> VBA 05. Autofilter data kolom nominal2
>
> Jadi, seluruh proses diharapkan tetap menggunakan data dari Pak Imam dulu,
> supaya sama dan seragam.
> Harapannya bisa mempermudah proses belajar bersama.
>
> Selamat mencoba dan tetap semangat belajar.
>
> Wassalam,
> Kid.
>
> 2012/9/6 Imam Sinurat <sin.ur4t@yahoo.com>
>
> **
>
> Salam Be-Excel..
>
> Mohon dibantu bagaimana kode makro menyisip baris dan mengisi data yang
> sesuai.
>
> Yang diinginkan adalah sbb:
> 1. Semua record Tabel 1. ditampilkan kembali pada Tabel 2., baik Nama
> maupun Nominal1.
> 2. Setiap record yang kolom Nominal2 ada nilainya, maka sisipkan satu
> baris kosong tepat dibawah record tersebut,
> lalu isi nama yang sesuai dibubuhi tanda "(*)", dan Nominal2.
>
> Terima kasih sebelumnya, wassalam
> Imam F. Sinurat
>
>
>
>
>
>
>
>

GROUP FOOTER MESSAGE
---------------------------------------------------------------------
bergabung ke milis (subscribe), kirim mail kosong ke:
belajar-excel-subscribe@yahoogroups.com

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

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

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

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

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

Tidak ada komentar:

Posting Komentar