Minggu, 16 Juni 2013

[belajar-excel] Digest Number 2351

9 New Messages

Digest #2351

Messages

Sat Jun 15, 2013 7:24 am (PDT) . Posted by:

"De Premor"

Ok, ini sudah saya revisi modul makronya biar bisa mengakomodir beberapa
range (saya sudah coba sampai 22 range table) dan tentunya dengan
mengorbankan beberapa persen kecepatan kalkulasi, untuk memindahkannya
tinggal dicopy paste saja yang ada didalam module1 ke file anda.

Rgds,
[dp]

Pada 15/06/2013 18:23, Shenly menulis:
> Terima kasih banyak untuk Mr.kid dan De Premor buat
> solusinya....banyak sekali pertanyaan untuk anda2 ber 2 dari solusi
> yang teleh diberikan...
> tapi pertama saya mau bertanya ke De Premor dulu....solusi yang anda
> berikan bagus tapi ada sedikit pertanyaan.. tambahan
> jika saya ingin memindahkan scrip macro trsb apa bisa hanya dengan
> copy paste ke file saya???
> terus kalo ga salah rang untuk tabelnya yang anda buat dimacron hanya
> untuk 5 rang tabel yah?? sedangkan di file saya untuk rang tabelnya
> ada 10 tabel dan itu pn bisa bertambah
> kira2 kalo saya tambah rang (rDate2 As Range, rDate3 As Range, rDate4
> As Range, rDate5 As Range) sampai ( rDate20 As Range) apa tidak masalah???
>
> soalnya saya soal mencoba memindahkan scrip macro trsbt ke file saya
> dan saya tambah rangnya samapi ( rDate20 As Range) tapi hasilnya malah
> erro...
> mohon penjelasannya kembali ....
>
> terima kasih
> Salam
> Shenly ^^*
>
>
> ----------------------------------------------------------
> *Dari:* De Premor <de@premor.net>
> *Kepada:* belajar-excel@yahoogroups.com
> *Dikirim:* Sabtu, 15 Juni 2013 13:35
> *Judul:* Re: Bls: [belajar-excel] Memsihkan nama yang sama dengan 2
> kategori tanggal?????
>
> Dh,
>
> Improvement untuk percepatan waktu kalkulasi,pada data 999 baris x 5
> tabel dengan penggunaan formula UDF pada 999 Cells
> dikomputer jadoel saya (Core i3-2120, 3.3Ghz) memerlukan waktu 4 menit
> 45 detik, selisih 30 detik'an lebih cepat dari UDF sebelumnya.
> dan kurang dari 2 detik jika diaplikasikan pada source data yang sama,
> untuk penggunaan pada 100'an cells hasil (100 user unik)
> ±3 detik pada 200 cells hasil, ±9 detik pada 300 cells hasil dan terus
> meningkat secara signifikan pada penggunaan UDF yang lebih banyak
>
> Solusi, misal secara total anda punya 200 user pada database user,
> maka cukup gunakan secara bijak UDF nya hanya pada 200 cells saja,
> tidak perlu sampai 1000 Cells diisi formula yang sudah jelas-jelas
> mulai cell ke 201 s/d 1000 tidak akan ada isinya karena kita tau
> didatabase hanya ada 200 user unik saja, karena hanya akan membuang
> waktu dan resource sia-sia.
>
> Demikian disampaikan, terima kasih.
>
> Rgds,
> [dp]
>
> On 14/06/2013 23:35, De Premor wrote:
>> Coba sumbang solusi alternatif dalam bentuk macro UDF
>>
>> Rgds,
>> [dp]
>
>
>
>

Sun Jun 16, 2013 5:09 am (PDT) . Posted by:

"Shenly" shenly_excelmania

Terima kasih pak De Permo....tapi maaf masih ada kendala hehehehehehe....
begini...ketika rangnya saya ganti menggunakan Difinename ko kasilnya kosong yaahh???
mohon penjelasannya kembali hehehe

salam
Shenly ^^*

________________________________
Dari: De Premor <de@premor.net>
Kepada: belajar-excel@yahoogroups.com
Dikirim: Sabtu, 15 Juni 2013 21:56
Judul: Re: Bls: Bls: [belajar-excel] Memsihkan nama yang sama dengan 2 kategori tanggal?????


 
Ok, ini sudah saya revisi modul makronya biar bisa mengakomodir beberapa range (saya sudah coba sampai 22 range table) dan tentunya dengan mengorbankan beberapa persen kecepatan kalkulasi, untuk memindahkannya tinggal dicopy paste saja yang ada didalam module1 ke file anda.

Rgds,
[dp]

Pada 15/06/2013 18:23, Shenly menulis:

 
>Terima kasih banyak untuk Mr.kid dan De Premor buat solusinya....banyak sekali pertanyaan untuk anda2 ber 2 dari solusi yang teleh diberikan...
>tapi pertama saya mau bertanya ke De Premor dulu....solusi
yang anda berikan bagus tapi ada sedikit pertanyaan..
tambahan
>jika saya ingin memindahkan scrip macro trsb apa bisa
hanya dengan copy paste ke file saya???
>terus kalo ga salah rang untuk tabelnya yang anda buat
dimacron hanya untuk 5 rang tabel yah?? sedangkan di file
saya untuk rang tabelnya ada 10 tabel dan itu pn bisa
bertambah
>kira2 kalo saya tambah rang (rDate2 As Range, rDate3 As
Range, rDate4 As Range, rDate5 As Range) sampai ( rDate20
As Range) apa tidak masalah???
>
>soalnya saya soal mencoba memindahkan scrip macro trsbt ke
file saya dan saya tambah rangnya samapi ( rDate20 As
Range) tapi hasilnya malah erro...
>mohon penjelasannya kembali ....
>
>terima kasih
>Salam
>Shenly ^^*
>
>
>
>
>
>
>________________________________
> Dari: De Premor
>Kepada: belajar-excel@yahoogroups.com
>Dikirim: Sabtu, 15 Juni 2013 13:35
>Judul: Re: Bls: [belajar-excel] Memsihkan nama yang sama dengan 2 kategori tanggal?????
>
>
>

>Dh,
>
>Improvement untuk percepatan waktu
kalkulasi,pada data 999 baris x 5 tabel
dengan penggunaan formula UDF pada 999 Cells
>dikomputer jadoel saya (Core i3-2120,
3.3Ghz) memerlukan waktu 4 menit 45 detik,
selisih 30 detik'an lebih cepat dari UDF
sebelumnya.
>dan kurang dari 2 detik jika diaplikasikan
pada source data yang sama, untuk penggunaan
pada 100'an cells hasil (100 user unik)
>±3 detik pada 200 cells hasil, ±9 detik pada
300 cells hasil dan terus meningkat secara
signifikan pada penggunaan UDF yang lebih
banyak
>
>Solusi, misal secara total anda punya 200
user pada database user, maka cukup gunakan
secara bijak UDF nya hanya pada 200 cells
saja, tidak perlu sampai 1000 Cells diisi
formula yang sudah jelas-jelas mulai cell ke
201 s/d 1000 tidak akan ada isinya karena
kita tau didatabase hanya ada 200 user unik
saja, karena hanya akan membuang waktu dan
resource sia-sia.
>
>Demikian disampaikan, terima kasih.
>
>Rgds,
>[dp]
>
>
>On 14/06/2013 23:35, De Premor wrote:
>

>>Coba sumbang solusi alternatif dalam bentuk macro UDF
>>
>>Rgds,
>>[dp]
>
>
>

Sat Jun 15, 2013 7:25 am (PDT) . Posted by:

"Sony Ario"

Assalamualaikum Be Excelers.

Sebelumnya saya ucapkan terima kasih kepada Mr kid atas penjelasan nya di
email saya yang terakhir. Pada akhir nya saya ambil cara pak De Premor.
Hanya beda nya cara saya lebih konvensional saja.. :)

Di email ini kembali lagi saya mohon bantuan kepada teman2 semua. Saya
menghadapi masalah dengan Macro yang saya buat. Macro yang saya buat ini
apabila saya link tombol "Buat Laporan Neraca" (di Module2) dengan Macro
"Buat Laporan Neraca", dan saya klik tombol tersebut, Angka yang dihasilkan
selalu 0 (Nol). Akan tetapi apabila saya jalankan macro tersebut melalui
VBE (F5) angka total nya selalu muncul. Apakah ada yang salah dengan macro
saya ? atau saya telah salah melakukan assign macro dengan cara meng-klik
kanan pada tombol nya ?

Masalah kedua adalah, masih pada macro tersebut, saya menggunakan worksheet
function berupa rumus SUMIFS (Proses "Cetak Neraca" dan "Cetak Rugi
Laba"). Kelihatan nya rumus nya jadi panjang ke kanan ya ? hehe.. adakah
cara nya supaya rumus tersebut bisa lebih ringkas penulisan nya ?.

Terima kasih sebelumnya.

Wassalam
Sony

Sat Jun 15, 2013 8:18 am (PDT) . Posted by:

"De Premor"

Walaikumsalam mas Sony

makronya dan modulnya sudah pas, sudah tepat, sudah bener, hanya kurang
dikit saja kok

Application.WorksheetFunction.SumIfs(*sheet("BukuBesar").*Range("I:I"),
*sheet("BukuBesar").*Range("E:E"), Range("A" & N))

adakah yang janggal ? Ya benar, yang janggal adalah di Input Value
SUMIFS (SUM_RANGE, CRITERIA_RANGE, CRITERIA)
Kalau di jabarkan sbb:
SUM_RANGE = *sheet("BukuBesar").*Range("I:I")
CRITERIA_RANGE = *sheet("BukuBesar").*Range("E:E")
*CRITERIA = **Range("A" & N)*

Kira-kira si excel tau nda sheet mana yang dimaksud oleh si CRITERIA

Selanjutnya,
Untuk memperingkas code bisa digunakan
1. With xxx.....End With
2. Penamaan Sheet

Rgds,
[dp]

Pada 15/06/2013 21:00, Sony Ario menulis:
> Assalamualaikum Be Excelers.
>
> Sebelumnya saya ucapkan terima kasih kepada Mr kid atas penjelasan nya
> di email saya yang terakhir. Pada akhir nya saya ambil cara pak De
> Premor. Hanya beda nya cara saya lebih konvensional saja.. :)
>
> Di email ini kembali lagi saya mohon bantuan kepada teman2 semua. Saya
> menghadapi masalah dengan Macro yang saya buat. Macro yang saya buat
> ini apabila saya link tombol "Buat Laporan Neraca" (di Module2) dengan
> Macro "Buat Laporan Neraca", dan saya klik tombol tersebut, Angka yang
> dihasilkan selalu 0 (Nol). Akan tetapi apabila saya jalankan macro
> tersebut melalui VBE (F5) angka total nya selalu muncul. Apakah ada
> yang salah dengan macro saya ? atau saya telah salah melakukan assign
> macro dengan cara meng-klik kanan pada tombol nya ?
>
> Masalah kedua adalah, masih pada macro tersebut, saya menggunakan
> worksheet function berupa rumus SUMIFS (Proses "Cetak Neraca" dan
> "Cetak Rugi Laba"). Kelihatan nya rumus nya jadi panjang ke kanan ya ?
> hehe.. adakah cara nya supaya rumus tersebut bisa lebih ringkas
> penulisan nya ?.
>
> Terima kasih sebelumnya.
>
> Wassalam
> Sony
>
>
>

Sat Jun 15, 2013 9:27 am (PDT) . Posted by:

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

Wa'alaikumussalam Wr. Wb.

Untuk penggunaan SumIFs di blok For Next Cetak Neraca yang berbunyi :
Application.WorksheetFunction.SumIfs(Sheets("BukuBesar").Range("I:I"),
Sheets("BukuBesar").Range("E:E"), Range("A" & N))

ganti dengan bunyi :
Application.WorksheetFunction.SumIfs(Sheets("BukuBesar").Range("I:I"),
Sheets("BukuBesar").Range("E:E"), *Sheets("Neraca").*Range("A" & N))

Jika ingin mencoba cara lain copy paste dan pasang formula, coba prosedur
berikut :
Public Sub Buat_Laporan_Neraca()
'berdasar formula yang sudah ada di tabel tabel perkiraan,
'sepertinya alur yang dibuat berasumsi bahwa tabel perkiraan selalu
tetap demikian
'dan selalu ter-sort berdasar kolom Keterangan yang memiliki urutan
item pertama selalu TB yang diikuti PL

Dim RecTB As Long 'jumlah item pertama tabel perkiraan, sebagai
penanda lokasi insert baris di tabel neraca

Application.ScreenUpdating = False 'turn off update
screen
Application.Calculation = xlCalculationAutomatic 'pastikan
calculation option automatic

Sheets("Neraca").Columns("a:b").ClearContents 'bersihkan target
(hapus hasil proses yang lalu)
With Sheets("TabelPerkiraan&quot;) 'pada tabel
perkiraan
RecTB = .Range("f2").Value 'simpan
jumlah record item pertama
.Range("a1").CurrentRegion.Resize(, 1).Offset(1, 1).Copy 'copy
kolom B mulai B2
End With 'selesai kerja
dengan tabel perkiraan

With Sheets("Neraca").Range("a1") 'pada tabel neraca
cell A1
.PasteSpecial xlPasteValues 'paste special
values ke kolom A
With .CurrentRegion.Offset(0, 1) 'pada kolom
B-nya
.Formula =
"=SumIf('BukuBesar&#39;!E:E,&#39;Neraca&#39;!A1,&#39;BukuBesar&#39;!I:I)" 'pasang formula
SumIF ambil nilai BukuBesar
.Value =
.Value 'formula
di-values-ken
End With 'selesai kerja
di kolom B-nya
.Offset(RecTB).EntireRow.Insert 'lompat dari A1
sebanyak jumlah item pertama, lalu insert baris
End With 'selesai kerja di
tabel neraca pada cell A1

Application.ScreenUpdating = True 'turn on screen
update
End Sub

Wassalamu'alaikum Wr. Wb.
Kid.

2013/6/15 Sony Ario <sony.ario1@gmail.com>

> **
>
>
> Assalamualaikum Be Excelers.
>
> Sebelumnya saya ucapkan terima kasih kepada Mr kid atas penjelasan nya di
> email saya yang terakhir. Pada akhir nya saya ambil cara pak De Premor.
> Hanya beda nya cara saya lebih konvensional saja.. :)
>
> Di email ini kembali lagi saya mohon bantuan kepada teman2 semua. Saya
> menghadapi masalah dengan Macro yang saya buat. Macro yang saya buat ini
> apabila saya link tombol "Buat Laporan Neraca" (di Module2) dengan Macro
> "Buat Laporan Neraca", dan saya klik tombol tersebut, Angka yang dihasilkan
> selalu 0 (Nol). Akan tetapi apabila saya jalankan macro tersebut melalui
> VBE (F5) angka total nya selalu muncul. Apakah ada yang salah dengan macro
> saya ? atau saya telah salah melakukan assign macro dengan cara meng-klik
> kanan pada tombol nya ?
>
> Masalah kedua adalah, masih pada macro tersebut, saya menggunakan
> worksheet function berupa rumus SUMIFS (Proses "Cetak Neraca" dan "Cetak
> Rugi Laba"). Kelihatan nya rumus nya jadi panjang ke kanan ya ? hehe..
> adakah cara nya supaya rumus tersebut bisa lebih ringkas penulisan nya ?.
>
> Terima kasih sebelumnya.
>
> Wassalam
> Sony
>
>
>
>

Sat Jun 15, 2013 8:02 am (PDT) . Posted by:

"sembaran joko" jokosembaran

Dear Master Excel

Dh,
Mohon bantuan para Master Excel 2007 untuk bisa memberikan pencerahan
kepada saya tentang fungsi pada kolom D5:D16 yang apabila pada kolom E5:E16
saya pilih isianya dengan menggunakan Validasi dari salah satu yang saya
pilih maka kolom D tersebut muncul "Mati" dan jika dalam kondisi tak terisi
pada maka dinyatakan "Hidup.Data terlampir.
Demikian saya sampaikan atas pencerahnnya saya ucapkan terimakasih.

Salam,
Sembaran

--- Mods ---
Mungkin file lampirannya tertinggal.
Silakan penanya me-reply email ini untuk melampirkan file yang dimaksud dan kirim ke alamat email milis di belajar-excel@yahoogroups.com
------------

Sat Jun 15, 2013 10:49 am (PDT) . Posted by:

Dilarang reply thread ini, karena sudah dihapus.

Regards,
Mods

Sat Jun 15, 2013 10:37 am (PDT) . Posted by:

"hendrik karnadi" hendrikkarnadi

Terima kasih Mr. De Pramor atas koreksi logika (saya) yang masih error.

Memang di samping bahasa VB, logika merupakan hal mutlak untuk mempelajari VBA sehingga perlu lebih sering diasah agar lebih tajam.

Mudah2an ini juga bisa menjadi bahan pelajaran buat rekan2 Be-Excel yang kadang2 mentok dalam menggunakan VBA.

Salam,
HK

________________________________
From: De Premor <de@premor.net>
To: belajar-excel@yahoogroups.com
Sent: Saturday, 15 June 2013, 18:28
Subject: Re: Fw: [belajar-excel] Fw: Iseng2 bermain UDF


IsExist dalam function tersebut hanyalan sebuah variable boolean dan bisa diganti dengan variable "JikaAda"
perlu diketahui, jika pada deklarasi Dim IsExist as boolean, IsExist
akan bernilai FALSE pada awalnya

Selanjutnya kepada Looping yang mas Hendrik Buat
kita perhatikan pada statement If IsExist dimana maksudnya adalah Jika Nilai IsExist bernilai benar
sedangkan pada perulangan yang dibuat tidak ada satupun statement
yang menyebutkan untuk mengganti /men-set nilai IsExist menjadi
benar "IsExist = True", maka dari awal sampai akhir perulangan Nilai IsExist selalu bernilai False, jadi memang sudah sekarusnya jika variable Mana tidak pernah dicolek2 sama codenya.

lebih lanjutnya coba dilihat di lampiran

Rgds,
[dp]

Pada 15/06/2013 17:01, hendrik karnadi menulis:

Terima kasih Mr. De Premor atas VB yang singkat dan lugas pada bagian loopingnya.
>Saya coba ganti bagian looping For Next nya menjadi :
>    
>    For Each i In sKata1
>        'IsExist = False
>        For Each j In sKata2
>            If LCase(i) <> LCase(j) Then IsExist = False
>        Next
>        If IsExist Then Mana = Mana & " " & i
>    Next
>
>
>Kelihatannya, secara logika (saya), benar tapi setelah saya coba hasilnya kosong.
>
>
>Pertanyaan saya :
>Apakah If Not IsExist merupakan default (dari sononya) sehingga tidak bisa diganti dengan IsExist saja ?
>
>
>Terima kasih.
>
>
>Salam,
>HK
>---------------------------------------------------------- 
>
>
>Function Mana(Kata1 As String, Kata2 As String) As String
>    Dim sKata1, sKata2, i, j
>    Dim IsExist As Boolean
>    
>    sKata1 = Split(Kata1, " ")
>    sKata2 = Split(Kata2, " ")
>    
>    For Each i In sKata1
>        IsExist = False
>        For Each j In sKata2
>            If LCase(i) = LCase(j) Then IsExist = True
>        Next
>        If Not IsExist Then Mana = Mana & " " & i
>    Next
>End Function
>
>
>
>
>
>
>
>
>----- Forwarded Message -----
>From: De Premor <de@premor.net>
>To: belajar-excel@yahoogroups.com
>Sent: Saturday, 15 June 2013, 13:54
>Subject: Re: [belajar-excel] Fw: Iseng2 bermain UDF
>
>
>
>Saya coba tulis sebuah code yang fungsinya sama seperti dimaksud, semoga bisa jadi bahan referensi
>
>Rgds,
>[dp]
>
>
>On 15/06/2013 13:14, hendrik karnadi wrote:
>

>>Maaf, lampirannya ketinggalan.
>>
>>
>>----- Forwarded Message -----
>>From: hendrik karnadi <hendrikkarnadi@yahoo.com>
>>To: "belajar-excel@yahoogroups.com" <belajar-excel@yahoogroups.com>
>>Sent: Saturday, 15 June 2013, 13:11
>>Subject: Iseng2 bermain UDF
>>
>>
>>
>>Rekan2 Be-Exceler,
>>
>>
>>Untuk mengisi hari libur tidak ada salahnya kita bermain UDF (User Defined Function)
>>Berbekal pertanyaan seorang member milis dari negeri seberang, saya coba utak atik UDF warisan si Mbak yang sudah mendahului kita. 
>>
>>
>>Pertanyaa dari member tsb adalah:
>>Bagaimana membandingkan kata2 yang ada pada kolom A dengan yang ada pada kolom B ?
>>
>>
>>UDF yang sudah saya modifikasi adalah seperti ini :
>>
>>
>>Option Explicit
>>
>>
>>Function IsSimilar(Dat1, Dat2) As Variant
>>   ' coded by: siti Vi / Jakarta, 07 Jun 2011
>>   ' updated by hk 15 juni 2013
>> 
 '-----------------------------------------
>>   
>>   Dim i As Integer, j As Integer
>>   Dim Notsame
>>   Dim ArD1, ArD2
>>   ArD1 = Split(LCase(Dat1), " ")
>>   ArD2 = Split(LCase(Dat2), " ")
>>   For i = LBound(ArD1) To UBound(ArD1)
>>        For j = LBound(ArD2) To UBound(ArD2)
>>            If ArD1(i) = ArD2(j) Then
>>                GoTo 10
>>            Else
>>                Notsame = Notsame & " " & ArD1(i)
>>            End If
>>        j = j + 1
>>        Next j
>>   i = i + 1
>>10 Next i
>>   IsSimilar = Notsame
>>
>>
>>End Function
>>
>>
>>Hasilnya (belum sesuai dengan keinginan) ada dalam file terlampir.
>>
>>
>>Pertanyaan saya adalah bagaimana memperbaiki UDF tsb ?
>>
>>
>>Terima kasih.
>>
>>
>>Salam,
>>HK
>>
>>
>>
>>
>>
>>
>
>--
>
> Deny Premordianto
>________________________________
>ICT Department - Network & Infrastructure Division
>Technical Support Wilayah 4
> 0821-5701-1683 | de@premor.net | 2811084A
>Matematika Hidup adalah mengalikan sukacita, mengurangi kesedihan, menambahkan semangat, membagi kebahagiaan, dan menguadratkan kasih sayang antar sesama
>
>
GROUP FOOTER MESSAGE
=====================================================================
Untuk memudahkan tim penyusun materi Belajar Excel yang lebih sesuai kebutuhan member, silakan ungkapkan permasalahan yang kerap ditemui dalam menggunakan Excel sehari-hari atau hal-hal yang ingin dipelajari dalam jangka dekat ini. Mohon diprioritaskan dari yang sering ditemui sampai yang ingin dipelajari.
Isi sesuai kelompoknya (fitur-fitur, formula-formula tertentu yang masih membingungkan, otomasi atau pemrograman dalam Excel [Macro - VBA], hal lainnya yang membuat Anda kesulitan dalam mempelajari Excel).
Boleh mengisi berulang kali untuk menambah uneg-uneg yang ingin diungkapkan.
Link untuk menuangkan seluruh uneg-uneg tersebut ada di :
http://tech.groups.yahoo.com/group/belajar-excel/database?method=addRecord&tbl=3
=====================================================================
Langkah kecil Anda dalam mengisi database bisa menjadi langkah pertama yang bermanfaat besar untuk kita semua.
=====================================================================

---------------------------------------------------------------------
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