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.nm...@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_m...@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.nm...@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_m...@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 hendrikkarn...@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_m...@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