15 Messages
Digest #3638
1h
Re: Bls: [belajar-excel] code Macro tanpa memunculkan formula pada w by "Mr. Kid" nmkid.family@ymail.com
Messages
Wed Nov 11, 2015 2:18 am (PST) . Posted by:
"Toby kenzo" tobykenzo
formulanya di tulis di range E2 sampai E20000 atau di E2 dan E20000...?
kalo E2 sampe E20000 gunakan :
Worksheets("Data").Range("E2:E20000") blabla...
jika ingin menggunakan formula "Vlookup" dalam VBA,gunakan method "Application.WorksheetFunction" jgn lupa buat tablenya di fungsi "Manager Name"
TerimaKasih.
Sent from Yahoo Mail on Android
kalo E2 sampe E20000 gunakan :
Worksheets("
jika ingin menggunakan formula "Vlookup" dalam VBA,gunakan method "Application.
TerimaKasih.
Sent from Yahoo Mail on Android
Wed Nov 11, 2015 2:27 am (PST) . Posted by:
"Hendrik Karnadi" hendrikkarnadi
Coba ganti:
Formula......
dengan
Value = Evaluate ("formulanya")
Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam,
HK
Sent from Samsung Mobile
<div>-------- Original message --------</div><div>From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" <belajar-excel@yahoogroups.com> </div><div>Date:11/11/2015 4:11 PM (GMT+07:00) </div><div>To: belajar-excel@yahoogroups.com </div><div>Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet </div><div>
</div>Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :
Sub NO_HEAT()
Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
End Sub
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
Maaf
Hairul Alam
Wassalamualaikum
Formula......
dengan
Value = Evaluate ("formulanya")
Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam,
HK
Sent from Samsung Mobile
<div>-------- Original message --------</div><div>From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" <belajar-excel@yahoogroups.com> </div><div>Date:11/11/2015 4:11 PM (GMT+07:00) </div><div>To: belajar-excel@yahoogroups.com </div>
</div>
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :
Sub NO_HEAT()
Worksheets("
End Sub
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
Maaf
Hairul Alam
Wassalamualaikum
Wed Nov 11, 2015 2:49 am (PST) . Posted by:
"HAIRUL ALAM"
Terimakasih para Master
Cara ini Sub TRACE_HEAT()Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")End Sub
berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
(E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
Maaf & Terimakasih
Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Coba ganti:Formula......denganValue = Evaluate ("formulanya")Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam, HK
Sent from Samsung Mobile
-------- Original message --------From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" Date:11/11/2015 4:11 PM (GMT+07:00) To: belajar-excel@yahoogroups.com Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"End Sub
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
MaafHairul Alam
Wassalamualaikum #yiv4131011084 #yiv4131011084 -- #yiv4131011084ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv4131011084 #yiv4131011084ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv4131011084 #yiv4131011084ygrp-mkp #yiv4131011084hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv4131011084 #yiv4131011084ygrp-mkp #yiv4131011084ads {margin-bottom:10px;}#yiv4131011084 #yiv4131011084ygrp-mkp .yiv4131011084ad {padding:0 0;}#yiv4131011084 #yiv4131011084ygrp-mkp .yiv4131011084ad p {margin:0;}#yiv4131011084 #yiv4131011084ygrp-mkp .yiv4131011084ad a {color:#0000ff;text-decoration:none;}#yiv4131011084 #yiv4131011084ygrp-sponsor #yiv4131011084ygrp-lc {font-family:Arial;}#yiv4131011084 #yiv4131011084ygrp-sponsor #yiv4131011084ygrp-lc #yiv4131011084hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv4131011084 #yiv4131011084ygrp-sponsor #yiv4131011084ygrp-lc .yiv4131011084ad {margin-bottom:10px;padding:0 0;}#yiv4131011084 #yiv4131011084actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv4131011084 #yiv4131011084activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv4131011084 #yiv4131011084activity span {font-weight:700;}#yiv4131011084 #yiv4131011084activity span:first-child {text-transform:uppercase;}#yiv4131011084 #yiv4131011084activity span a {color:#5085b6;text-decoration:none;}#yiv4131011084 #yiv4131011084activity span span {color:#ff7900;}#yiv4131011084 #yiv4131011084activity span .yiv4131011084underline {text-decoration:underline;}#yiv4131011084 .yiv4131011084attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv4131011084 .yiv4131011084attach div a {text-decoration:none;}#yiv4131011084 .yiv4131011084attach img {border:none;padding-right:5px;}#yiv4131011084 .yiv4131011084attach label {display:block;margin-bottom:5px;}#yiv4131011084 .yiv4131011084attach label a {text-decoration:none;}#yiv4131011084 blockquote {margin:0 0 0 4px;}#yiv4131011084 .yiv4131011084bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv4131011084 .yiv4131011084bold a {text-decoration:none;}#yiv4131011084 dd.yiv4131011084last p a {font-family:Verdana;font-weight:700;}#yiv4131011084 dd.yiv4131011084last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv4131011084 dd.yiv4131011084last p span.yiv4131011084yshortcuts {margin-right:0;}#yiv4131011084 div.yiv4131011084attach-table div div a {text-decoration:none;}#yiv4131011084 div.yiv4131011084attach-table {width:400px;}#yiv4131011084 div.yiv4131011084file-title a, #yiv4131011084 div.yiv4131011084file-title a:active, #yiv4131011084 div.yiv4131011084file-title a:hover, #yiv4131011084 div.yiv4131011084file-title a:visited {text-decoration:none;}#yiv4131011084 div.yiv4131011084photo-title a, #yiv4131011084 div.yiv4131011084photo-title a:active, #yiv4131011084 div.yiv4131011084photo-title a:hover, #yiv4131011084 div.yiv4131011084photo-title a:visited {text-decoration:none;}#yiv4131011084 div#yiv4131011084ygrp-mlmsg #yiv4131011084ygrp-msg p a span.yiv4131011084yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv4131011084 .yiv4131011084green {color:#628c2a;}#yiv4131011084 .yiv4131011084MsoNormal {margin:0 0 0 0;}#yiv4131011084 o {font-size:0;}#yiv4131011084 #yiv4131011084photos div {float:left;width:72px;}#yiv4131011084 #yiv4131011084photos div div {border:1px solid #666666;height:62px;overflow:hidden;width:62px;}#yiv4131011084 #yiv4131011084photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv4131011084 #yiv4131011084reco-category {font-size:77%;}#yiv4131011084 #yiv4131011084reco-desc {font-size:77%;}#yiv4131011084 .yiv4131011084replbq {margin:4px;}#yiv4131011084 #yiv4131011084ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv4131011084 #yiv4131011084ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv4131011084 #yiv4131011084ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv4131011084 #yiv4131011084ygrp-mlmsg select, #yiv4131011084 input, #yiv4131011084 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv4131011084 #yiv4131011084ygrp-mlmsg pre, #yiv4131011084 code {font:115% monospace;}#yiv4131011084 #yiv4131011084ygrp-mlmsg * {line-height:1.22em;}#yiv4131011084 #yiv4131011084ygrp-mlmsg #yiv4131011084logo {padding-bottom:10px;}#yiv4131011084 #yiv4131011084ygrp-msg p a {font-family:Verdana;}#yiv4131011084 #yiv4131011084ygrp-msg p#yiv4131011084attach-count span {color:#1E66AE;font-weight:700;}#yiv4131011084 #yiv4131011084ygrp-reco #yiv4131011084reco-head {color:#ff7900;font-weight:700;}#yiv4131011084 #yiv4131011084ygrp-reco {margin-bottom:20px;padding:0px;}#yiv4131011084 #yiv4131011084ygrp-sponsor #yiv4131011084ov li a {font-size:130%;text-decoration:none;}#yiv4131011084 #yiv4131011084ygrp-sponsor #yiv4131011084ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv4131011084 #yiv4131011084ygrp-sponsor #yiv4131011084ov ul {margin:0;padding:0 0 0 8px;}#yiv4131011084 #yiv4131011084ygrp-text {font-family:Georgia;}#yiv4131011084 #yiv4131011084ygrp-text p {margin:0 0 1em 0;}#yiv4131011084 #yiv4131011084ygrp-text tt {font-size:120%;}#yiv4131011084 #yiv4131011084ygrp-vital ul li:last-child {border-right:none !important;}#yiv4131011084
Cara ini Sub TRACE_HEAT()Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")End Sub
berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
(E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
Maaf & Terimakasih
Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Coba ganti:Formula......denganValue = Evaluate ("formulanya")Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam, HK
Sent from Samsung Mobile
-------- Original message --------From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" Date:11/11/2015 4:11 PM (GMT+07:00) To: belajar-excel@yahoogroups.com Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
MaafHairul Alam
Wassalamualaikum #yiv4131011084 #yiv4131011084 -- #yiv4131011084ygrp-
Wed Nov 11, 2015 4:08 am (PST) . Posted by:
"Toby kenzo" tobykenzo
Dear Hairul,
Pada dasarnya semua bisa di lakuakan oleh VBA , namun alangkah bijak jika formula yg sudah tercover oleh Excel biarlah dilakukan oleh fungsi2 excel itu sendiri, VBA, hanya mengtrigger apa yg kita inginkan saja.
Coba bisa di bayangka jika VBA harus bekerja menghitung setiap formula yg anda buat(sampai 19998 cell)...
Ya itu hanya masukan saja sih..
TerimaKasih.
Sent from Yahoo Mail on Android
Pada dasarnya semua bisa di lakuakan oleh VBA , namun alangkah bijak jika formula yg sudah tercover oleh Excel biarlah dilakukan oleh fungsi2 excel itu sendiri, VBA, hanya mengtrigger apa yg kita inginkan saja.
Coba bisa di bayangka jika VBA harus bekerja menghitung setiap formula yg anda buat(sampai 19998 cell)...
Ya itu hanya masukan saja sih..
TerimaKasih.
Sent from Yahoo Mail on Android
Wed Nov 11, 2015 4:37 am (PST) . Posted by:
"Mr. Kid" nmkid.family@ymail.com
Wa'alaikumussalam wr wb
Hai Hairul,
Coba tambahkan proses untuk mem-values hasil formula. Bisa berupa copy
paste values atau set value dengan value yang ada.
Contoh : formula berisi fungsi vLookUp dan IFError yang berbunyi :
=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"")
akan dipasang pada area range : e2:e20000 di sheet bernama 'data'
'paksa kalkulasi excel automatic bila tidak mengurangi kecepatan proses
'application.screenupdating=false 'jika proses terasa melambat
karena refresh layar, aktifkan baris ini
application.calculation=xlCalculationAutomatic 'jika prosesnya
melambat, ganti dengan manual xlcalculationmanual
'pasang formula
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),
"""")"
'cara merujuk range di atas bisa juga menggunakan range("e2" ,
"e20000" )
'sheets("data").calculate 'jika calculation di set manual,
aktifkan baris ini agar formula di kalkulasi excel
'proses mem-values formula di dalam cells
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
'tidak pakai Selection karena tidak ada cells yang di-select
selama proses ini
'bisa juga dengan proses copy lalu paste values dengan kode
berikut : (aktifkan bila akan digunakan)
'sheets("data").range("e2:e20000").copy 'proses copy
'sheets("data").range("e2:e20000").pastespecial xlpastevalues
'bisa pilih opsi lain, seperti values n number format, dsb
'kalau pakai proses copas, kosongkan clipboard dengan :
'application.cutcopymode=false
'kalau calculation di atas sana di set manual, set automatic disini
'application.calculation=xlCalculationAutomatic
'kalau screenupdating diaktifkan untuk diset false di atas sana, maka
kembalikan lagi ke true
'application.screenupdating=true
'selesai
Andai diperhatikan dengan lebih seksama, bagian 2 baris ini :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),
"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa dinaikkan sedikit performanya dengan memanfaatkan blok with. Syntax
with :
with objectnya
'pemanfaatan object disini
end with
untuk contoh baris di atas :
with sheets("data").range("e2:e20000")
.formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
.value=.value
end with
jadi lebih simpel dan meningkat dikit performanya.
Kalau proses pemasangan nilai hasil vlookup dengan methods Evaluate, maka
harus diperintah satu per satu langsung dari VBA alias tidak bisa langsung
banyak cells.
Pemasangan formula di atas juga dilakukan satu per satu, tetapi dilakukan
oleh runtime di dalamnya si Excel dan bukan oleh si script VBA buatan user,
sehingga terkesan lebih cepat.
Pasang pakai evaluate dilakukan dengan loop.
dim lRow as long
for lRow=2 to 20000
sheets("data").cells(lrow,"e").value=evaluate("=IFERROR(VLOOKUP(D" &
lrow & ",PIPE!$B$3:$L$20000,2,FALSE),"""")")
next lrow
Jika akan memanfaatkan methods worksheetfunction alias sarana untuk
memanfaatkan fungsi-fungsi bawaan Excel dari VBA, maka bagian kode di atas
sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),
"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diganti dengan :
sheets("data").range("e2:e20000").value = _
application.worksheetfunction.iferror( _
application.worksheetfunction.vlookup(
sheets("data").range("d2:d20000") _
, sheets("pipe").range("b3:L20000") _
, 2 , 0 ) _
, vbnullstring )
Jika akan memanfaatkan array formula, baris kode yang di atas sana yang
berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),
"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diubah menjadi :
sheets("data").range("e2:e20000").formulaarray="=IFERROR(VLOOKUP(
D2:d20000,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
Kira-kiranya begitu...
Wassalamu'alaikum wr wb
Kid
On Wed, Nov 11, 2015 at 5:44 PM, HAIRUL ALAM ha_mj76@yahoo.co.id
[belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
>
> Terimakasih para Master
>
> Cara ini
> Sub TRACE_HEAT()
> Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!
> $B$3:$L$5,2,FALSE),"""")")
> End Sub
>
> berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya
> banyak misal yang saya beri warna kuning agar seperti range
>
> (E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
>
> Maaf & Terimakasih
>
>
>
> Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi
> hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com>
> menulis:
>
>
>
> Coba ganti:
> Formula......
> dengan
> Value = Evaluate ("formulanya")
> Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
>
> Salam,
> HK
>
> Sent from Samsung Mobile
>
>
> -------- Original message --------
> From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]"
> Date:11/11/2015 4:11 PM (GMT+07:00)
> To: belajar-excel@yahoogroups.com
> Subject: [belajar-excel] code Macro tanpa memunculkan formula pada
> worksheet
>
>
> Assalamualaikum
>
> Yth. Para Master
>
> Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang
> saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA
> sebagai berikut :
> Sub NO_HEAT()
> Worksheets("DATA").Range("E2", "E20000").Formula =
> "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> End Sub
>
> bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari
> perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell
> worksheet
>
> Terimakasih Banyak
>
> Maaf
> Hairul Alam
>
> Wassalamualaikum
>
>
>
>
Hai Hairul,
Coba tambahkan proses untuk mem-values hasil formula. Bisa berupa copy
paste values atau set value dengan value yang ada.
Contoh : formula berisi fungsi vLookUp dan IFError yang berbunyi :
=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"")
akan dipasang pada area range : e2:e20000 di sheet bernama 'data'
'paksa kalkulasi excel automatic bila tidak mengurangi kecepatan proses
'application.screenupdating=false 'jika proses terasa melambat
karena refresh layar, aktifkan baris ini
application.calculation=xlCalculationAutomatic 'jika prosesnya
melambat, ganti dengan manual xlcalculationmanual
'pasang formula
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),
"""")"
'cara merujuk range di atas bisa juga menggunakan range("e2" ,
"e20000" )
'sheets("data").calculate 'jika calculation di set manual,
aktifkan baris ini agar formula di kalkulasi excel
'proses mem-values formula di dalam cells
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
'tidak pakai Selection karena tidak ada cells yang di-select
selama proses ini
'bisa juga dengan proses copy lalu paste values dengan kode
berikut : (aktifkan bila akan digunakan)
'sheets("data").range("e2:e20000").copy 'proses copy
'sheets("data").range("e2:e20000").pastespecial xlpastevalues
'bisa pilih opsi lain, seperti values n number format, dsb
'kalau pakai proses copas, kosongkan clipboard dengan :
'application.cutcopymode=false
'kalau calculation di atas sana di set manual, set automatic disini
'application.calculation=xlCalculationAutomatic
'kalau screenupdating diaktifkan untuk diset false di atas sana, maka
kembalikan lagi ke true
'application.screenupdating=true
'selesai
Andai diperhatikan dengan lebih seksama, bagian 2 baris ini :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),
"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa dinaikkan sedikit performanya dengan memanfaatkan blok with. Syntax
with :
with objectnya
'pemanfaatan object disini
end with
untuk contoh baris di atas :
with sheets("data").range("e2:e20000")
.formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
.value=.value
end with
jadi lebih simpel dan meningkat dikit performanya.
Kalau proses pemasangan nilai hasil vlookup dengan methods Evaluate, maka
harus diperintah satu per satu langsung dari VBA alias tidak bisa langsung
banyak cells.
Pemasangan formula di atas juga dilakukan satu per satu, tetapi dilakukan
oleh runtime di dalamnya si Excel dan bukan oleh si script VBA buatan user,
sehingga terkesan lebih cepat.
Pasang pakai evaluate dilakukan dengan loop.
dim lRow as long
for lRow=2 to 20000
sheets("data").cells(lrow,"e").value=evaluate("=IFERROR(VLOOKUP(D" &
lrow & ",PIPE!$B$3:$L$20000,2,FALSE),"""")")
next lrow
Jika akan memanfaatkan methods worksheetfunction alias sarana untuk
memanfaatkan fungsi-fungsi bawaan Excel dari VBA, maka bagian kode di atas
sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),
"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diganti dengan :
sheets("data").range("e2:e20000").value = _
application.worksheetfunction.iferror( _
application.worksheetfunction.vlookup(
sheets("data").range("d2:d20000") _
, sheets("pipe").range("b3:L20000") _
, 2 , 0 ) _
, vbnullstring )
Jika akan memanfaatkan array formula, baris kode yang di atas sana yang
berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),
"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diubah menjadi :
sheets("data").range("e2:e20000").formulaarray="=IFERROR(VLOOKUP(
D2:d20000,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
Kira-kiranya begitu...
Wassalamu'alaikum wr wb
Kid
On Wed, Nov 11, 2015 at 5:44 PM, HAIRUL ALAM ha_mj76@yahoo.co.id
[belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
>
> Terimakasih para Master
>
> Cara ini
> Sub TRACE_HEAT()
> Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!
> $B$3:$L$5,2,FALSE),"""")")
> End Sub
>
> berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya
> banyak misal yang saya beri warna kuning agar seperti range
>
> (E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
>
> Maaf & Terimakasih
>
>
>
> Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi
> hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com>
> menulis:
>
>
>
> Coba ganti:
> Formula......
> dengan
> Value = Evaluate ("formulanya")
> Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
>
> Salam,
> HK
>
> Sent from Samsung Mobile
>
>
> -------- Original message --------
> From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]"
> Date:11/11/2015 4:11 PM (GMT+07:00)
> To: belajar-excel@yahoogroups.com
> Subject: [belajar-excel] code Macro tanpa memunculkan formula pada
> worksheet
>
>
> Assalamualaikum
>
> Yth. Para Master
>
> Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang
> saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA
> sebagai berikut :
> Sub NO_HEAT()
> Worksheets("
> "=IFERROR(
> End Sub
>
> bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari
> perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell
> worksheet
>
> Terimakasih Banyak
>
> Maaf
> Hairul Alam
>
> Wassalamualaikum
>
>
>
>
Wed Nov 11, 2015 4:39 am (PST) . Posted by:
"HAIRUL ALAM"
Terimakasih banyak informasinya
Master
Salam
Pada Rabu, 11 November 2015 19:08, "Toby kenzo tobykenzo@yahoo.co.id [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
| Dear Hairul,Pada dasarnya semua bisa di lakuakan oleh VBA , namun alangkah bijak jika formula yg sudah tercover oleh Excel biarlah dilakukan oleh fungsi2 excel itu sendiri, VBA, hanya mengtrigger apa yg kita inginkan saja.
Coba bisa di bayangka jika VBA harus bekerja menghitung setiap formula yg anda buat(sampai 19998 cell)...
Ya itu hanya masukan saja sih..TerimaKasih.
Sent from Yahoo Mail on Android |
From: HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com>;
To: <belajar-excel@yahoogroups.com>;
Subject: Bls: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Sent: Wed, Nov 11, 2015 10:44:07 AM
| Terimakasih para Master
Cara ini Sub TRACE_HEAT()Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")End Sub
berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
(E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
Maaf & Terimakasih
Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Coba ganti:Formula......denganValue = Evaluate ("formulanya")Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam, HK
Sent from Samsung Mobile
-------- Original message --------From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" Date:11/11/2015 4:11 PM (GMT+07:00) To: belajar-excel@yahoogroups.com Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"End Sub
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
MaafHairul Alam
Wassalamualaikum
|
#yiv4021240757 #yiv4021240757 -- #yiv4021240757ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv4021240757 #yiv4021240757ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv4021240757 #yiv4021240757ygrp-mkp #yiv4021240757hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv4021240757 #yiv4021240757ygrp-mkp #yiv4021240757ads {margin-bottom:10px;}#yiv4021240757 #yiv4021240757ygrp-mkp .yiv4021240757ad {padding:0 0;}#yiv4021240757 #yiv4021240757ygrp-mkp .yiv4021240757ad p {margin:0;}#yiv4021240757 #yiv4021240757ygrp-mkp .yiv4021240757ad a {color:#0000ff;text-decoration:none;}#yiv4021240757 #yiv4021240757ygrp-sponsor #yiv4021240757ygrp-lc {font-family:Arial;}#yiv4021240757 #yiv4021240757ygrp-sponsor #yiv4021240757ygrp-lc #yiv4021240757hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv4021240757 #yiv4021240757ygrp-sponsor #yiv4021240757ygrp-lc .yiv4021240757ad {margin-bottom:10px;padding:0 0;}#yiv4021240757 #yiv4021240757actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv4021240757 #yiv4021240757activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv4021240757 #yiv4021240757activity span {font-weight:700;}#yiv4021240757 #yiv4021240757activity span:first-child {text-transform:uppercase;}#yiv4021240757 #yiv4021240757activity span a {color:#5085b6;text-decoration:none;}#yiv4021240757 #yiv4021240757activity span span {color:#ff7900;}#yiv4021240757 #yiv4021240757activity span .yiv4021240757underline {text-decoration:underline;}#yiv4021240757 .yiv4021240757attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv4021240757 .yiv4021240757attach div a {text-decoration:none;}#yiv4021240757 .yiv4021240757attach img {border:none;padding-right:5px;}#yiv4021240757 .yiv4021240757attach label {display:block;margin-bottom:5px;}#yiv4021240757 .yiv4021240757attach label a {text-decoration:none;}#yiv4021240757 blockquote {margin:0 0 0 4px;}#yiv4021240757 .yiv4021240757bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv4021240757 .yiv4021240757bold a {text-decoration:none;}#yiv4021240757 dd.yiv4021240757last p a {font-family:Verdana;font-weight:700;}#yiv4021240757 dd.yiv4021240757last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv4021240757 dd.yiv4021240757last p span.yiv4021240757yshortcuts {margin-right:0;}#yiv4021240757 div.yiv4021240757attach-table div div a {text-decoration:none;}#yiv4021240757 div.yiv4021240757attach-table {width:400px;}#yiv4021240757 div.yiv4021240757file-title a, #yiv4021240757 div.yiv4021240757file-title a:active, #yiv4021240757 div.yiv4021240757file-title a:hover, #yiv4021240757 div.yiv4021240757file-title a:visited {text-decoration:none;}#yiv4021240757 div.yiv4021240757photo-title a, #yiv4021240757 div.yiv4021240757photo-title a:active, #yiv4021240757 div.yiv4021240757photo-title a:hover, #yiv4021240757 div.yiv4021240757photo-title a:visited {text-decoration:none;}#yiv4021240757 div#yiv4021240757ygrp-mlmsg #yiv4021240757ygrp-msg p a span.yiv4021240757yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv4021240757 .yiv4021240757green {color:#628c2a;}#yiv4021240757 .yiv4021240757MsoNormal {margin:0 0 0 0;}#yiv4021240757 o {font-size:0;}#yiv4021240757 #yiv4021240757photos div {float:left;width:72px;}#yiv4021240757 #yiv4021240757photos div div {border:1px solid #666666;height:62px;overflow:hidden;width:62px;}#yiv4021240757 #yiv4021240757photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv4021240757 #yiv4021240757reco-category {font-size:77%;}#yiv4021240757 #yiv4021240757reco-desc {font-size:77%;}#yiv4021240757 .yiv4021240757replbq {margin:4px;}#yiv4021240757 #yiv4021240757ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv4021240757 #yiv4021240757ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv4021240757 #yiv4021240757ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv4021240757 #yiv4021240757ygrp-mlmsg select, #yiv4021240757 input, #yiv4021240757 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv4021240757 #yiv4021240757ygrp-mlmsg pre, #yiv4021240757 code {font:115% monospace;}#yiv4021240757 #yiv4021240757ygrp-mlmsg * {line-height:1.22em;}#yiv4021240757 #yiv4021240757ygrp-mlmsg #yiv4021240757logo {padding-bottom:10px;}#yiv4021240757 #yiv4021240757ygrp-msg p a {font-family:Verdana;}#yiv4021240757 #yiv4021240757ygrp-msg p#yiv4021240757attach-count span {color:#1E66AE;font-weight:700;}#yiv4021240757 #yiv4021240757ygrp-reco #yiv4021240757reco-head {color:#ff7900;font-weight:700;}#yiv4021240757 #yiv4021240757ygrp-reco {margin-bottom:20px;padding:0px;}#yiv4021240757 #yiv4021240757ygrp-sponsor #yiv4021240757ov li a {font-size:130%;text-decoration:none;}#yiv4021240757 #yiv4021240757ygrp-sponsor #yiv4021240757ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv4021240757 #yiv4021240757ygrp-sponsor #yiv4021240757ov ul {margin:0;padding:0 0 0 8px;}#yiv4021240757 #yiv4021240757ygrp-text {font-family:Georgia;}#yiv4021240757 #yiv4021240757ygrp-text p {margin:0 0 1em 0;}#yiv4021240757 #yiv4021240757ygrp-text tt {font-size:120%;}#yiv4021240757 #yiv4021240757ygrp-vital ul li:last-child {border-right:none !important;}#yiv4021240757
Master
Salam
Pada Rabu, 11 November 2015 19:08, "Toby kenzo tobykenzo@yahoo.co.id [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
| Dear Hairul,Pada dasarnya semua bisa di lakuakan oleh VBA , namun alangkah bijak jika formula yg sudah tercover oleh Excel biarlah dilakukan oleh fungsi2 excel itu sendiri, VBA, hanya mengtrigger apa yg kita inginkan saja.
Coba bisa di bayangka jika VBA harus bekerja menghitung setiap formula yg anda buat(sampai 19998 cell)...
Ya itu hanya masukan saja sih..TerimaKasih.
Sent from Yahoo Mail on Android |
From: HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com>;
To: <belajar-excel@yahoogroups.com>;
Subject: Bls: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Sent: Wed, Nov 11, 2015 10:44:07 AM
| Terimakasih para Master
Cara ini Sub TRACE_HEAT()Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")End Sub
berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
(E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
Maaf & Terimakasih
Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Coba ganti:Formula......denganValue = Evaluate ("formulanya")Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam, HK
Sent from Samsung Mobile
-------- Original message --------From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" Date:11/11/2015 4:11 PM (GMT+07:00) To: belajar-excel@yahoogroups.com Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
MaafHairul Alam
Wassalamualaikum
|
#yiv4021240757 #yiv4021240757 -- #yiv4021240757ygrp-
Wed Nov 11, 2015 5:07 am (PST) . Posted by:
"HAIRUL ALAM"
Assalamualaikum
Pak Kid
Terimakasih Banyak Penjelasannya
Sangat lengkap dan membantu sekali dalam pembelajaran excel sayaTanya lagi Pak, sebenarnya penggunaan VBA yang sesuai fungsinya selain untuk memasukkan formula dan databaseagar VBA difungsikan sesuai dengan kegunaannya cocoknya apa ya Pak
Maaf dan Terimakasih
Wassalamualaikum
Pada Rabu, 11 November 2015 19:36, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Wa'alaikumussalam wr wb
Hai Hairul,
Coba tambahkan proses untuk mem-values hasil formula. Bisa berupa copy paste values atau set value dengan value yang ada.
Contoh : formula berisi fungsi vLookUp dan IFError yang berbunyi :
=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"")
akan dipasang pada area range : e2:e20000 di sheet bernama 'data'
'paksa kalkulasi excel automatic bila tidak mengurangi kecepatan proses
'application.screenupdating=false 'jika proses terasa melambat karena refresh layar, aktifkan baris ini
application.calculation=xlCalculationAutomatic 'jika prosesnya melambat, ganti dengan manual xlcalculationmanual
'pasang formula
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
'cara merujuk range di atas bisa juga menggunakan range("e2" , "e20000" )
'sheets("data").calculate 'jika calculation di set manual, aktifkan baris ini agar formula di kalkulasi excel
'proses mem-values formula di dalam cells
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
'tidak pakai Selection karena tidak ada cells yang di-select selama proses ini
'bisa juga dengan proses copy lalu paste values dengan kode berikut : (aktifkan bila akan digunakan)
'sheets("data").range("e2:e20000").copy 'proses copy
'sheets("data").range("e2:e20000").pastespecial xlpastevalues 'bisa pilih opsi lain, seperti values n number format, dsb
'kalau pakai proses copas, kosongkan clipboard dengan :
'application.cutcopymode=false
'kalau calculation di atas sana di set manual, set automatic disini
'application.calculation=xlCalculationAutomatic
'kalau screenupdating diaktifkan untuk diset false di atas sana, maka kembalikan lagi ke true
'application.screenupdating=true
'selesai
Andai diperhatikan dengan lebih seksama, bagian 2 baris ini :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa dinaikkan sedikit performanya dengan memanfaatkan blok with. Syntax with :
with objectnya
'pemanfaatan object disini
end with
untuk contoh baris di atas :
with sheets("data").range("e2:e20000") .formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
.value=.value
end with
jadi lebih simpel dan meningkat dikit performanya.
Kalau proses pemasangan nilai hasil vlookup dengan methods Evaluate, maka harus diperintah satu per satu langsung dari VBA alias tidak bisa langsung banyak cells.
Pemasangan formula di atas juga dilakukan satu per satu, tetapi dilakukan oleh runtime di dalamnya si Excel dan bukan oleh si script VBA buatan user, sehingga terkesan lebih cepat.
Pasang pakai evaluate dilakukan dengan loop.
dim lRow as long
for lRow=2 to 20000
sheets("data").cells(lrow,"e").value=evaluate("=IFERROR(VLOOKUP(D" & lrow & ",PIPE!$B$3:$L$20000,2,FALSE),"""")") next lrow
Jika akan memanfaatkan methods worksheetfunction alias sarana untuk memanfaatkan fungsi-fungsi bawaan Excel dari VBA, maka bagian kode di atas sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diganti dengan :
sheets("data").range("e2:e20000").value = _
application.worksheetfunction.iferror( _
application.worksheetfunction.vlookup( sheets("data").range("d2:d20000") _
, sheets("pipe").range("b3:L20000") _
, 2 , 0 ) _
, vbnullstring )
Jika akan memanfaatkan array formula, baris kode yang di atas sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diubah menjadi :
sheets("data").range("e2:e20000").formulaarray="=IFERROR(VLOOKUP(D2:d20000,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
Kira-kiranya begitu...
Wassalamu'alaikum wr wb
Kid
On Wed, Nov 11, 2015 at 5:44 PM, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
Terimakasih para Master
Cara ini Sub TRACE_HEAT()Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")End Sub
berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
(E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
Maaf & Terimakasih
Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Coba ganti:Formula......denganValue = Evaluate ("formulanya")Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam, HK
Sent from Samsung Mobile
-------- Original message --------From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" Date:11/11/2015 4:11 PM (GMT+07:00) To: belajar-excel@yahoogroups.com Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"End Sub
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
MaafHairul Alam
Wassalamualaikum
#yiv2861652113 #yiv2861652113 -- #yiv2861652113ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv2861652113 #yiv2861652113ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv2861652113 #yiv2861652113ygrp-mkp #yiv2861652113hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv2861652113 #yiv2861652113ygrp-mkp #yiv2861652113ads {margin-bottom:10px;}#yiv2861652113 #yiv2861652113ygrp-mkp .yiv2861652113ad {padding:0 0;}#yiv2861652113 #yiv2861652113ygrp-mkp .yiv2861652113ad p {margin:0;}#yiv2861652113 #yiv2861652113ygrp-mkp .yiv2861652113ad a {color:#0000ff;text-decoration:none;}#yiv2861652113 #yiv2861652113ygrp-sponsor #yiv2861652113ygrp-lc {font-family:Arial;}#yiv2861652113 #yiv2861652113ygrp-sponsor #yiv2861652113ygrp-lc #yiv2861652113hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv2861652113 #yiv2861652113ygrp-sponsor #yiv2861652113ygrp-lc .yiv2861652113ad {margin-bottom:10px;padding:0 0;}#yiv2861652113 #yiv2861652113actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv2861652113 #yiv2861652113activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv2861652113 #yiv2861652113activity span {font-weight:700;}#yiv2861652113 #yiv2861652113activity span:first-child {text-transform:uppercase;}#yiv2861652113 #yiv2861652113activity span a {color:#5085b6;text-decoration:none;}#yiv2861652113 #yiv2861652113activity span span {color:#ff7900;}#yiv2861652113 #yiv2861652113activity span .yiv2861652113underline {text-decoration:underline;}#yiv2861652113 .yiv2861652113attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv2861652113 .yiv2861652113attach div a {text-decoration:none;}#yiv2861652113 .yiv2861652113attach img {border:none;padding-right:5px;}#yiv2861652113 .yiv2861652113attach label {display:block;margin-bottom:5px;}#yiv2861652113 .yiv2861652113attach label a {text-decoration:none;}#yiv2861652113 blockquote {margin:0 0 0 4px;}#yiv2861652113 .yiv2861652113bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv2861652113 .yiv2861652113bold a {text-decoration:none;}#yiv2861652113 dd.yiv2861652113last p a {font-family:Verdana;font-weight:700;}#yiv2861652113 dd.yiv2861652113last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv2861652113 dd.yiv2861652113last p span.yiv2861652113yshortcuts {margin-right:0;}#yiv2861652113 div.yiv2861652113attach-table div div a {text-decoration:none;}#yiv2861652113 div.yiv2861652113attach-table {width:400px;}#yiv2861652113 div.yiv2861652113file-title a, #yiv2861652113 div.yiv2861652113file-title a:active, #yiv2861652113 div.yiv2861652113file-title a:hover, #yiv2861652113 div.yiv2861652113file-title a:visited {text-decoration:none;}#yiv2861652113 div.yiv2861652113photo-title a, #yiv2861652113 div.yiv2861652113photo-title a:active, #yiv2861652113 div.yiv2861652113photo-title a:hover, #yiv2861652113 div.yiv2861652113photo-title a:visited {text-decoration:none;}#yiv2861652113 div#yiv2861652113ygrp-mlmsg #yiv2861652113ygrp-msg p a span.yiv2861652113yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv2861652113 .yiv2861652113green {color:#628c2a;}#yiv2861652113 .yiv2861652113MsoNormal {margin:0 0 0 0;}#yiv2861652113 o {font-size:0;}#yiv2861652113 #yiv2861652113photos div {float:left;width:72px;}#yiv2861652113 #yiv2861652113photos div div {border:1px solid #666666;height:62px;overflow:hidden;width:62px;}#yiv2861652113 #yiv2861652113photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv2861652113 #yiv2861652113reco-category {font-size:77%;}#yiv2861652113 #yiv2861652113reco-desc {font-size:77%;}#yiv2861652113 .yiv2861652113replbq {margin:4px;}#yiv2861652113 #yiv2861652113ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv2861652113 #yiv2861652113ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv2861652113 #yiv2861652113ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv2861652113 #yiv2861652113ygrp-mlmsg select, #yiv2861652113 input, #yiv2861652113 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv2861652113 #yiv2861652113ygrp-mlmsg pre, #yiv2861652113 code {font:115% monospace;}#yiv2861652113 #yiv2861652113ygrp-mlmsg * {line-height:1.22em;}#yiv2861652113 #yiv2861652113ygrp-mlmsg #yiv2861652113logo {padding-bottom:10px;}#yiv2861652113 #yiv2861652113ygrp-msg p a {font-family:Verdana;}#yiv2861652113 #yiv2861652113ygrp-msg p#yiv2861652113attach-count span {color:#1E66AE;font-weight:700;}#yiv2861652113 #yiv2861652113ygrp-reco #yiv2861652113reco-head {color:#ff7900;font-weight:700;}#yiv2861652113 #yiv2861652113ygrp-reco {margin-bottom:20px;padding:0px;}#yiv2861652113 #yiv2861652113ygrp-sponsor #yiv2861652113ov li a {font-size:130%;text-decoration:none;}#yiv2861652113 #yiv2861652113ygrp-sponsor #yiv2861652113ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv2861652113 #yiv2861652113ygrp-sponsor #yiv2861652113ov ul {margin:0;padding:0 0 0 8px;}#yiv2861652113 #yiv2861652113ygrp-text {font-family:Georgia;}#yiv2861652113 #yiv2861652113ygrp-text p {margin:0 0 1em 0;}#yiv2861652113 #yiv2861652113ygrp-text tt {font-size:120%;}#yiv2861652113 #yiv2861652113ygrp-vital ul li:last-child {border-right:none !important;}#yiv2861652113
Pak Kid
Terimakasih Banyak Penjelasannya
Sangat lengkap dan membantu sekali dalam pembelajaran excel sayaTanya lagi Pak, sebenarnya penggunaan VBA yang sesuai fungsinya selain untuk memasukkan formula dan databaseagar VBA difungsikan sesuai dengan kegunaannya cocoknya apa ya Pak
Maaf dan Terimakasih
Wassalamualaikum
Pada Rabu, 11 November 2015 19:36, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Wa'alaikumussalam wr wb
Hai Hairul,
Coba tambahkan proses untuk mem-values hasil formula. Bisa berupa copy paste values atau set value dengan value yang ada.
Contoh : formula berisi fungsi vLookUp dan IFError yang berbunyi :
=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"")
akan dipasang pada area range : e2:e20000 di sheet bernama 'data'
'paksa kalkulasi excel automatic bila tidak mengurangi kecepatan proses
'application.screenupdating=false 'jika proses terasa melambat karena refresh layar, aktifkan baris ini
application.calculation=xlCalculationAutomatic 'jika prosesnya melambat, ganti dengan manual xlcalculationmanual
'pasang formula
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
'cara merujuk range di atas bisa juga menggunakan range("e2" , "e20000" )
'sheets("data").calculate 'jika calculation di set manual, aktifkan baris ini agar formula di kalkulasi excel
'proses mem-values formula di dalam cells
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
'tidak pakai Selection karena tidak ada cells yang di-select selama proses ini
'bisa juga dengan proses copy lalu paste values dengan kode berikut : (aktifkan bila akan digunakan)
'sheets("data").range("e2:e20000").copy 'proses copy
'sheets("data").range("e2:e20000").pastespecial xlpastevalues 'bisa pilih opsi lain, seperti values n number format, dsb
'kalau pakai proses copas, kosongkan clipboard dengan :
'application.cutcopymode=false
'kalau calculation di atas sana di set manual, set automatic disini
'application.calculation=xlCalculationAutomatic
'kalau screenupdating diaktifkan untuk diset false di atas sana, maka kembalikan lagi ke true
'application.screenupdating=true
'selesai
Andai diperhatikan dengan lebih seksama, bagian 2 baris ini :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa dinaikkan sedikit performanya dengan memanfaatkan blok with. Syntax with :
with objectnya
'pemanfaatan object disini
end with
untuk contoh baris di atas :
with sheets("data").range("e2:e20000") .formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
.value=.value
end with
jadi lebih simpel dan meningkat dikit performanya.
Kalau proses pemasangan nilai hasil vlookup dengan methods Evaluate, maka harus diperintah satu per satu langsung dari VBA alias tidak bisa langsung banyak cells.
Pemasangan formula di atas juga dilakukan satu per satu, tetapi dilakukan oleh runtime di dalamnya si Excel dan bukan oleh si script VBA buatan user, sehingga terkesan lebih cepat.
Pasang pakai evaluate dilakukan dengan loop.
dim lRow as long
for lRow=2 to 20000
sheets("data").cells(lrow,"e").value=evaluate("=IFERROR(VLOOKUP(D" & lrow & ",PIPE!$B$3:$L$20000,2,FALSE),"""")") next lrow
Jika akan memanfaatkan methods worksheetfunction alias sarana untuk memanfaatkan fungsi-fungsi bawaan Excel dari VBA, maka bagian kode di atas sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diganti dengan :
sheets("data").range("e2:e20000").value = _
application.worksheetfunction.iferror( _
application.worksheetfunction.vlookup( sheets("data").range("d2:d20000") _
, sheets("pipe").range("b3:L20000") _
, 2 , 0 ) _
, vbnullstring )
Jika akan memanfaatkan array formula, baris kode yang di atas sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diubah menjadi :
sheets("data").range("e2:e20000").formulaarray="=IFERROR(VLOOKUP(D2:d20000,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
Kira-kiranya begitu...
Wassalamu'alaikum wr wb
Kid
On Wed, Nov 11, 2015 at 5:44 PM, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
Terimakasih para Master
Cara ini Sub TRACE_HEAT()Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")End Sub
berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
(E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
Maaf & Terimakasih
Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Coba ganti:Formula......denganValue = Evaluate ("formulanya")Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam, HK
Sent from Samsung Mobile
-------- Original message --------From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" Date:11/11/2015 4:11 PM (GMT+07:00) To: belajar-excel@yahoogroups.com Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
MaafHairul Alam
Wassalamualaikum
#yiv2861652113 #yiv2861652113 -- #yiv2861652113ygrp-
Wed Nov 11, 2015 5:21 am (PST) . Posted by:
"Mr. Kid" nmkid.family@ymail.com
Wa'alaikumussalam wr wb
Hehehe...
Selama kasusnya jelas dan bisa dibayangkan, maka bisa diusahakan untuk ada hal yang ditambahkan yang bisa bermanfaat buat BeExceller selain penanya.
VBA adalah sarana otomasi. Bahasa yang digunakan adalah pemrograman VB for A atau VB yang ditempelkan ke suatu aplikasi.
Berarti fungsi VBA adalah untuk mengotomasi proses di dalam aplikasi tempat tinggalnya. VBA for Excel berarti bisa digunakan untuk mengotomasi proses yang dibuat user di dalam Excel.
Contoh otomasi adalah menyalin data dari suatu range ke range lain. Contoh lainnya adalah mengotomasi proses entri data melalui sebuah userform. Jadi pada intinya, semua proses yang tadinya dilakukan manual oleh user digantikan oleh suatu runtime kode-kode pemrograman melalui VBA.
Begitulah gambaran umumnya.
Wassalamu'alaikum wr wb
Kid
Sent from my smart enough phone
> On Nov 11, 2015, at 19:59, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
> Assalamualaikum
>
> Pak Kid
>
> Terimakasih Banyak Penjelasannya
>
> Sangat lengkap dan membantu sekali dalam pembelajaran excel saya
> Tanya lagi Pak, sebenarnya penggunaan VBA yang sesuai fungsinya selain untuk memasukkan formula dan database
> agar VBA difungsikan sesuai dengan kegunaannya cocoknya apa ya Pak
>
> Maaf dan Terimakasih
>
> Wassalamualaikum
>
>
>
> Pada Rabu, 11 November 2015 19:36, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
>
>
>
> Wa'alaikumussalam wr wb
>
> Hai Hairul,
>
> Coba tambahkan proses untuk mem-values hasil formula. Bisa berupa copy paste values atau set value dengan value yang ada.
> Contoh : formula berisi fungsi vLookUp dan IFError yang berbunyi :
> =IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"")
> akan dipasang pada area range : e2:e20000 di sheet bernama 'data'
> 'paksa kalkulasi excel automatic bila tidak mengurangi kecepatan proses
> 'application.screenupdating=false 'jika proses terasa melambat karena refresh layar, aktifkan baris ini
> application.calculation=xlCalculationAutomatic 'jika prosesnya melambat, ganti dengan manual xlcalculationmanual
>
> 'pasang formula
> sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> 'cara merujuk range di atas bisa juga menggunakan range("e2" , "e20000" )
>
> 'sheets("data").calculate 'jika calculation di set manual, aktifkan baris ini agar formula di kalkulasi excel
>
> 'proses mem-values formula di dalam cells
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
> 'tidak pakai Selection karena tidak ada cells yang di-select selama proses ini
> 'bisa juga dengan proses copy lalu paste values dengan kode berikut : (aktifkan bila akan digunakan)
> 'sheets("data").range("e2:e20000").copy 'proses copy
> 'sheets("data").range("e2:e20000").pastespecial xlpastevalues 'bisa pilih opsi lain, seperti values n number format, dsb
> 'kalau pakai proses copas, kosongkan clipboard dengan :
> 'application.cutcopymode=false
>
> 'kalau calculation di atas sana di set manual, set automatic disini
> 'application.calculation=xlCalculationAutomatic
>
> 'kalau screenupdating diaktifkan untuk diset false di atas sana, maka kembalikan lagi ke true
> 'application.screenupdating=true
>
> 'selesai
>
> Andai diperhatikan dengan lebih seksama, bagian 2 baris ini :
> sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
> bisa dinaikkan sedikit performanya dengan memanfaatkan blok with. Syntax with :
> with objectnya
> 'pemanfaatan object disini
> end with
> untuk contoh baris di atas :
> with sheets("data").range("e2:e20000")
> .formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> .value=.value
> end with
> jadi lebih simpel dan meningkat dikit performanya.
>
> Kalau proses pemasangan nilai hasil vlookup dengan methods Evaluate, maka harus diperintah satu per satu langsung dari VBA alias tidak bisa langsung banyak cells.
> Pemasangan formula di atas juga dilakukan satu per satu, tetapi dilakukan oleh runtime di dalamnya si Excel dan bukan oleh si script VBA buatan user, sehingga terkesan lebih cepat.
>
> Pasang pakai evaluate dilakukan dengan loop.
> dim lRow as long
> for lRow=2 to 20000
> sheets("data").cells(lrow,"e").value=evaluate("=IFERROR(VLOOKUP(D" & lrow & ",PIPE!$B$3:$L$20000,2,FALSE),"""")")
> next lrow
>
> Jika akan memanfaatkan methods worksheetfunction alias sarana untuk memanfaatkan fungsi-fungsi bawaan Excel dari VBA, maka bagian kode di atas sana yang berbunyi :
> sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
> bisa diganti dengan :
> sheets("data").range("e2:e20000").value = _
> application.worksheetfunction.iferror( _
> application.worksheetfunction.vlookup( sheets("data").range("d2:d20000") _
> , sheets("pipe").range("b3:L20000") _
> , 2 , 0 ) _
> , vbnullstring )
>
> Jika akan memanfaatkan array formula, baris kode yang di atas sana yang berbunyi :
> sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
> bisa diubah menjadi :
> sheets("data").range("e2:e20000").formulaarray="=IFERROR(VLOOKUP(D2:d20000,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
>
> Kira-kiranya begitu...
>
> Wassalamu'alaikum wr wb
> Kid
>
>
> On Wed, Nov 11, 2015 at 5:44 PM, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
> Terimakasih para Master
>
> Cara ini
> Sub TRACE_HEAT()
> Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")
> End Sub
>
> berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
>
> (E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
>
> Maaf & Terimakasih
>
>
>
> Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
>
>
>
> Coba ganti:
> Formula......
> dengan
> Value = Evaluate ("formulanya")
> Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
>
> Salam,
> HK
>
> Sent from Samsung Mobile
>
>
> -------- Original message --------
> From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]"
> Date:11/11/2015 4:11 PM (GMT+07:00)
> To: belajar-excel@yahoogroups.com
> Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
>
>
> Assalamualaikum
>
> Yth. Para Master
>
> Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :
> Sub NO_HEAT()
> Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> End Sub
>
> bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
>
> Terimakasih Banyak
>
> Maaf
> Hairul Alam
>
> Wassalamualaikum
>
>
>
>
>
>
Hehehe...
Selama kasusnya jelas dan bisa dibayangkan, maka bisa diusahakan untuk ada hal yang ditambahkan yang bisa bermanfaat buat BeExceller selain penanya.
VBA adalah sarana otomasi. Bahasa yang digunakan adalah pemrograman VB for A atau VB yang ditempelkan ke suatu aplikasi.
Berarti fungsi VBA adalah untuk mengotomasi proses di dalam aplikasi tempat tinggalnya. VBA for Excel berarti bisa digunakan untuk mengotomasi proses yang dibuat user di dalam Excel.
Contoh otomasi adalah menyalin data dari suatu range ke range lain. Contoh lainnya adalah mengotomasi proses entri data melalui sebuah userform. Jadi pada intinya, semua proses yang tadinya dilakukan manual oleh user digantikan oleh suatu runtime kode-kode pemrograman melalui VBA.
Begitulah gambaran umumnya.
Wassalamu'alaikum wr wb
Kid
Sent from my smart enough phone
> On Nov 11, 2015, at 19:59, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
> Assalamualaikum
>
> Pak Kid
>
> Terimakasih Banyak Penjelasannya
>
> Sangat lengkap dan membantu sekali dalam pembelajaran excel saya
> Tanya lagi Pak, sebenarnya penggunaan VBA yang sesuai fungsinya selain untuk memasukkan formula dan database
> agar VBA difungsikan sesuai dengan kegunaannya cocoknya apa ya Pak
>
> Maaf dan Terimakasih
>
> Wassalamualaikum
>
>
>
> Pada Rabu, 11 November 2015 19:36, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
>
>
>
> Wa'alaikumussalam wr wb
>
> Hai Hairul,
>
> Coba tambahkan proses untuk mem-values hasil formula. Bisa berupa copy paste values atau set value dengan value yang ada.
> Contoh : formula berisi fungsi vLookUp dan IFError yang berbunyi :
> =IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"")
> akan dipasang pada area range : e2:e20000 di sheet bernama 'data'
> 'paksa kalkulasi excel automatic bila tidak mengurangi kecepatan proses
> 'application.screenupdating=false 'jika proses terasa melambat karena refresh layar, aktifkan baris ini
> application.calculation=xlCalculationAutomatic 'jika prosesnya melambat, ganti dengan manual xlcalculationmanual
>
> 'pasang formula
> sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> 'cara merujuk range di atas bisa juga menggunakan range("e2" , "e20000" )
>
> 'sheets("data").calculate 'jika calculation di set manual, aktifkan baris ini agar formula di kalkulasi excel
>
> 'proses mem-values formula di dalam cells
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
> 'tidak pakai Selection karena tidak ada cells yang di-select selama proses ini
> 'bisa juga dengan proses copy lalu paste values dengan kode berikut : (aktifkan bila akan digunakan)
> 'sheets("data").range("e2:e20000").copy 'proses copy
> 'sheets("data").range("e2:e20000").pastespecial xlpastevalues 'bisa pilih opsi lain, seperti values n number format, dsb
> 'kalau pakai proses copas, kosongkan clipboard dengan :
> 'application.cutcopymode=false
>
> 'kalau calculation di atas sana di set manual, set automatic disini
> 'application.calculation=xlCalculationAutomatic
>
> 'kalau screenupdating diaktifkan untuk diset false di atas sana, maka kembalikan lagi ke true
> 'application.screenupdating=true
>
> 'selesai
>
> Andai diperhatikan dengan lebih seksama, bagian 2 baris ini :
> sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
> bisa dinaikkan sedikit performanya dengan memanfaatkan blok with. Syntax with :
> with objectnya
> 'pemanfaatan object disini
> end with
> untuk contoh baris di atas :
> with sheets("data").range("e2:e20000")
> .formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> .value=.value
> end with
> jadi lebih simpel dan meningkat dikit performanya.
>
> Kalau proses pemasangan nilai hasil vlookup dengan methods Evaluate, maka harus diperintah satu per satu langsung dari VBA alias tidak bisa langsung banyak cells.
> Pemasangan formula di atas juga dilakukan satu per satu, tetapi dilakukan oleh runtime di dalamnya si Excel dan bukan oleh si script VBA buatan user, sehingga terkesan lebih cepat.
>
> Pasang pakai evaluate dilakukan dengan loop.
> dim lRow as long
> for lRow=2 to 20000
> sheets("data").cells(lrow,"e").value=evaluate("=IFERROR(VLOOKUP(D" & lrow & ",PIPE!$B$3:$L$20000,2,FALSE),"""")")
> next lrow
>
> Jika akan memanfaatkan methods worksheetfunction alias sarana untuk memanfaatkan fungsi-fungsi bawaan Excel dari VBA, maka bagian kode di atas sana yang berbunyi :
> sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
> bisa diganti dengan :
> sheets("data").range("e2:e20000").value = _
> application.worksheetfunction.iferror( _
> application.worksheetfunction.vlookup( sheets("data").range("d2:d20000") _
> , sheets("pipe").range("b3:L20000") _
> , 2 , 0 ) _
> , vbnullstring )
>
> Jika akan memanfaatkan array formula, baris kode yang di atas sana yang berbunyi :
> sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
> bisa diubah menjadi :
> sheets("data").range("e2:e20000").formulaarray="=IFERROR(VLOOKUP(D2:d20000,PIPE!$B$3:$L$20000,2,FALSE),"""")"
> sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
>
> Kira-kiranya begitu...
>
> Wassalamu'alaikum wr wb
> Kid
>
>
> On Wed, Nov 11, 2015 at 5:44 PM, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
>
> Terimakasih para Master
>
> Cara ini
> Sub TRACE_HEAT()
> Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")
> End Sub
>
> berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
>
> (E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
>
> Maaf & Terimakasih
>
>
>
> Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
>
>
>
> Coba ganti:
> Formula......
> dengan
> Value = Evaluate ("formulanya")
> Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
>
> Salam,
> HK
>
> Sent from Samsung Mobile
>
>
> -------- Original message --------
> From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]"
> Date:11/11/2015 4:11 PM (GMT+07:00)
> To: belajar-excel@yahoogroups.com
> Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
>
>
> Assalamualaikum
>
> Yth. Para Master
>
> Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :
> Sub NO_HEAT()
> Worksheets("
> End Sub
>
> bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
>
> Terimakasih Banyak
>
> Maaf
> Hairul Alam
>
> Wassalamualaikum
>
>
>
>
>
>
Wed Nov 11, 2015 12:19 pm (PST) . Posted by:
"HAIRUL ALAM"
Terimakasih Pak Kid
Untuk itu saya buatkan VBA contoh formula yang tadi saya kirim biar tidak berulang ulang, dan bisa saya gunakan untuk format berikutnya dengan range yang sama dan dengan tinggal copy module saja.
Maaf & Terimakasih banyak penjelasannya
Sukses
Pada Rabu, 11 November 2015 20:21, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Wa'alaikumussalam wr wb
Hehehe...Selama kasusnya jelas dan bisa dibayangkan, maka bisa diusahakan untuk ada hal yang ditambahkan yang bisa bermanfaat buat BeExceller selain penanya.
VBA adalah sarana otomasi. Bahasa yang digunakan adalah pemrograman VB for A atau VB yang ditempelkan ke suatu aplikasi.Berarti fungsi VBA adalah untuk mengotomasi proses di dalam aplikasi tempat tinggalnya. VBA for Excel berarti bisa digunakan untuk mengotomasi proses yang dibuat user di dalam Excel.
Contoh otomasi adalah menyalin data dari suatu range ke range lain. Contoh lainnya adalah mengotomasi proses entri data melalui sebuah userform. Jadi pada intinya, semua proses yang tadinya dilakukan manual oleh user digantikan oleh suatu runtime kode-kode pemrograman melalui VBA.
Begitulah gambaran umumnya.
Wassalamu'alaikum wr wbKid
Sent from my smart enough phone
On Nov 11, 2015, at 19:59, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
Assalamualaikum
Pak Kid
Terimakasih Banyak Penjelasannya
Sangat lengkap dan membantu sekali dalam pembelajaran excel sayaTanya lagi Pak, sebenarnya penggunaan VBA yang sesuai fungsinya selain untuk memasukkan formula dan databaseagar VBA difungsikan sesuai dengan kegunaannya cocoknya apa ya Pak
Maaf dan Terimakasih
Wassalamualaikum
Pada Rabu, 11 November 2015 19:36, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Wa'alaikumussalam wr wb
Hai Hairul,
Coba tambahkan proses untuk mem-values hasil formula. Bisa berupa copy paste values atau set value dengan value yang ada.
Contoh : formula berisi fungsi vLookUp dan IFError yang berbunyi :
=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"")
akan dipasang pada area range : e2:e20000 di sheet bernama 'data'
'paksa kalkulasi excel automatic bila tidak mengurangi kecepatan proses
'application.screenupdating=false 'jika proses terasa melambat karena refresh layar, aktifkan baris ini
application.calculation=xlCalculationAutomatic 'jika prosesnya melambat, ganti dengan manual xlcalculationmanual
'pasang formula
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
'cara merujuk range di atas bisa juga menggunakan range("e2" , "e20000" )
'sheets("data").calculate 'jika calculation di set manual, aktifkan baris ini agar formula di kalkulasi excel
'proses mem-values formula di dalam cells
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
'tidak pakai Selection karena tidak ada cells yang di-select selama proses ini
'bisa juga dengan proses copy lalu paste values dengan kode berikut : (aktifkan bila akan digunakan)
'sheets("data").range("e2:e20000").copy 'proses copy
'sheets("data").range("e2:e20000").pastespecial xlpastevalues 'bisa pilih opsi lain, seperti values n number format, dsb
'kalau pakai proses copas, kosongkan clipboard dengan :
'application.cutcopymode=false
'kalau calculation di atas sana di set manual, set automatic disini
'application.calculation=xlCalculationAutomatic
'kalau screenupdating diaktifkan untuk diset false di atas sana, maka kembalikan lagi ke true
'application.screenupdating=true
'selesai
Andai diperhatikan dengan lebih seksama, bagian 2 baris ini :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa dinaikkan sedikit performanya dengan memanfaatkan blok with. Syntax with :
with objectnya
'pemanfaatan object disini
end with
untuk contoh baris di atas :
with sheets("data").range("e2:e20000") .formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
.value=.value
end with
jadi lebih simpel dan meningkat dikit performanya.
Kalau proses pemasangan nilai hasil vlookup dengan methods Evaluate, maka harus diperintah satu per satu langsung dari VBA alias tidak bisa langsung banyak cells.
Pemasangan formula di atas juga dilakukan satu per satu, tetapi dilakukan oleh runtime di dalamnya si Excel dan bukan oleh si script VBA buatan user, sehingga terkesan lebih cepat.
Pasang pakai evaluate dilakukan dengan loop.
dim lRow as long
for lRow=2 to 20000
sheets("data").cells(lrow,"e").value=evaluate("=IFERROR(VLOOKUP(D" & lrow & ",PIPE!$B$3:$L$20000,2,FALSE),"""")") next lrow
Jika akan memanfaatkan methods worksheetfunction alias sarana untuk memanfaatkan fungsi-fungsi bawaan Excel dari VBA, maka bagian kode di atas sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diganti dengan :
sheets("data").range("e2:e20000").value = _
application.worksheetfunction.iferror( _
application.worksheetfunction.vlookup( sheets("data").range("d2:d20000") _
, sheets("pipe").range("b3:L20000") _
, 2 , 0 ) _
, vbnullstring )
Jika akan memanfaatkan array formula, baris kode yang di atas sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diubah menjadi :
sheets("data").range("e2:e20000").formulaarray="=IFERROR(VLOOKUP(D2:d20000,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
Kira-kiranya begitu...
Wassalamu'alaikum wr wb
Kid
On Wed, Nov 11, 2015 at 5:44 PM, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
Terimakasih para Master
Cara ini Sub TRACE_HEAT()Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")End Sub
berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
(E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
Maaf & Terimakasih
Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Coba ganti:Formula......denganValue = Evaluate ("formulanya")Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam, HK
Sent from Samsung Mobile
-------- Original message --------From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" Date:11/11/2015 4:11 PM (GMT+07:00) To: belajar-excel@yahoogroups.com Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"End Sub
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
MaafHairul Alam
Wassalamualaikum
#yiv2755030630 #yiv2755030630 -- #yiv2755030630ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv2755030630 #yiv2755030630ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv2755030630 #yiv2755030630ygrp-mkp #yiv2755030630hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv2755030630 #yiv2755030630ygrp-mkp #yiv2755030630ads {margin-bottom:10px;}#yiv2755030630 #yiv2755030630ygrp-mkp .yiv2755030630ad {padding:0 0;}#yiv2755030630 #yiv2755030630ygrp-mkp .yiv2755030630ad p {margin:0;}#yiv2755030630 #yiv2755030630ygrp-mkp .yiv2755030630ad a {color:#0000ff;text-decoration:none;}#yiv2755030630 #yiv2755030630ygrp-sponsor #yiv2755030630ygrp-lc {font-family:Arial;}#yiv2755030630 #yiv2755030630ygrp-sponsor #yiv2755030630ygrp-lc #yiv2755030630hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv2755030630 #yiv2755030630ygrp-sponsor #yiv2755030630ygrp-lc .yiv2755030630ad {margin-bottom:10px;padding:0 0;}#yiv2755030630 #yiv2755030630actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv2755030630 #yiv2755030630activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv2755030630 #yiv2755030630activity span {font-weight:700;}#yiv2755030630 #yiv2755030630activity span:first-child {text-transform:uppercase;}#yiv2755030630 #yiv2755030630activity span a {color:#5085b6;text-decoration:none;}#yiv2755030630 #yiv2755030630activity span span {color:#ff7900;}#yiv2755030630 #yiv2755030630activity span .yiv2755030630underline {text-decoration:underline;}#yiv2755030630 .yiv2755030630attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv2755030630 .yiv2755030630attach div a {text-decoration:none;}#yiv2755030630 .yiv2755030630attach img {border:none;padding-right:5px;}#yiv2755030630 .yiv2755030630attach label {display:block;margin-bottom:5px;}#yiv2755030630 .yiv2755030630attach label a {text-decoration:none;}#yiv2755030630 blockquote {margin:0 0 0 4px;}#yiv2755030630 .yiv2755030630bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv2755030630 .yiv2755030630bold a {text-decoration:none;}#yiv2755030630 dd.yiv2755030630last p a {font-family:Verdana;font-weight:700;}#yiv2755030630 dd.yiv2755030630last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv2755030630 dd.yiv2755030630last p span.yiv2755030630yshortcuts {margin-right:0;}#yiv2755030630 div.yiv2755030630attach-table div div a {text-decoration:none;}#yiv2755030630 div.yiv2755030630attach-table {width:400px;}#yiv2755030630 div.yiv2755030630file-title a, #yiv2755030630 div.yiv2755030630file-title a:active, #yiv2755030630 div.yiv2755030630file-title a:hover, #yiv2755030630 div.yiv2755030630file-title a:visited {text-decoration:none;}#yiv2755030630 div.yiv2755030630photo-title a, #yiv2755030630 div.yiv2755030630photo-title a:active, #yiv2755030630 div.yiv2755030630photo-title a:hover, #yiv2755030630 div.yiv2755030630photo-title a:visited {text-decoration:none;}#yiv2755030630 div#yiv2755030630ygrp-mlmsg #yiv2755030630ygrp-msg p a span.yiv2755030630yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv2755030630 .yiv2755030630green {color:#628c2a;}#yiv2755030630 .yiv2755030630MsoNormal {margin:0 0 0 0;}#yiv2755030630 o {font-size:0;}#yiv2755030630 #yiv2755030630photos div {float:left;width:72px;}#yiv2755030630 #yiv2755030630photos div div {border:1px solid #666666;height:62px;overflow:hidden;width:62px;}#yiv2755030630 #yiv2755030630photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv2755030630 #yiv2755030630reco-category {font-size:77%;}#yiv2755030630 #yiv2755030630reco-desc {font-size:77%;}#yiv2755030630 .yiv2755030630replbq {margin:4px;}#yiv2755030630 #yiv2755030630ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv2755030630 #yiv2755030630ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv2755030630 #yiv2755030630ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv2755030630 #yiv2755030630ygrp-mlmsg select, #yiv2755030630 input, #yiv2755030630 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv2755030630 #yiv2755030630ygrp-mlmsg pre, #yiv2755030630 code {font:115% monospace;}#yiv2755030630 #yiv2755030630ygrp-mlmsg * {line-height:1.22em;}#yiv2755030630 #yiv2755030630ygrp-mlmsg #yiv2755030630logo {padding-bottom:10px;}#yiv2755030630 #yiv2755030630ygrp-msg p a {font-family:Verdana;}#yiv2755030630 #yiv2755030630ygrp-msg p#yiv2755030630attach-count span {color:#1E66AE;font-weight:700;}#yiv2755030630 #yiv2755030630ygrp-reco #yiv2755030630reco-head {color:#ff7900;font-weight:700;}#yiv2755030630 #yiv2755030630ygrp-reco {margin-bottom:20px;padding:0px;}#yiv2755030630 #yiv2755030630ygrp-sponsor #yiv2755030630ov li a {font-size:130%;text-decoration:none;}#yiv2755030630 #yiv2755030630ygrp-sponsor #yiv2755030630ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv2755030630 #yiv2755030630ygrp-sponsor #yiv2755030630ov ul {margin:0;padding:0 0 0 8px;}#yiv2755030630 #yiv2755030630ygrp-text {font-family:Georgia;}#yiv2755030630 #yiv2755030630ygrp-text p {margin:0 0 1em 0;}#yiv2755030630 #yiv2755030630ygrp-text tt {font-size:120%;}#yiv2755030630 #yiv2755030630ygrp-vital ul li:last-child {border-right:none !important;}#yiv2755030630
Untuk itu saya buatkan VBA contoh formula yang tadi saya kirim biar tidak berulang ulang, dan bisa saya gunakan untuk format berikutnya dengan range yang sama dan dengan tinggal copy module saja.
Maaf & Terimakasih banyak penjelasannya
Sukses
Pada Rabu, 11 November 2015 20:21, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Wa'alaikumussalam wr wb
Hehehe...Selama kasusnya jelas dan bisa dibayangkan, maka bisa diusahakan untuk ada hal yang ditambahkan yang bisa bermanfaat buat BeExceller selain penanya.
VBA adalah sarana otomasi. Bahasa yang digunakan adalah pemrograman VB for A atau VB yang ditempelkan ke suatu aplikasi.Berarti fungsi VBA adalah untuk mengotomasi proses di dalam aplikasi tempat tinggalnya. VBA for Excel berarti bisa digunakan untuk mengotomasi proses yang dibuat user di dalam Excel.
Contoh otomasi adalah menyalin data dari suatu range ke range lain. Contoh lainnya adalah mengotomasi proses entri data melalui sebuah userform. Jadi pada intinya, semua proses yang tadinya dilakukan manual oleh user digantikan oleh suatu runtime kode-kode pemrograman melalui VBA.
Begitulah gambaran umumnya.
Wassalamu'alaikum wr wbKid
Sent from my smart enough phone
On Nov 11, 2015, at 19:59, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
Assalamualaikum
Pak Kid
Terimakasih Banyak Penjelasannya
Sangat lengkap dan membantu sekali dalam pembelajaran excel sayaTanya lagi Pak, sebenarnya penggunaan VBA yang sesuai fungsinya selain untuk memasukkan formula dan databaseagar VBA difungsikan sesuai dengan kegunaannya cocoknya apa ya Pak
Maaf dan Terimakasih
Wassalamualaikum
Pada Rabu, 11 November 2015 19:36, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Wa'alaikumussalam wr wb
Hai Hairul,
Coba tambahkan proses untuk mem-values hasil formula. Bisa berupa copy paste values atau set value dengan value yang ada.
Contoh : formula berisi fungsi vLookUp dan IFError yang berbunyi :
=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"")
akan dipasang pada area range : e2:e20000 di sheet bernama 'data'
'paksa kalkulasi excel automatic bila tidak mengurangi kecepatan proses
'application.screenupdating=false 'jika proses terasa melambat karena refresh layar, aktifkan baris ini
application.calculation=xlCalculationAutomatic 'jika prosesnya melambat, ganti dengan manual xlcalculationmanual
'pasang formula
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
'cara merujuk range di atas bisa juga menggunakan range("e2" , "e20000" )
'sheets("data").calculate 'jika calculation di set manual, aktifkan baris ini agar formula di kalkulasi excel
'proses mem-values formula di dalam cells
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
'tidak pakai Selection karena tidak ada cells yang di-select selama proses ini
'bisa juga dengan proses copy lalu paste values dengan kode berikut : (aktifkan bila akan digunakan)
'sheets("data").range("e2:e20000").copy 'proses copy
'sheets("data").range("e2:e20000").pastespecial xlpastevalues 'bisa pilih opsi lain, seperti values n number format, dsb
'kalau pakai proses copas, kosongkan clipboard dengan :
'application.cutcopymode=false
'kalau calculation di atas sana di set manual, set automatic disini
'application.calculation=xlCalculationAutomatic
'kalau screenupdating diaktifkan untuk diset false di atas sana, maka kembalikan lagi ke true
'application.screenupdating=true
'selesai
Andai diperhatikan dengan lebih seksama, bagian 2 baris ini :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa dinaikkan sedikit performanya dengan memanfaatkan blok with. Syntax with :
with objectnya
'pemanfaatan object disini
end with
untuk contoh baris di atas :
with sheets("data").range("e2:e20000") .formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
.value=.value
end with
jadi lebih simpel dan meningkat dikit performanya.
Kalau proses pemasangan nilai hasil vlookup dengan methods Evaluate, maka harus diperintah satu per satu langsung dari VBA alias tidak bisa langsung banyak cells.
Pemasangan formula di atas juga dilakukan satu per satu, tetapi dilakukan oleh runtime di dalamnya si Excel dan bukan oleh si script VBA buatan user, sehingga terkesan lebih cepat.
Pasang pakai evaluate dilakukan dengan loop.
dim lRow as long
for lRow=2 to 20000
sheets("data").cells(lrow,"e").value=evaluate("=IFERROR(VLOOKUP(D" & lrow & ",PIPE!$B$3:$L$20000,2,FALSE),"""")") next lrow
Jika akan memanfaatkan methods worksheetfunction alias sarana untuk memanfaatkan fungsi-fungsi bawaan Excel dari VBA, maka bagian kode di atas sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diganti dengan :
sheets("data").range("e2:e20000").value = _
application.worksheetfunction.iferror( _
application.worksheetfunction.vlookup( sheets("data").range("d2:d20000") _
, sheets("pipe").range("b3:L20000") _
, 2 , 0 ) _
, vbnullstring )
Jika akan memanfaatkan array formula, baris kode yang di atas sana yang berbunyi :
sheets("data").range("e2:e20000").formula="=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
bisa diubah menjadi :
sheets("data").range("e2:e20000").formulaarray="=IFERROR(VLOOKUP(D2:d20000,PIPE!$B$3:$L$20000,2,FALSE),"""")"
sheets("data").range("e2:e20000").value=sheets("data").range("e2:e20000").value
Kira-kiranya begitu...
Wassalamu'alaikum wr wb
Kid
On Wed, Nov 11, 2015 at 5:44 PM, HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
Terimakasih para Master
Cara ini Sub TRACE_HEAT()Worksheets("DATA").Range("E2").Value = Evaluate("=IFERROR(VLOOKUP(D2,MAIN!$B$3:$L$5,2,FALSE),"""")")End Sub
berhasil namun harus masukkan formula per satu2, apakah bisa bila rangenya banyak misal yang saya beri warna kuning agar seperti range
(E2) menjadi E2 sd E20000 dan $B$3:$L$5 menjadi $B$3 sd $L$20000
Maaf & Terimakasih
Pada Rabu, 11 November 2015 17:27, "Hendrik Karnadi hendrikkarnadi@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Coba ganti:Formula......denganValue = Evaluate ("formulanya")Formualanya tidak perlu diberi tanda =(sama dengan) lagi.
Salam, HK
Sent from Samsung Mobile
-------- Original message --------From: "HAIRUL ALAM ha_mj76@yahoo.co.id [belajar-excel]" Date:11/11/2015 4:11 PM (GMT+07:00) To: belajar-excel@yahoogroups.com Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet
Assalamualaikum
Yth. Para Master
Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets
bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet
Terimakasih Banyak
MaafHairul Alam
Wassalamualaikum
#yiv2755030630 #yiv2755030630 -- #yiv2755030630ygrp-
Wed Nov 11, 2015 2:41 am (PST) . Posted by:
"HAIRUL ALAM"
Terimakasih Mas Riki
Pada Rabu, 11 November 2015 16:33, "'Riki' ricky45chiesa@yahoo.co.id [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Wa'alaikum slm Pak Haerul Setelah kode macro tersebut tinggal ditambah"Selection = Selection.Value"ContohSub NO_HEAT()Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"Selection = Selection.ValueEnd Sub Semoga membantuTrimsRikiFrom: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Wednesday, November 11, 2015 4:11 PM
To: belajar-excel@yahoogroups.com
Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet Assalamualaikum Yth. Para Master Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"End Sub bagaimana codenya agar yang dimunculkan pada worksheet adalah hasil dari perhitungan sesuai code VBA diatas dan tidak memunculkan formula pada cell worksheet Terimakasih Banyak MaafHairul Alam Wassalamualaikum #yiv7000351193 #yiv7000351193 -- #yiv7000351193ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv7000351193 #yiv7000351193ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv7000351193 #yiv7000351193ygrp-mkp #yiv7000351193hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv7000351193 #yiv7000351193ygrp-mkp #yiv7000351193ads {margin-bottom:10px;}#yiv7000351193 #yiv7000351193ygrp-mkp .yiv7000351193ad {padding:0 0;}#yiv7000351193 #yiv7000351193ygrp-mkp .yiv7000351193ad p {margin:0;}#yiv7000351193 #yiv7000351193ygrp-mkp .yiv7000351193ad a {color:#0000ff;text-decoration:none;}#yiv7000351193 #yiv7000351193ygrp-sponsor #yiv7000351193ygrp-lc {font-family:Arial;}#yiv7000351193 #yiv7000351193ygrp-sponsor #yiv7000351193ygrp-lc #yiv7000351193hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv7000351193 #yiv7000351193ygrp-sponsor #yiv7000351193ygrp-lc .yiv7000351193ad {margin-bottom:10px;padding:0 0;}#yiv7000351193 #yiv7000351193actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv7000351193 #yiv7000351193activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv7000351193 #yiv7000351193activity span {font-weight:700;}#yiv7000351193 #yiv7000351193activity span:first-child {text-transform:uppercase;}#yiv7000351193 #yiv7000351193activity span a {color:#5085b6;text-decoration:none;}#yiv7000351193 #yiv7000351193activity span span {color:#ff7900;}#yiv7000351193 #yiv7000351193activity span .yiv7000351193underline {text-decoration:underline;}#yiv7000351193 .yiv7000351193attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv7000351193 .yiv7000351193attach div a {text-decoration:none;}#yiv7000351193 .yiv7000351193attach img {border:none;padding-right:5px;}#yiv7000351193 .yiv7000351193attach label {display:block;margin-bottom:5px;}#yiv7000351193 .yiv7000351193attach label a {text-decoration:none;}#yiv7000351193 blockquote {margin:0 0 0 4px;}#yiv7000351193 .yiv7000351193bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv7000351193 .yiv7000351193bold a {text-decoration:none;}#yiv7000351193 dd.yiv7000351193last p a {font-family:Verdana;font-weight:700;}#yiv7000351193 dd.yiv7000351193last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv7000351193 dd.yiv7000351193last p span.yiv7000351193yshortcuts {margin-right:0;}#yiv7000351193 div.yiv7000351193attach-table div div a {text-decoration:none;}#yiv7000351193 div.yiv7000351193attach-table {width:400px;}#yiv7000351193 div.yiv7000351193file-title a, #yiv7000351193 div.yiv7000351193file-title a:active, #yiv7000351193 div.yiv7000351193file-title a:hover, #yiv7000351193 div.yiv7000351193file-title a:visited {text-decoration:none;}#yiv7000351193 div.yiv7000351193photo-title a, #yiv7000351193 div.yiv7000351193photo-title a:active, #yiv7000351193 div.yiv7000351193photo-title a:hover, #yiv7000351193 div.yiv7000351193photo-title a:visited {text-decoration:none;}#yiv7000351193 div#yiv7000351193ygrp-mlmsg #yiv7000351193ygrp-msg p a span.yiv7000351193yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv7000351193 .yiv7000351193green {color:#628c2a;}#yiv7000351193 .yiv7000351193MsoNormal {margin:0 0 0 0;}#yiv7000351193 o {font-size:0;}#yiv7000351193 #yiv7000351193photos div {float:left;width:72px;}#yiv7000351193 #yiv7000351193photos div div {border:1px solid #666666;height:62px;overflow:hidden;width:62px;}#yiv7000351193 #yiv7000351193photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv7000351193 #yiv7000351193reco-category {font-size:77%;}#yiv7000351193 #yiv7000351193reco-desc {font-size:77%;}#yiv7000351193 .yiv7000351193replbq {margin:4px;}#yiv7000351193 #yiv7000351193ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv7000351193 #yiv7000351193ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv7000351193 #yiv7000351193ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv7000351193 #yiv7000351193ygrp-mlmsg select, #yiv7000351193 input, #yiv7000351193 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv7000351193 #yiv7000351193ygrp-mlmsg pre, #yiv7000351193 code {font:115% monospace;}#yiv7000351193 #yiv7000351193ygrp-mlmsg * {line-height:1.22em;}#yiv7000351193 #yiv7000351193ygrp-mlmsg #yiv7000351193logo {padding-bottom:10px;}#yiv7000351193 #yiv7000351193ygrp-msg p a {font-family:Verdana;}#yiv7000351193 #yiv7000351193ygrp-msg p#yiv7000351193attach-count span {color:#1E66AE;font-weight:700;}#yiv7000351193 #yiv7000351193ygrp-reco #yiv7000351193reco-head {color:#ff7900;font-weight:700;}#yiv7000351193 #yiv7000351193ygrp-reco {margin-bottom:20px;padding:0px;}#yiv7000351193 #yiv7000351193ygrp-sponsor #yiv7000351193ov li a {font-size:130%;text-decoration:none;}#yiv7000351193 #yiv7000351193ygrp-sponsor #yiv7000351193ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv7000351193 #yiv7000351193ygrp-sponsor #yiv7000351193ov ul {margin:0;padding:0 0 0 8px;}#yiv7000351193 #yiv7000351193ygrp-text {font-family:Georgia;}#yiv7000351193 #yiv7000351193ygrp-text p {margin:0 0 1em 0;}#yiv7000351193 #yiv7000351193ygrp-text tt {font-size:120%;}#yiv7000351193 #yiv7000351193ygrp-vital ul li:last-child {border-right:none !important;}#yiv7000351193
Pada Rabu, 11 November 2015 16:33, "'Riki' ricky45chiesa@yahoo.co.id [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Wa'alaikum slm Pak Haerul Setelah kode macro tersebut tinggal ditambah"Selection = Selection.Value"ContohSub NO_HEAT()Worksheets("DATA").Range("E2", "E20000").Formula = "=IFERROR(VLOOKUP(D2,PIPE!$B$3:$L$20000,2,FALSE),"""")"Selection = Selection.ValueEnd Sub Semoga membantuTrimsRikiFrom: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Wednesday, November 11, 2015 4:11 PM
To: belajar-excel@yahoogroups.com
Subject: [belajar-excel] code Macro tanpa memunculkan formula pada worksheet Assalamualaikum Yth. Para Master Maaf Saya ingin bertanya, saya mempunyai masalah tentang code VBA, yang saya ingin agar formula tidak muncul pada cell worksheet misalkan code VBA sebagai berikut :Sub NO_HEAT()Worksheets
Wed Nov 11, 2015 2:41 am (PST) . Posted by:
"HAIRUL ALAM"
Assalamualaikum
Yang Terhormat
Para Master
Bagaimana cara agar formula yang dihasilkan dengan code VBA seperti yang saya tanyakan sebelum ini, Terlampir seperti contoh
Maaf
TerimakasihWassalam
Wed Nov 11, 2015 2:03 pm (PST) . Posted by:
"Mr. Kid" nmkid.family@ymail.com
Hai Riki,
1. Perintah berulang untuk pindah cells aktif bunyinya begini : (disebuah
prosedur dalam general module)
dim lBaris as long
for lBaris=2 to 5 'loop setiap nilai mulai dari 2 sampai 5
cells( lbaris , "a" ).activate 'hasil dari activate, 1 cell akan
menjadi aktif dan bisa pakai object activecell
'atau pakai select agar bisa pakai object Selection
'cells(lbaris , "a" ).select '1 cells yang di select akan aktif
'tampilkan pesan (bila perlu) atau anggap saja ini proses panjang yang
dilakukan prosedur lain
msgbox "Cell aktif di " & activecell.address
next lbaris
2. Perintah untuk meminta suatu nilai input yang bertipe numerik :
(disebuah prosedur dalam general module)
'memanfaatkan InputBox milik Application
dim vInput as variant
ULANG: 'ini namanya label baris kode
vinput=application.inputbox("Masukkan nilai numerik minimal 2","Input
nilai",2,type:=1) 'type:=1 untuk input number only
if vartype(vinput)=vbboolean then 'cek kalau hasilnya bertipe boolean
saat user tekan cancel
'pesan atau proses keluar disini
msgbox "di Cancel",vbinformation,"Input nilai"
exit sub
elseif vinput<2 then 'misal validasi input kalau kurang dari 2 maka di
tanya ulang
msgbox "Nilai minimal adalah 2",vbexclamation,"Input nilai"
goto ULANG
else 'selainnya
msgbox "Inputan Anda adalah " & vinput
endif
3. Memanggil prosedur lain
>> misal ada prosedur bernama ProsesUtama berbunyi :
public sub ProsesUtama()
msgbox "ini baris kode di dalam prosedur sebagai suatu proses
utama",vbinformation,"Sub ProsesUtama"
end sub
>> kemudian ada prosedur lain yang dijalankan (misal dijalankan saat user
klik suatu tombol) bernama TombolKlik berbunyi :
public sub TombolKlik()
ProsesUtama 'menjalankan atau memanggil prosedur lain bernama
ProsesUtama
end sub
>> jika prosedur TombolKlik dijalankan, maka prosedur ProsesUtama dipanggil
atau dijalankan oleh prosedur TombolKlik.
>> proses yang ada di dalam ProsesUtama adalah menampilkan pesan. Jadi,
pesan akan muncul.
>> Cara seperti ini bisa Anda gunakan dalam proses berulang.
>> misal ada prosedur yang dijalankan saat klik suatu tombol bernama
KlikSekaliProsesBerulang berbunyi :
public sub KlikSekaliProsesBerulang()
dim lBaris as long
for lBaris=2 to 5
ProsesUtama 'panggil prosedur ProsesUtama
next lbaris
end sub
>> Jadi, prosedur ProsesUtama akan dipanggil sebanyak 4 kali (loop dari 2
sampai 5 adalah 2,3,4,5 alias 4 kali perulangan)
Sampai disini, mestinya sudah bisa menggabungkan seluruh bahasan di atas
menjadi satu alur proses yang Anda butuhkan melalui 2 prosedur, yaitu
prosedur yang dijalankan saat user klik sesuatu dan sebuah prosedur yang
berisi proses pokok yang akan dikerjakan.
Yang ini buat yang berminat saja....
Sebuah prosedur yang bisa digunakan oleh banyak prosedur lainnya secara
dinamis akan menguntungkan, karena baris kode bisa disusun sebagai kelompok
proses. Contohnya seperti di atas tadi, prosedur ProsesUtama bisa digunakan
oleh prosedur lainnya yang membutuhkan proses-proses yang ada dalam
prosedur ProsesUtama. Anggap saja ProsesUtama berisi proses sort tabel data
di sheet bernama 'MyData', maka prosedur lain yang membutuhkan proses sort
tersebut bisa memanggil prosedur ProsesUtama.
Sekarang, bagaimana jika ingin proses di dalam ProsesUtama mengerjakan
sesuatu tergantung si pemanggil ?
Misal, jika ProsesUtama dipanggil oleh TombolProsesSatu, maka akan
menampilkan pesan berbunyi X. Kalau oleh prosedur TombolProsesDua akan
menampilkan pesan berbunyi Y.
*** Menampilkan pesan adalah contoh proses di dalam ProsesUtama yang bisa
Anda sesuaikan dengan kebutuhan, misalnya disesuaikan untuk menjadi sebuah
proses Sort atau Copy Paste atau berbagai proses.
Untuk kebutuhan seperti ini, dibutuhkan media mengirimkan bunyi pesan
kepada prosedur ProsesUtama untuk ditampilkan. Media ini disebut *input
parameter*. Contoh bunyi prosedur ProsesUtama untuk narasi tersebut adalah
sebagai berikut :
'ProsesUtama harus diberi nilai string ke dalam variabel sBunyiPesan agar
bisa bekerja
Public Sub ProsesUtama( sBunyiPesan as string )
msgbox sBunyiPesan, vbinformation , "Pesan oleh ProsesUtama"
end sub
Prosedur TombolProsesSatu yang ingin memproses bunyi X menjadi berbunyi :
public sub TombolProsesSatu()
dim sPesanSatu as string
sPesanSatu="Pesan berbunyi X dari TombolProsesSatu" 'proses
menyiapkan nilai untuk ProsesUtama
ProsesUtama sPesanSatu 'panggil ProsesUtama
dengan memberi input ke sBunyiPesan dari sPesanSatu
end sub
Prosedur TombolProsesDua yang ingin memproses bunyi Y menjadi berbunyi :
public sub TombolProsesDua()
dim sPesanDua as string
sPesanDua="Ini Y dari TombolProsesDua" 'proses menyiapkan nilai
untuk ProsesUtama
ProsesUtama sPesanDua 'panggil ProsesUtama dengan
memberi input ke sBunyiPesan dari sPesanDua
end sub
Jadi,
> jika TombolProsesSatu dijalankan, pesan yang ditampilkan ProsesUtama
adalah nilai di sPesanSatu.
> jika TombolProsesDua dijalankan, pesan yang ditampilkan ProsesUtama
adalah nilai di sPesanDua.
Contoh nyata dari prosedur-prosedur berparameter seperti ini adalah
fungsi-fungsi bawaan Excel, seperti vLookUp saja deh. User bisa memasukkan
nilai lookup, area range lookup, nomor kolom area lookup yang diambil, cara
pencarian. User bisa memasang fungsi vlookup di banyak sheet dan range
berbeda yang merujuk ke range dan sheet yang berbeda pula. Tetapi prosedur
vLookUp hanya ada satu saja di dalam Excel. Bukankah sangat dinamis dan
menjadi simpel?
Syaratnya sederhana, yaitu pahami dengan benar datatype.
Hal-hal tentang VBA bisa dilihat di blog milis di
http://b-excel.blogspot.co.id/
Untuk belajar VBA, bisa dimulai dari sini
<http://b-excel.blogspot.co.id/2013/06/belajarvba-000-kenalan.html>.
Selesai....
File terlampir adalah contoh untuk kasus perintah berulang, tetapi tidak
pakai banyak prosedur seperti di atas karena prosesnya spesifik untuk
kegiatan dari 1 tombol saja, yaitu melalui shape GO di sheet bernama Data.
Wassalam,
Kid
2015-11-11 7:15 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id [belajar-excel] <
belajar-excel@yahoogroups.com>:
>
>
> Dear Master Kid,
>
>
>
> Iya dari vertical ke horizontal, betul ada beberapa yang tidak sesuai,
> tapi itu diabaikan saja, karena memang untuk yang tidak sesuai memang tidak
> diperlukan, biarkan nanti di sort dan dihapus manual. Ane minta tolong
> saja, ketika ane klik tombol 'button' ada pertanyaan dulu sebelum diolah
> berapa baris yang akan diolah. Begitu kira-kira master.
>
>
>
> Trims
>
> Riki
>
>
>
> *From:* belajar-excel@yahoogroups.com [mailto:
> belajar-excel@yahoogroups.com]
> *Sent:* Monday, November 9, 2015 4:19 PM
> *To:* BeExcel
> *Subject:* Re: [belajar-excel] Perintah berulang
>
>
>
>
>
> Hai Riki,
>
> Prosesnya untuk membentuk tabel vertikal dari data horisontal ya ?
>
> Bagaimana dengan bagian blok yang kolomnya todak sesuai (coba lihat di
> sheet OL2 kolom mix form) ? Apakah memang harus tetap tidak sesuai seperti
> itu ?
>
> Wassalam,
>
> Kid
>
>
>
>
>
>
>
>
> 2015-11-09 11:16 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id
> [belajar-excel] <belajar-excel@yahoogroups.com>:
>
>
>
> Dear Masters,
>
>
>
> Minta tolong, ane punya data terlampir. Ane cuma pengen tambah perintah
> macro, agar berulang sebanyak yang ane perintahkan (pake tombol input or
> gimana lah, ane juga ga ngerti masih belajar juga). Karena kalo data nya
> banyak ane harus click satu-persatu per baris untuk mengolah data 1 baris
> tersebut. Kalo kurang mengerti, silahkan lihat data excelnya, dan coba
> jalanin macro nya.
>
> Sori ya ane newbie jadi pertanyaannya simple aja.
>
>
>
> Makasih Masters
>
> Riki
>
>
>
>
>
1. Perintah berulang untuk pindah cells aktif bunyinya begini : (disebuah
prosedur dalam general module)
dim lBaris as long
for lBaris=2 to 5 'loop setiap nilai mulai dari 2 sampai 5
cells( lbaris , "a" ).activate 'hasil dari activate, 1 cell akan
menjadi aktif dan bisa pakai object activecell
'atau pakai select agar bisa pakai object Selection
'cells(lbaris , "a" ).select '1 cells yang di select akan aktif
'tampilkan pesan (bila perlu) atau anggap saja ini proses panjang yang
dilakukan prosedur lain
msgbox "Cell aktif di " & activecell.address
next lbaris
2. Perintah untuk meminta suatu nilai input yang bertipe numerik :
(disebuah prosedur dalam general module)
'memanfaatkan InputBox milik Application
dim vInput as variant
ULANG: 'ini namanya label baris kode
vinput=application.inputbox("Masukkan nilai numerik minimal 2","Input
nilai",2,type:=1) 'type:=1 untuk input number only
if vartype(vinput)=vbboolean then 'cek kalau hasilnya bertipe boolean
saat user tekan cancel
'pesan atau proses keluar disini
msgbox "di Cancel",vbinformation,"Input nilai"
exit sub
elseif vinput<2 then 'misal validasi input kalau kurang dari 2 maka di
tanya ulang
msgbox "Nilai minimal adalah 2",vbexclamation,"Input nilai"
goto ULANG
else 'selainnya
msgbox "Inputan Anda adalah " & vinput
endif
3. Memanggil prosedur lain
>> misal ada prosedur bernama ProsesUtama berbunyi :
public sub ProsesUtama()
msgbox "ini baris kode di dalam prosedur sebagai suatu proses
utama",vbinformation,"Sub ProsesUtama"
end sub
>> kemudian ada prosedur lain yang dijalankan (misal dijalankan saat user
klik suatu tombol) bernama TombolKlik berbunyi :
public sub TombolKlik()
ProsesUtama 'menjalankan atau memanggil prosedur lain bernama
ProsesUtama
end sub
>> jika prosedur TombolKlik dijalankan, maka prosedur ProsesUtama dipanggil
atau dijalankan oleh prosedur TombolKlik.
>> proses yang ada di dalam ProsesUtama adalah menampilkan pesan. Jadi,
pesan akan muncul.
>> Cara seperti ini bisa Anda gunakan dalam proses berulang.
>> misal ada prosedur yang dijalankan saat klik suatu tombol bernama
KlikSekaliProsesBerulang berbunyi :
public sub KlikSekaliProsesBerulang()
dim lBaris as long
for lBaris=2 to 5
ProsesUtama 'panggil prosedur ProsesUtama
next lbaris
end sub
>> Jadi, prosedur ProsesUtama akan dipanggil sebanyak 4 kali (loop dari 2
sampai 5 adalah 2,3,4,5 alias 4 kali perulangan)
Sampai disini, mestinya sudah bisa menggabungkan seluruh bahasan di atas
menjadi satu alur proses yang Anda butuhkan melalui 2 prosedur, yaitu
prosedur yang dijalankan saat user klik sesuatu dan sebuah prosedur yang
berisi proses pokok yang akan dikerjakan.
Yang ini buat yang berminat saja....
Sebuah prosedur yang bisa digunakan oleh banyak prosedur lainnya secara
dinamis akan menguntungkan, karena baris kode bisa disusun sebagai kelompok
proses. Contohnya seperti di atas tadi, prosedur ProsesUtama bisa digunakan
oleh prosedur lainnya yang membutuhkan proses-proses yang ada dalam
prosedur ProsesUtama. Anggap saja ProsesUtama berisi proses sort tabel data
di sheet bernama 'MyData', maka prosedur lain yang membutuhkan proses sort
tersebut bisa memanggil prosedur ProsesUtama.
Sekarang, bagaimana jika ingin proses di dalam ProsesUtama mengerjakan
sesuatu tergantung si pemanggil ?
Misal, jika ProsesUtama dipanggil oleh TombolProsesSatu, maka akan
menampilkan pesan berbunyi X. Kalau oleh prosedur TombolProsesDua akan
menampilkan pesan berbunyi Y.
*** Menampilkan pesan adalah contoh proses di dalam ProsesUtama yang bisa
Anda sesuaikan dengan kebutuhan, misalnya disesuaikan untuk menjadi sebuah
proses Sort atau Copy Paste atau berbagai proses.
Untuk kebutuhan seperti ini, dibutuhkan media mengirimkan bunyi pesan
kepada prosedur ProsesUtama untuk ditampilkan. Media ini disebut *input
parameter*. Contoh bunyi prosedur ProsesUtama untuk narasi tersebut adalah
sebagai berikut :
'ProsesUtama harus diberi nilai string ke dalam variabel sBunyiPesan agar
bisa bekerja
Public Sub ProsesUtama( sBunyiPesan as string )
msgbox sBunyiPesan, vbinformation , "Pesan oleh ProsesUtama"
end sub
Prosedur TombolProsesSatu yang ingin memproses bunyi X menjadi berbunyi :
public sub TombolProsesSatu()
dim sPesanSatu as string
sPesanSatu="Pesan berbunyi X dari TombolProsesSatu" 'proses
menyiapkan nilai untuk ProsesUtama
ProsesUtama sPesanSatu 'panggil ProsesUtama
dengan memberi input ke sBunyiPesan dari sPesanSatu
end sub
Prosedur TombolProsesDua yang ingin memproses bunyi Y menjadi berbunyi :
public sub TombolProsesDua()
dim sPesanDua as string
sPesanDua="Ini Y dari TombolProsesDua" 'proses menyiapkan nilai
untuk ProsesUtama
ProsesUtama sPesanDua 'panggil ProsesUtama dengan
memberi input ke sBunyiPesan dari sPesanDua
end sub
Jadi,
> jika TombolProsesSatu dijalankan, pesan yang ditampilkan ProsesUtama
adalah nilai di sPesanSatu.
> jika TombolProsesDua dijalankan, pesan yang ditampilkan ProsesUtama
adalah nilai di sPesanDua.
Contoh nyata dari prosedur-prosedur berparameter seperti ini adalah
fungsi-fungsi bawaan Excel, seperti vLookUp saja deh. User bisa memasukkan
nilai lookup, area range lookup, nomor kolom area lookup yang diambil, cara
pencarian. User bisa memasang fungsi vlookup di banyak sheet dan range
berbeda yang merujuk ke range dan sheet yang berbeda pula. Tetapi prosedur
vLookUp hanya ada satu saja di dalam Excel. Bukankah sangat dinamis dan
menjadi simpel?
Syaratnya sederhana, yaitu pahami dengan benar datatype.
Hal-hal tentang VBA bisa dilihat di blog milis di
http://b-excel.blogspot.co.id/
Untuk belajar VBA, bisa dimulai dari sini
<http://b-excel.blogspot.co.id/2013/06/belajarvba-000-kenalan.html>.
Selesai....
File terlampir adalah contoh untuk kasus perintah berulang, tetapi tidak
pakai banyak prosedur seperti di atas karena prosesnya spesifik untuk
kegiatan dari 1 tombol saja, yaitu melalui shape GO di sheet bernama Data.
Wassalam,
Kid
2015-11-11 7:15 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id [belajar-excel] <
belajar-excel@yahoogroups.com>:
>
>
> Dear Master Kid,
>
>
>
> Iya dari vertical ke horizontal, betul ada beberapa yang tidak sesuai,
> tapi itu diabaikan saja, karena memang untuk yang tidak sesuai memang tidak
> diperlukan, biarkan nanti di sort dan dihapus manual. Ane minta tolong
> saja, ketika ane klik tombol 'button' ada pertanyaan dulu sebelum diolah
> berapa baris yang akan diolah. Begitu kira-kira master.
>
>
>
> Trims
>
> Riki
>
>
>
> *From:* belajar-excel@yahoogroups.com [mailto:
> belajar-excel@yahoogroups.com]
> *Sent:* Monday, November 9, 2015 4:19 PM
> *To:* BeExcel
> *Subject:* Re: [belajar-excel] Perintah berulang
>
>
>
>
>
> Hai Riki,
>
> Prosesnya untuk membentuk tabel vertikal dari data horisontal ya ?
>
> Bagaimana dengan bagian blok yang kolomnya todak sesuai (coba lihat di
> sheet OL2 kolom mix form) ? Apakah memang harus tetap tidak sesuai seperti
> itu ?
>
> Wassalam,
>
> Kid
>
>
>
>
>
>
>
>
> 2015-11-09 11:16 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id
> [belajar-excel] <belajar-excel@yahoogroups.com>:
>
>
>
> Dear Masters,
>
>
>
> Minta tolong, ane punya data terlampir. Ane cuma pengen tambah perintah
> macro, agar berulang sebanyak yang ane perintahkan (pake tombol input or
> gimana lah, ane juga ga ngerti masih belajar juga). Karena kalo data nya
> banyak ane harus click satu-persatu per baris untuk mengolah data 1 baris
> tersebut. Kalo kurang mengerti, silahkan lihat data excelnya, dan coba
> jalanin macro nya.
>
> Sori ya ane newbie jadi pertanyaannya simple aja.
>
>
>
> Makasih Masters
>
> Riki
>
>
>
>
>
Wed Nov 11, 2015 4:01 pm (PST) . Posted by:
"Riki" ricky45chiesa
Dear Master Kid
Canggih betul bos, mantaf, tengkyu, ane belajar banyak nihh,,,
Tengkyu
riki
From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Thursday, November 12, 2015 5:03 AM
To: BeExcel
Subject: Re: [belajar-excel] Perintah berulang [1 Attachment]
Hai Riki,
1. Perintah berulang untuk pindah cells aktif bunyinya begini : (disebuah prosedur dalam general module)
dim lBaris as long
for lBaris=2 to 5 'loop setiap nilai mulai dari 2 sampai 5
cells( lbaris , "a" ).activate 'hasil dari activate, 1 cell akan menjadi aktif dan bisa pakai object activecell
'atau pakai select agar bisa pakai object Selection
'cells(lbaris , "a" ).select '1 cells yang di select akan aktif
'tampilkan pesan (bila perlu) atau anggap saja ini proses panjang yang dilakukan prosedur lain
msgbox "Cell aktif di " & activecell.address
next lbaris
2. Perintah untuk meminta suatu nilai input yang bertipe numerik : (disebuah prosedur dalam general module)
'memanfaatkan InputBox milik Application
dim vInput as variant
ULANG: 'ini namanya label baris kode
vinput=application.inputbox("Masukkan nilai numerik minimal 2","Input nilai",2,type:=1) 'type:=1 untuk input number only
if vartype(vinput)=vbboolean then 'cek kalau hasilnya bertipe boolean saat user tekan cancel
'pesan atau proses keluar disini
msgbox "di Cancel",vbinformation,"Input nilai"
exit sub
elseif vinput<2 then 'misal validasi input kalau kurang dari 2 maka di tanya ulang
msgbox "Nilai minimal adalah 2",vbexclamation,"Input nilai"
goto ULANG
else 'selainnya
msgbox "Inputan Anda adalah " & vinput
endif
3. Memanggil prosedur lain
>> misal ada prosedur bernama ProsesUtama berbunyi :
public sub ProsesUtama()
msgbox "ini baris kode di dalam prosedur sebagai suatu proses utama",vbinformation,"Sub ProsesUtama"
end sub
>> kemudian ada prosedur lain yang dijalankan (misal dijalankan saat user klik suatu tombol) bernama TombolKlik berbunyi :
public sub TombolKlik()
ProsesUtama 'menjalankan atau memanggil prosedur lain bernama ProsesUtama
end sub
>> jika prosedur TombolKlik dijalankan, maka prosedur ProsesUtama dipanggil atau dijalankan oleh prosedur TombolKlik.
>> proses yang ada di dalam ProsesUtama adalah menampilkan pesan. Jadi, pesan akan muncul.
>> Cara seperti ini bisa Anda gunakan dalam proses berulang.
>> misal ada prosedur yang dijalankan saat klik suatu tombol bernama KlikSekaliProsesBerulang berbunyi :
public sub KlikSekaliProsesBerulang()
dim lBaris as long
for lBaris=2 to 5
ProsesUtama 'panggil prosedur ProsesUtama
next lbaris
end sub
>> Jadi, prosedur ProsesUtama akan dipanggil sebanyak 4 kali (loop dari 2 sampai 5 adalah 2,3,4,5 alias 4 kali perulangan)
Sampai disini, mestinya sudah bisa menggabungkan seluruh bahasan di atas menjadi satu alur proses yang Anda butuhkan melalui 2 prosedur, yaitu prosedur yang dijalankan saat user klik sesuatu dan sebuah prosedur yang berisi proses pokok yang akan dikerjakan.
Yang ini buat yang berminat saja....
Sebuah prosedur yang bisa digunakan oleh banyak prosedur lainnya secara dinamis akan menguntungkan, karena baris kode bisa disusun sebagai kelompok proses. Contohnya seperti di atas tadi, prosedur ProsesUtama bisa digunakan oleh prosedur lainnya yang membutuhkan proses-proses yang ada dalam prosedur ProsesUtama. Anggap saja ProsesUtama berisi proses sort tabel data di sheet bernama 'MyData', maka prosedur lain yang membutuhkan proses sort tersebut bisa memanggil prosedur ProsesUtama.
Sekarang, bagaimana jika ingin proses di dalam ProsesUtama mengerjakan sesuatu tergantung si pemanggil ?
Misal, jika ProsesUtama dipanggil oleh TombolProsesSatu, maka akan menampilkan pesan berbunyi X. Kalau oleh prosedur TombolProsesDua akan menampilkan pesan berbunyi Y.
*** Menampilkan pesan adalah contoh proses di dalam ProsesUtama yang bisa Anda sesuaikan dengan kebutuhan, misalnya disesuaikan untuk menjadi sebuah proses Sort atau Copy Paste atau berbagai proses.
Untuk kebutuhan seperti ini, dibutuhkan media mengirimkan bunyi pesan kepada prosedur ProsesUtama untuk ditampilkan. Media ini disebut input parameter. Contoh bunyi prosedur ProsesUtama untuk narasi tersebut adalah sebagai berikut :
'ProsesUtama harus diberi nilai string ke dalam variabel sBunyiPesan agar bisa bekerja
Public Sub ProsesUtama( sBunyiPesan as string )
msgbox sBunyiPesan, vbinformation , "Pesan oleh ProsesUtama"
end sub
Prosedur TombolProsesSatu yang ingin memproses bunyi X menjadi berbunyi :
public sub TombolProsesSatu()
dim sPesanSatu as string
sPesanSatu="Pesan berbunyi X dari TombolProsesSatu" 'proses menyiapkan nilai untuk ProsesUtama
ProsesUtama sPesanSatu 'panggil ProsesUtama dengan memberi input ke sBunyiPesan dari sPesanSatu
end sub
Prosedur TombolProsesDua yang ingin memproses bunyi Y menjadi berbunyi :
public sub TombolProsesDua()
dim sPesanDua as string
sPesanDua="Ini Y dari TombolProsesDua" 'proses menyiapkan nilai untuk ProsesUtama
ProsesUtama sPesanDua 'panggil ProsesUtama dengan memberi input ke sBunyiPesan dari sPesanDua
end sub
Jadi,
> jika TombolProsesSatu dijalankan, pesan yang ditampilkan ProsesUtama adalah nilai di sPesanSatu.
> jika TombolProsesDua dijalankan, pesan yang ditampilkan ProsesUtama adalah nilai di sPesanDua.
Contoh nyata dari prosedur-prosedur berparameter seperti ini adalah fungsi-fungsi bawaan Excel, seperti vLookUp saja deh. User bisa memasukkan nilai lookup, area range lookup, nomor kolom area lookup yang diambil, cara pencarian. User bisa memasang fungsi vlookup di banyak sheet dan range berbeda yang merujuk ke range dan sheet yang berbeda pula. Tetapi prosedur vLookUp hanya ada satu saja di dalam Excel. Bukankah sangat dinamis dan menjadi simpel?
Syaratnya sederhana, yaitu pahami dengan benar datatype.
Hal-hal tentang VBA bisa dilihat di blog milis di http://b-excel.blogspot.co.id/
Untuk belajar VBA, bisa dimulai dari sini <http://b-excel.blogspot.co.id/2013/06/belajarvba-000-kenalan.html> .
Selesai....
File terlampir adalah contoh untuk kasus perintah berulang, tetapi tidak pakai banyak prosedur seperti di atas karena prosesnya spesifik untuk kegiatan dari 1 tombol saja, yaitu melalui shape GO di sheet bernama Data.
Wassalam,
Kid
2015-11-11 7:15 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id <mailto:ricky45chiesa@yahoo.co.id> [belajar-excel] <belajar-excel@yahoogroups.com <mailto:belajar-excel@yahoogroups.com> >:
Dear Master Kid,
Iya dari vertical ke horizontal, betul ada beberapa yang tidak sesuai, tapi itu diabaikan saja, karena memang untuk yang tidak sesuai memang tidak diperlukan, biarkan nanti di sort dan dihapus manual. Ane minta tolong saja, ketika ane klik tombol 'button' ada pertanyaan dulu sebelum diolah berapa baris yang akan diolah. Begitu kira-kira master.
Trims
Riki
From: belajar-excel@yahoogroups.com <mailto:belajar-excel@yahoogroups.com> [mailto:belajar-excel@yahoogroups.com <mailto:belajar-excel@yahoogroups.com> ]
Sent: Monday, November 9, 2015 4:19 PM
To: BeExcel
Subject: Re: [belajar-excel] Perintah berulang
Hai Riki,
Prosesnya untuk membentuk tabel vertikal dari data horisontal ya ?
Bagaimana dengan bagian blok yang kolomnya todak sesuai (coba lihat di sheet OL2 kolom mix form) ? Apakah memang harus tetap tidak sesuai seperti itu ?
Wassalam,
Kid
2015-11-09 11:16 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id <mailto:ricky45chiesa@yahoo.co.id> [belajar-excel] <belajar-excel@yahoogroups.com <mailto:belajar-excel@yahoogroups.com> >:
Dear Masters,
Minta tolong, ane punya data terlampir. Ane cuma pengen tambah perintah macro, agar berulang sebanyak yang ane perintahkan (pake tombol input or gimana lah, ane juga ga ngerti masih belajar juga). Karena kalo data nya banyak ane harus click satu-persatu per baris untuk mengolah data 1 baris tersebut. Kalo kurang mengerti, silahkan lihat data excelnya, dan coba jalanin macro nya.
Sori ya ane newbie jadi pertanyaannya simple aja.
Makasih Masters
Riki
Canggih betul bos, mantaf, tengkyu, ane belajar banyak nihh,,,
Tengkyu
riki
From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Thursday, November 12, 2015 5:03 AM
To: BeExcel
Subject: Re: [belajar-excel] Perintah berulang [1 Attachment]
Hai Riki,
1. Perintah berulang untuk pindah cells aktif bunyinya begini : (disebuah prosedur dalam general module)
dim lBaris as long
for lBaris=2 to 5 'loop setiap nilai mulai dari 2 sampai 5
cells( lbaris , "a" ).activate 'hasil dari activate, 1 cell akan menjadi aktif dan bisa pakai object activecell
'atau pakai select agar bisa pakai object Selection
'cells(lbaris , "a" ).select '1 cells yang di select akan aktif
'tampilkan pesan (bila perlu) atau anggap saja ini proses panjang yang dilakukan prosedur lain
msgbox "Cell aktif di " & activecell.address
next lbaris
2. Perintah untuk meminta suatu nilai input yang bertipe numerik : (disebuah prosedur dalam general module)
'memanfaatkan InputBox milik Application
dim vInput as variant
ULANG: 'ini namanya label baris kode
vinput=application.inputbox("Masukkan nilai numerik minimal 2","Input nilai",2,type:=1) 'type:=1 untuk input number only
if vartype(vinput)=vbboolean then 'cek kalau hasilnya bertipe boolean saat user tekan cancel
'pesan atau proses keluar disini
msgbox "di Cancel",vbinformation,"Input nilai"
exit sub
elseif vinput<2 then 'misal validasi input kalau kurang dari 2 maka di tanya ulang
msgbox "Nilai minimal adalah 2",vbexclamation,"Input nilai"
goto ULANG
else 'selainnya
msgbox "Inputan Anda adalah " & vinput
endif
3. Memanggil prosedur lain
>> misal ada prosedur bernama ProsesUtama berbunyi :
public sub ProsesUtama()
msgbox "ini baris kode di dalam prosedur sebagai suatu proses utama",vbinformation,"Sub ProsesUtama"
end sub
>> kemudian ada prosedur lain yang dijalankan (misal dijalankan saat user klik suatu tombol) bernama TombolKlik berbunyi :
public sub TombolKlik()
ProsesUtama 'menjalankan atau memanggil prosedur lain bernama ProsesUtama
end sub
>> jika prosedur TombolKlik dijalankan, maka prosedur ProsesUtama dipanggil atau dijalankan oleh prosedur TombolKlik.
>> proses yang ada di dalam ProsesUtama adalah menampilkan pesan. Jadi, pesan akan muncul.
>> Cara seperti ini bisa Anda gunakan dalam proses berulang.
>> misal ada prosedur yang dijalankan saat klik suatu tombol bernama KlikSekaliProsesBerulang berbunyi :
public sub KlikSekaliProsesBerulang()
dim lBaris as long
for lBaris=2 to 5
ProsesUtama 'panggil prosedur ProsesUtama
next lbaris
end sub
>> Jadi, prosedur ProsesUtama akan dipanggil sebanyak 4 kali (loop dari 2 sampai 5 adalah 2,3,4,5 alias 4 kali perulangan)
Sampai disini, mestinya sudah bisa menggabungkan seluruh bahasan di atas menjadi satu alur proses yang Anda butuhkan melalui 2 prosedur, yaitu prosedur yang dijalankan saat user klik sesuatu dan sebuah prosedur yang berisi proses pokok yang akan dikerjakan.
Yang ini buat yang berminat saja....
Sebuah prosedur yang bisa digunakan oleh banyak prosedur lainnya secara dinamis akan menguntungkan, karena baris kode bisa disusun sebagai kelompok proses. Contohnya seperti di atas tadi, prosedur ProsesUtama bisa digunakan oleh prosedur lainnya yang membutuhkan proses-proses yang ada dalam prosedur ProsesUtama. Anggap saja ProsesUtama berisi proses sort tabel data di sheet bernama 'MyData', maka prosedur lain yang membutuhkan proses sort tersebut bisa memanggil prosedur ProsesUtama.
Sekarang, bagaimana jika ingin proses di dalam ProsesUtama mengerjakan sesuatu tergantung si pemanggil ?
Misal, jika ProsesUtama dipanggil oleh TombolProsesSatu, maka akan menampilkan pesan berbunyi X. Kalau oleh prosedur TombolProsesDua akan menampilkan pesan berbunyi Y.
*** Menampilkan pesan adalah contoh proses di dalam ProsesUtama yang bisa Anda sesuaikan dengan kebutuhan, misalnya disesuaikan untuk menjadi sebuah proses Sort atau Copy Paste atau berbagai proses.
Untuk kebutuhan seperti ini, dibutuhkan media mengirimkan bunyi pesan kepada prosedur ProsesUtama untuk ditampilkan. Media ini disebut input parameter. Contoh bunyi prosedur ProsesUtama untuk narasi tersebut adalah sebagai berikut :
'ProsesUtama harus diberi nilai string ke dalam variabel sBunyiPesan agar bisa bekerja
Public Sub ProsesUtama( sBunyiPesan as string )
msgbox sBunyiPesan, vbinformation , "Pesan oleh ProsesUtama"
end sub
Prosedur TombolProsesSatu yang ingin memproses bunyi X menjadi berbunyi :
public sub TombolProsesSatu()
dim sPesanSatu as string
sPesanSatu="Pesan berbunyi X dari TombolProsesSatu" 'proses menyiapkan nilai untuk ProsesUtama
ProsesUtama sPesanSatu 'panggil ProsesUtama dengan memberi input ke sBunyiPesan dari sPesanSatu
end sub
Prosedur TombolProsesDua yang ingin memproses bunyi Y menjadi berbunyi :
public sub TombolProsesDua()
dim sPesanDua as string
sPesanDua="Ini Y dari TombolProsesDua" 'proses menyiapkan nilai untuk ProsesUtama
ProsesUtama sPesanDua 'panggil ProsesUtama dengan memberi input ke sBunyiPesan dari sPesanDua
end sub
Jadi,
> jika TombolProsesSatu dijalankan, pesan yang ditampilkan ProsesUtama adalah nilai di sPesanSatu.
> jika TombolProsesDua dijalankan, pesan yang ditampilkan ProsesUtama adalah nilai di sPesanDua.
Contoh nyata dari prosedur-prosedur berparameter seperti ini adalah fungsi-fungsi bawaan Excel, seperti vLookUp saja deh. User bisa memasukkan nilai lookup, area range lookup, nomor kolom area lookup yang diambil, cara pencarian. User bisa memasang fungsi vlookup di banyak sheet dan range berbeda yang merujuk ke range dan sheet yang berbeda pula. Tetapi prosedur vLookUp hanya ada satu saja di dalam Excel. Bukankah sangat dinamis dan menjadi simpel?
Syaratnya sederhana, yaitu pahami dengan benar datatype.
Hal-hal tentang VBA bisa dilihat di blog milis di http://b-excel.blogspot.co.id/
Untuk belajar VBA, bisa dimulai dari sini <http://b-excel.blogspot.co.id/2013/06/belajarvba-000-kenalan.html> .
Selesai....
File terlampir adalah contoh untuk kasus perintah berulang, tetapi tidak pakai banyak prosedur seperti di atas karena prosesnya spesifik untuk kegiatan dari 1 tombol saja, yaitu melalui shape GO di sheet bernama Data.
Wassalam,
Kid
2015-11-11 7:15 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id <mailto:ricky45chiesa@yahoo.co.id> [belajar-excel] <belajar-excel@yahoogroups.com <mailto:belajar-excel@yahoogroups.com> >:
Dear Master Kid,
Iya dari vertical ke horizontal, betul ada beberapa yang tidak sesuai, tapi itu diabaikan saja, karena memang untuk yang tidak sesuai memang tidak diperlukan, biarkan nanti di sort dan dihapus manual. Ane minta tolong saja, ketika ane klik tombol 'button' ada pertanyaan dulu sebelum diolah berapa baris yang akan diolah. Begitu kira-kira master.
Trims
Riki
From: belajar-excel@yahoogroups.com <mailto:belajar-excel@yahoogroups.com> [mailto:belajar-excel@yahoogroups.com <mailto:belajar-excel@yahoogroups.com> ]
Sent: Monday, November 9, 2015 4:19 PM
To: BeExcel
Subject: Re: [belajar-excel] Perintah berulang
Hai Riki,
Prosesnya untuk membentuk tabel vertikal dari data horisontal ya ?
Bagaimana dengan bagian blok yang kolomnya todak sesuai (coba lihat di sheet OL2 kolom mix form) ? Apakah memang harus tetap tidak sesuai seperti itu ?
Wassalam,
Kid
2015-11-09 11:16 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id <mailto:ricky45chiesa@yahoo.co.id> [belajar-excel] <belajar-excel@yahoogroups.com <mailto:belajar-excel@yahoogroups.com> >:
Dear Masters,
Minta tolong, ane punya data terlampir. Ane cuma pengen tambah perintah macro, agar berulang sebanyak yang ane perintahkan (pake tombol input or gimana lah, ane juga ga ngerti masih belajar juga). Karena kalo data nya banyak ane harus click satu-persatu per baris untuk mengolah data 1 baris tersebut. Kalo kurang mengerti, silahkan lihat data excelnya, dan coba jalanin macro nya.
Sori ya ane newbie jadi pertanyaannya simple aja.
Makasih Masters
Riki
Wed Nov 11, 2015 5:46 pm (PST) . Posted by:
"Rudhie" rudhiedhie
Dear Mr. Kid
SUKSESSSSS...Terima kasih atas ilmunya, rumusnya ajib dah.Terima kasih juga untuk semua BeExceller.
Salam
Ruddi
Pada Rabu, 11 November 2015 12:28, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Kalau pakai mod mod an kaya kemarin, bunyinya kira-kira begini :
=IF( Mod(D7;1) >=0,72 ; Ceiling(D7;1) + Mod(D7;1) - 0,72 ; D7 )
Regards,
Kid
2015-11-11 12:05 GMT+07:00 Mr. Kid <mr.nmkid@gmail.com>:
hmm...
Bagaimana cara membedakan data 123.5 sebagai kelebihan 500 botol, 50 botol, dengan 5 botol ya...
2015-11-11 11:51 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com>:
Dear Mas OdongIndikasinya ya dibelakang komanya minus 72 (inikan lanjutan pertanyaan mas rudi)705.80 (belakang koma angka 80 – 72 = 08 jadi angka "72 bottles" nya genap jadi 1 case, maka keluar angka 706.08. yang 705.100 juga sama bos, dibelakang koma 100 – 72 = 28 berarti dibelakang koma 100 itu adalah 1 case, 28 bottles makanya angkanya jadi 706.28Gitu kira-kiraTrimsriki From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Wednesday, November 11, 2015 11:38 AM
To: belajar-excel@yahoogroups.com
Subject: Bls: [belajar-excel] Mohon rumus formula kelipatan yoo riki, sebelum bos kid jawab, bisa di kasih tau apa indikatornya 705.80 bisa menjadi 706.80 atau
705.100 menjadi 706.28. sebab aplikasi excel membutuhkan indikator untuk melakukan pekerjaannya, kasarnya kalo harus berdasarkan keinginan user tanpa ada indikator yang dapat di koputasi, mungkin suatu saat akan bisa dengan nama aplikasi " excel just your mind "
br,
odong nando Pada Rabu, 11 November 2015 11:28, "'Riki' ricky45chiesa@yahoo.co.id [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Dear Master Kid Betul sekali, kalo kebetulan dua digit ya, bisa.Terinspirasi dari pertanyaan Pak Rudi, Ane skg ingin tahu caranya, kalo angkanya 705.80 bagaimana rumusnya bisa menjadi 706.08 Atau berlanjut 3 digit koma705.100 menjadi 706.28 trimsRiki Ingin tahu sebagai referensi aja :D From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Wednesday, November 11, 2015 10:41 AM
To: belajar-excel@yahoogroups.com
Subject: Re: [belajar-excel] Mohon rumus formula kelipatan Hehehe...Ada banyak cara yang diurunkan oleh rekans BeExceller.Ayo ada lagi yang mau urun? Sedikit menambahkan tentang cara yang diurunkan mas Riki ini, yaitu adanya syarat dan ketentuan yang berlaku. Salah satu syarat dan ketentuannya adalah nilai data maksimal 2 digit dibelakang koma.Syaratnya berbunyi nilai data loh ya. Bukan tampilan nilai.Nilai data 123.072 bisa ditampilkan menjadi 123.07 ;) Kid Sent from my smart enough phone
On Nov 11, 2015, at 10:15, 'Riki' ricky45chiesa@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
Dear Mr Rudi Mungkin simple begini juga bisa,Mudah2an juga sesuai harapan Trimsriki From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Wednesday, November 11, 2015 8:56 AM
To: belajar-excel@yahoogroups.com
Subject: Bls: [belajar-excel] Mohon rumus formula kelipatan Dear Pak Odong, Pak Heri & Mr. Kid Terima kasih banyak atas respond dan solusinya, akhirnya saya mendapatkan tambahan ilmu lagipermsalahan yg dihadapi.Smoga ilmu yang diberikan, mendapatkan balasan yang baik dariNYA.Aaminnn... Wassalam Rudi Pada Selasa, 10 November 2015 15:22, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Menggunakan konsep Pak Heri dan formulanya mas Odong Nando,
=IF( Angka_Desimalnya > 0,72 ; Angka + 1 ; Angka_Desimal )=IF( ("0,"&MID(D7;FIND(",";D7)+1;9))*1>=0,72 ; ROUNDUP(D7;0) ; D7 )Angka_Desimalnya bisa didapat dengan fungsi ModAngka + 1 selain dengan RoundUp juga bisa didapat dengan fungsi CeilingJadi,
=IF( Mod(D7;1) >=0,72 ; Ceiling(D7;1) ; D7 )Fungsi Mod : mengambil nilai sisa bagi. Mod( 5 , 3 )=2 adalah sisa bagi 5 dibagi 3, yaitu 2. Bilangan pecahan, jika dibagi dengan 1 yang bulat, akan menghasilkan sisi pecahannya.Fungsi Ceiling : menaikkan nilai ke kelipatan tertentu yang terdekat. Ceiling( 5.2 , 0.3 )=5.4 adalah menaikkan angka 5.2 ke kelipatan 0.3 terdekat, yaitu 5.4 karena kelipatan 0.3 yang terdekat setalah 5.2 adalah 5.4Contoh lain : Ceiling( 17, 7 )=21 adalah menaikkan angka 17 ke kelipatan 7 terdekat, yaitu 21 Regards,Kid On Tue, Nov 10, 2015 at 2:58 PM, odong nando odongnando@yahoo.com [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
coba tulis di F7 formula =IF(("0,"&MID(D7;FIND(",";D7)+1;9))*1>=0,72;ROUNDUP(D7;0);D7) bila regional komputer setempat english maka ganti karakter titik koma ";" menjadi koma ",". br,
odong nando Pada Selasa, 10 November 2015 14:36, "Rudhie rudhiedhie@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Dear Pak Odong Mungkin penjelasan atas permasalahan yang saya miliki kurang detail maksudnya.Untuk itu maka Saya lampirkan filenya kembali untuk jenis permasalahannya, mungkin dengan demikian apa yang dimaksud oleh saya bisa dipahami,dan semoga bisa membantu saya memberikan solusinya. Terima kasih Pada Selasa, 10 November 2015 10:50, "odong nando odongnando@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: saya pake formula roundup pada cell D6, dan saya copy ke cell yang lain dibawahnya, tidak ada masalah kok =ROUNDUP(C6;0) bila regional komputer setempat english maka ganti karakter titik koma ";" menjadi koma ",". bila masih bermasalah bisa didiskusikan masalah nya dimana, biar anggota yang lain mengetahui sebenarnya apa yang menjadi kendala pak rudhi. br,
odong nando Pada Selasa, 10 November 2015 10:14, "Rudhie rudhiedhie@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Dear Pak Odong Saya sudah coba menggunakan fungsi ROUNDUP, tetapi pembulatannya tidak sesuai dengan keiinginan.Apakah bisa dibantu dengan contoh perumusannya? Terima kasih Pada Senin, 9 November 2015 17:34, "odong nando odongnando@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: bisa pake formula "ROUNDUP" br,
odong nando Pada Senin, 9 November 2015 14:43, "Rudhie rudhiedhie@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Dear Be Exceller Selamat siangMohon bantuannya bagaimana membuat formula perhitungan kelipatan untuk decimal dibelakang angka.Contoh file saya lampirkan. Terima Kasih
<Copy of hitung kelipatan.xlsx>
#yiv5705570135 #yiv5705570135 -- #yiv5705570135ygrp-mkp {border:1px solid #d8d8d8;font-family:Arial;margin:10px 0;padding:0 10px;}#yiv5705570135 #yiv5705570135ygrp-mkp hr {border:1px solid #d8d8d8;}#yiv5705570135 #yiv5705570135ygrp-mkp #yiv5705570135hd {color:#628c2a;font-size:85%;font-weight:700;line-height:122%;margin:10px 0;}#yiv5705570135 #yiv5705570135ygrp-mkp #yiv5705570135ads {margin-bottom:10px;}#yiv5705570135 #yiv5705570135ygrp-mkp .yiv5705570135ad {padding:0 0;}#yiv5705570135 #yiv5705570135ygrp-mkp .yiv5705570135ad p {margin:0;}#yiv5705570135 #yiv5705570135ygrp-mkp .yiv5705570135ad a {color:#0000ff;text-decoration:none;}#yiv5705570135 #yiv5705570135ygrp-sponsor #yiv5705570135ygrp-lc {font-family:Arial;}#yiv5705570135 #yiv5705570135ygrp-sponsor #yiv5705570135ygrp-lc #yiv5705570135hd {margin:10px 0px;font-weight:700;font-size:78%;line-height:122%;}#yiv5705570135 #yiv5705570135ygrp-sponsor #yiv5705570135ygrp-lc .yiv5705570135ad {margin-bottom:10px;padding:0 0;}#yiv5705570135 #yiv5705570135actions {font-family:Verdana;font-size:11px;padding:10px 0;}#yiv5705570135 #yiv5705570135activity {background-color:#e0ecee;float:left;font-family:Verdana;font-size:10px;padding:10px;}#yiv5705570135 #yiv5705570135activity span {font-weight:700;}#yiv5705570135 #yiv5705570135activity span:first-child {text-transform:uppercase;}#yiv5705570135 #yiv5705570135activity span a {color:#5085b6;text-decoration:none;}#yiv5705570135 #yiv5705570135activity span span {color:#ff7900;}#yiv5705570135 #yiv5705570135activity span .yiv5705570135underline {text-decoration:underline;}#yiv5705570135 .yiv5705570135attach {clear:both;display:table;font-family:Arial;font-size:12px;padding:10px 0;width:400px;}#yiv5705570135 .yiv5705570135attach div a {text-decoration:none;}#yiv5705570135 .yiv5705570135attach img {border:none;padding-right:5px;}#yiv5705570135 .yiv5705570135attach label {display:block;margin-bottom:5px;}#yiv5705570135 .yiv5705570135attach label a {text-decoration:none;}#yiv5705570135 blockquote {margin:0 0 0 4px;}#yiv5705570135 .yiv5705570135bold {font-family:Arial;font-size:13px;font-weight:700;}#yiv5705570135 .yiv5705570135bold a {text-decoration:none;}#yiv5705570135 dd.yiv5705570135last p a {font-family:Verdana;font-weight:700;}#yiv5705570135 dd.yiv5705570135last p span {margin-right:10px;font-family:Verdana;font-weight:700;}#yiv5705570135 dd.yiv5705570135last p span.yiv5705570135yshortcuts {margin-right:0;}#yiv5705570135 div.yiv5705570135attach-table div div a {text-decoration:none;}#yiv5705570135 div.yiv5705570135attach-table {width:400px;}#yiv5705570135 div.yiv5705570135file-title a, #yiv5705570135 div.yiv5705570135file-title a:active, #yiv5705570135 div.yiv5705570135file-title a:hover, #yiv5705570135 div.yiv5705570135file-title a:visited {text-decoration:none;}#yiv5705570135 div.yiv5705570135photo-title a, #yiv5705570135 div.yiv5705570135photo-title a:active, #yiv5705570135 div.yiv5705570135photo-title a:hover, #yiv5705570135 div.yiv5705570135photo-title a:visited {text-decoration:none;}#yiv5705570135 div#yiv5705570135ygrp-mlmsg #yiv5705570135ygrp-msg p a span.yiv5705570135yshortcuts {font-family:Verdana;font-size:10px;font-weight:normal;}#yiv5705570135 .yiv5705570135green {color:#628c2a;}#yiv5705570135 .yiv5705570135MsoNormal {margin:0 0 0 0;}#yiv5705570135 o {font-size:0;}#yiv5705570135 #yiv5705570135photos div {float:left;width:72px;}#yiv5705570135 #yiv5705570135photos div div {border:1px solid #666666;height:62px;overflow:hidden;width:62px;}#yiv5705570135 #yiv5705570135photos div label {color:#666666;font-size:10px;overflow:hidden;text-align:center;white-space:nowrap;width:64px;}#yiv5705570135 #yiv5705570135reco-category {font-size:77%;}#yiv5705570135 #yiv5705570135reco-desc {font-size:77%;}#yiv5705570135 .yiv5705570135replbq {margin:4px;}#yiv5705570135 #yiv5705570135ygrp-actbar div a:first-child {margin-right:2px;padding-right:5px;}#yiv5705570135 #yiv5705570135ygrp-mlmsg {font-size:13px;font-family:Arial, helvetica, clean, sans-serif;}#yiv5705570135 #yiv5705570135ygrp-mlmsg table {font-size:inherit;font:100%;}#yiv5705570135 #yiv5705570135ygrp-mlmsg select, #yiv5705570135 input, #yiv5705570135 textarea {font:99% Arial, Helvetica, clean, sans-serif;}#yiv5705570135 #yiv5705570135ygrp-mlmsg pre, #yiv5705570135 code {font:115% monospace;}#yiv5705570135 #yiv5705570135ygrp-mlmsg * {line-height:1.22em;}#yiv5705570135 #yiv5705570135ygrp-mlmsg #yiv5705570135logo {padding-bottom:10px;}#yiv5705570135 #yiv5705570135ygrp-msg p a {font-family:Verdana;}#yiv5705570135 #yiv5705570135ygrp-msg p#yiv5705570135attach-count span {color:#1E66AE;font-weight:700;}#yiv5705570135 #yiv5705570135ygrp-reco #yiv5705570135reco-head {color:#ff7900;font-weight:700;}#yiv5705570135 #yiv5705570135ygrp-reco {margin-bottom:20px;padding:0px;}#yiv5705570135 #yiv5705570135ygrp-sponsor #yiv5705570135ov li a {font-size:130%;text-decoration:none;}#yiv5705570135 #yiv5705570135ygrp-sponsor #yiv5705570135ov li {font-size:77%;list-style-type:square;padding:6px 0;}#yiv5705570135 #yiv5705570135ygrp-sponsor #yiv5705570135ov ul {margin:0;padding:0 0 0 8px;}#yiv5705570135 #yiv5705570135ygrp-text {font-family:Georgia;}#yiv5705570135 #yiv5705570135ygrp-text p {margin:0 0 1em 0;}#yiv5705570135 #yiv5705570135ygrp-text tt {font-size:120%;}#yiv5705570135 #yiv5705570135ygrp-vital ul li:last-child {border-right:none !important;}#yiv5705570135
SUKSESSSSS...Terima kasih atas ilmunya, rumusnya ajib dah.Terima kasih juga untuk semua BeExceller.
Salam
Ruddi
Pada Rabu, 11 November 2015 12:28, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis:
Kalau pakai mod mod an kaya kemarin, bunyinya kira-kira begini :
=IF( Mod(D7;1) >=0,72 ; Ceiling(D7;1) + Mod(D7;1) - 0,72 ; D7 )
Regards,
Kid
2015-11-11 12:05 GMT+07:00 Mr. Kid <mr.nmkid@gmail.com>:
hmm...
Bagaimana cara membedakan data 123.5 sebagai kelebihan 500 botol, 50 botol, dengan 5 botol ya...
2015-11-11 11:51 GMT+07:00 'Riki' ricky45chiesa@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com>:
Dear Mas OdongIndikasinya ya dibelakang komanya minus 72 (inikan lanjutan pertanyaan mas rudi)705.80 (belakang koma angka 80 – 72 = 08 jadi angka "72 bottles" nya genap jadi 1 case, maka keluar angka 706.08. yang 705.100 juga sama bos, dibelakang koma 100 – 72 = 28 berarti dibelakang koma 100 itu adalah 1 case, 28 bottles makanya angkanya jadi 706.28Gitu kira-kiraTrimsriki From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Wednesday, November 11, 2015 11:38 AM
To: belajar-excel@yahoogroups.com
Subject: Bls: [belajar-excel] Mohon rumus formula kelipatan yoo riki, sebelum bos kid jawab, bisa di kasih tau apa indikatornya 705.80 bisa menjadi 706.80 atau
705.100 menjadi 706.28. sebab aplikasi excel membutuhkan indikator untuk melakukan pekerjaannya, kasarnya kalo harus berdasarkan keinginan user tanpa ada indikator yang dapat di koputasi, mungkin suatu saat akan bisa dengan nama aplikasi " excel just your mind "
br,
odong nando Pada Rabu, 11 November 2015 11:28, "'Riki' ricky45chiesa@yahoo.co.id [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Dear Master Kid Betul sekali, kalo kebetulan dua digit ya, bisa.Terinspirasi dari pertanyaan Pak Rudi, Ane skg ingin tahu caranya, kalo angkanya 705.80 bagaimana rumusnya bisa menjadi 706.08 Atau berlanjut 3 digit koma705.100 menjadi 706.28 trimsRiki Ingin tahu sebagai referensi aja :D From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Wednesday, November 11, 2015 10:41 AM
To: belajar-excel@yahoogroups.com
Subject: Re: [belajar-excel] Mohon rumus formula kelipatan Hehehe...Ada banyak cara yang diurunkan oleh rekans BeExceller.Ayo ada lagi yang mau urun? Sedikit menambahkan tentang cara yang diurunkan mas Riki ini, yaitu adanya syarat dan ketentuan yang berlaku. Salah satu syarat dan ketentuannya adalah nilai data maksimal 2 digit dibelakang koma.Syaratnya berbunyi nilai data loh ya. Bukan tampilan nilai.Nilai data 123.072 bisa ditampilkan menjadi 123.07 ;) Kid Sent from my smart enough phone
On Nov 11, 2015, at 10:15, 'Riki' ricky45chiesa@yahoo.co.id [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
Dear Mr Rudi Mungkin simple begini juga bisa,Mudah2an juga sesuai harapan Trimsriki From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com]
Sent: Wednesday, November 11, 2015 8:56 AM
To: belajar-excel@yahoogroups.com
Subject: Bls: [belajar-excel] Mohon rumus formula kelipatan Dear Pak Odong, Pak Heri & Mr. Kid Terima kasih banyak atas respond dan solusinya, akhirnya saya mendapatkan tambahan ilmu lagipermsalahan yg dihadapi.Smoga ilmu yang diberikan, mendapatkan balasan yang baik dariNYA.Aaminnn... Wassalam Rudi Pada Selasa, 10 November 2015 15:22, "'Mr. Kid' mr.nmkid@gmail.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Menggunakan konsep Pak Heri dan formulanya mas Odong Nando,
=IF( Angka_Desimalnya > 0,72 ; Angka + 1 ; Angka_Desimal )=IF( ("0,"&MID(D7;FIND(",";D7)+1;9))*1>=0,72 ; ROUNDUP(D7;0) ; D7 )Angka_Desimalnya bisa didapat dengan fungsi ModAngka + 1 selain dengan RoundUp juga bisa didapat dengan fungsi CeilingJadi,
=IF( Mod(D7;1) >=0,72 ; Ceiling(D7;1) ; D7 )Fungsi Mod : mengambil nilai sisa bagi. Mod( 5 , 3 )=2 adalah sisa bagi 5 dibagi 3, yaitu 2. Bilangan pecahan, jika dibagi dengan 1 yang bulat, akan menghasilkan sisi pecahannya.Fungsi Ceiling : menaikkan nilai ke kelipatan tertentu yang terdekat. Ceiling( 5.2 , 0.3 )=5.4 adalah menaikkan angka 5.2 ke kelipatan 0.3 terdekat, yaitu 5.4 karena kelipatan 0.3 yang terdekat setalah 5.2 adalah 5.4Contoh lain : Ceiling( 17, 7 )=21 adalah menaikkan angka 17 ke kelipatan 7 terdekat, yaitu 21 Regards,Kid On Tue, Nov 10, 2015 at 2:58 PM, odong nando odongnando@yahoo.com [belajar-excel] <belajar-excel@yahoogroups.com> wrote:
coba tulis di F7 formula =IF(("0,"&MID(D7;FIND(",";D7)+1;9))*1>=0,72;ROUNDUP(D7;0);D7) bila regional komputer setempat english maka ganti karakter titik koma ";" menjadi koma ",". br,
odong nando Pada Selasa, 10 November 2015 14:36, "Rudhie rudhiedhie@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Dear Pak Odong Mungkin penjelasan atas permasalahan yang saya miliki kurang detail maksudnya.Untuk itu maka Saya lampirkan filenya kembali untuk jenis permasalahannya, mungkin dengan demikian apa yang dimaksud oleh saya bisa dipahami,dan semoga bisa membantu saya memberikan solusinya. Terima kasih Pada Selasa, 10 November 2015 10:50, "odong nando odongnando@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: saya pake formula roundup pada cell D6, dan saya copy ke cell yang lain dibawahnya, tidak ada masalah kok =ROUNDUP(C6;0) bila regional komputer setempat english maka ganti karakter titik koma ";" menjadi koma ",". bila masih bermasalah bisa didiskusikan masalah nya dimana, biar anggota yang lain mengetahui sebenarnya apa yang menjadi kendala pak rudhi. br,
odong nando Pada Selasa, 10 November 2015 10:14, "Rudhie rudhiedhie@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Dear Pak Odong Saya sudah coba menggunakan fungsi ROUNDUP, tetapi pembulatannya tidak sesuai dengan keiinginan.Apakah bisa dibantu dengan contoh perumusannya? Terima kasih Pada Senin, 9 November 2015 17:34, "odong nando odongnando@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: bisa pake formula "ROUNDUP" br,
odong nando Pada Senin, 9 November 2015 14:43, "Rudhie rudhiedhie@yahoo.com [belajar-excel]" <belajar-excel@yahoogroups.com> menulis: Dear Be Exceller Selamat siangMohon bantuannya bagaimana membuat formula perhitungan kelipatan untuk decimal dibelakang angka.Contoh file saya lampirkan. Terima Kasih
<Copy of hitung kelipatan.xlsx>
#yiv5705570135 #yiv5705570135 -- #yiv5705570135ygrp-
Wed Nov 11, 2015 7:37 pm (PST) . Posted by:
"Bambang Setiawan" benkbenkz
Dear All Suhu,
Mohon bantuan tips-nya, bagaimana caranya memasukan criteria pada
advanced filter
jika criteria range nya bertipe tanggal dan tanpa harus melakukan format
cells dulu menjadi number.
Misalnya jika saya ingin melakuan filter mengambil data yang tanggal
lahirnya lebih besar sama dengan 1992-01-01
Birth Place
Birth date
>=1992-01-01
Birth Place
Birth date
Bogor
1992-12-31
Jakarta
1994-11-28
Jakarta
1992-10-03
Jakarta
1993-01-01
Medan
1993-02-05
Atas bantuannya diucapkan terima kasih.
Salam,
Mohon bantuan tips-nya, bagaimana caranya memasukan criteria pada
advanced filter
jika criteria range nya bertipe tanggal dan tanpa harus melakukan format
cells dulu menjadi number.
Misalnya jika saya ingin melakuan filter mengambil data yang tanggal
lahirnya lebih besar sama dengan 1992-01-01
Birth Place
Birth date
>=1992-01-
Birth Place
Birth date
Bogor
1992-12-31
Jakarta
1994-11-28
Jakarta
1992-10-03
Jakarta
1993-01-01
Medan
1993-02-05
Atas bantuannya diucapkan terima kasih.
Salam,
============================================================
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
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
---------------------------------------------------------------------
Pojok Lowongan Kerja yang disediakan milis :
http://milis-belajar-excel.1048464.n5.nabble.com/Pojok-Lowongan-Kerja-f5725753.html
*** Posting lowongan kerja : ke link tersebut dan klik New Topic
============================================================
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