seringkali kalau melihat macro excel bekerja bisa bikin pusing.
untuk mengatasinya gunakan kode:
- diawal macro
Application.ScreenUpdating = False
dan diakhir macro gunakan kode :
Application.ScreenUpdating = True
untuk kode makro yang langsung menunjuk alamat sel, akan terlalu riskan, dan tidak fleksibel
karena saat letak cel berubah maka macro tidak akan jalan malah salah copy.
seperti contoh dibawah :
Range("S10").Select
agar macro lebih fleksible saat blok atau pilih beberapa cell langsung aja di bikin referensi dengan define name, contoh range diberi nama refername:
ActiveWorkbook.Names.Add Name:="refername", RefersTo:=Selection
nanti saat proses bisa langsung menunjuk ke referensi nama sel
contoh proses filter dibawah:
ActiveSheet.Range("refername").AutoFilter Field:=8, Criteria1:="=*arti*" _
, Operator:=xlOr, Criteria2:="=*ada*"
atau proses copy contoh:
Application.Goto Reference:="almckintfc"
Selection.Copy
saat pertama kali buka file untuk mendukung fleksibilitas.
maka blok atau drag sell tidak usah nyebut alamat cell.
tapi bisa dengan blok ke ujung kanan lalu ke ujung bawah dan langsung beri nama rangenya.
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
ActiveWorkbook.Names.Add Name:="refername1", RefersTo:=Selection
bisa juga dengan blok langsung dari tempat awal ke ujung akhir cell dan langsung beri nama rangenya.
Range(Selection, ActiveCell.SpecialCells(xlLastCell))
ActiveWorkbook.Names.Add Name:="refername1", RefersTo:=Selection
http://mymacrosformula.blogspot.com/
Baiklah sekarang kita mulai masukkan dalam sebuah persoalan:
soal : aku ingin agar bisa table hasil salinan atau copyan (dari web misalnya) ke excel langsung bisa dipaste dan langsung bisa disortir. dan tempat pastenya bisa dimana saja? bisa dicell mana saja. (tidak ditentukan tempat tabelnya di cell mana)
dan yang menjadi key untuk sortirnya adalah kolom ke tiga
jawab :
tehniknya
- blok tabel dgn macro drag / blok range sampai ke ujung kanan dan drag sampai ke ujung
bawah. http://mymacrosformula.blogspot.com/
- gunakan macro define name untuk menamakan tabel.
- gunakan macro bolak balik cell untuk menempatkan cursor di tempat paling kiri dan paling
atas tabel. atau a1 pada tabel.
- gunakan macro offset cell untuk memindahkan cursor ke header kolom ketiga (yg menjadi
kunci sortir). http://mymacrosformula.blogspot.com/
- gunakan macro define name untuk menamakan header yg menjadi key sortiran.
- gunakan macro range untuk blok range tabel.
- baru terakhir gunakan makro sortir dengan sort key nya adalah referensi sell yang sudah diberi nama tadi.
contoh macronya:
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select
'[[http://mymacrosformula.blogspot.com/2014/09/macro-excel-lebih-fleksibel.html]]
ActiveWorkbook.Names.Add Name:="area", RefersTo:=Selection
ActiveCell.Offset(1, 0).Select
ActiveCell.Offset(-1, 0).Select
'[[http://mymacrosformula.blogspot.com/2014/09/macro-excel-lebih-fleksibel.html]]
ActiveCell.Offset(0, 3).Select
ActiveWorkbook.Names.Add Name:="kolomtiga", RefersTo:=Selection '[[http://mymacrosformula.blogspot.com/2014/09/macro-excel-lebih-fleksibel.html]]
Range("area").Select
Selection.Sort Key1:=Range("kolomtiga"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
http://mymacrosformula.blogspot.com/
http://mymacrosformula.blogspot.com/
http://mymacrosformula.blogspot.com/
http://mymacrosformula.blogspot.com/
http://mymacrosformula.blogspot.com/
http://mymacrosformula.blogspot.com/
Tidak ada komentar:
Posting Komentar