Untuk membuat VBA/Macro ada 2 cara :
- Cara mudah adalah dengan record macro, nanti tinggal kita edit hasilnya.
- Bisa juga kita cari code yang ada diinternet lalu kita edit
Kita mulai dulu dari yang pertama
Kita akan mencoba membuat macro yang dapat paste secara value/angkanya saja dan sekaligus transpose
1. Cara Pertama, Record Macro
- Kita Copy dulu salah satu cells (hal ini supaya tombol paste-specials bisa On)
- Kita klik Record Macro di ribbon developer
- akan muncul windows sbb :
- Kita isi namanya (usahakan informatif)
- Kita klik text box di shortcut key
- Kita pencet SHIFT+T jika ingin keyboard shorcut adalah Ctrl+Shift+T (atau tombol lainnya terserah anda)
- Pastikan kita memilih Personal Macro Workbook
- Isi description dengan penjelasan ttg macro ini
- Klik OK
- Kita akan kembali ke Excel
- Klik kanan salah satu cell, lalu pilih Paste specials
- Pilih Value dan transpose
- Klik OK
- Klik stop recording di ribbon developer
- Kita coba
- Copy dulu cells yang mau dipaste transpose value
- Pencet Ctrl+Shift+T
- ini hasilnya
- Ini codenya kalo kita lihat di VBE
-
Sub Paste_Transpose_Value() ' ' Paste_Transpose_Value Macro ' Paste secara transpose value ' ' Keyboard Shortcut: Ctrl+Shift+T ' Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=True End Sub
- Selesai
Tentu saja cara ini menghasilkan code yang masih kotor karena belum ada trap error, artinya jika ada masalah kita tidak tahu dimana kesalahannya
- Jika kita tidak disheet atau sedang klik shape/picture
- Kita lupa belum copy
- Klik End untuk stop/Debug untuk edit code
Cara 2. Kita akan membuat yang lebih perfect
- Kita klik Record Macro di ribbon developer
- akan muncul windows sbb :
- Kita isi namanya (usahakan informatif)
- Kita klik text box di shortcut key
- Kita pencet SHIFT+P jika ingin keyboard shorcut adalah Ctrl+Shift+P (atau tombol lainnya terserah anda)
- Pastikan kita memilih Personal Macro Workbook
- Isi description dengan penjelasan ttg macro ini
- Klik OK
- Kita akan kembali ke Excel
- Klik stop recording di ribbon developer
- Kita coba Edit macro tadi dengan edit langsung ke VBE (Visual Basic Editor)
- Pencet Alt+F11
- Masuk ke VBE
- Cari di project explorer, personal.xlsb
- Buka module
- Cari ditiap module macro yang tadi kita rekam
- Ini hasil rekaman tadi
-
Sub Paste_Transpose_Value2() ' ' Paste_Transpose_Value2 Macro ' Paste Transpose Value cara 2 ' ' Keyboard Shortcut: Ctrl+Shift+P ' End Sub
- Kita coba cari di internet/ kita buat sendiri code untuk paste value transpose
- ini hasilnya
-
Sub Paste_Transpose_Value2() ' ' Paste_Transpose_Value2 Macro ' Paste Transpose Value cara 2 ' ' Keyboard Shortcut: Ctrl+Shift+P ' '******************************************************************* '************** Start Error Trap '******************************************************************* 'tidak bisa ditampilkan jika bukan range If TypeName(Selection) <> "Range" Then MsgBox "sorry,hanya bisa dipaste di worksheet, pilih dulu salah satu cell untuk paste" Exit Sub End If 'harus ada yang mau dicopy If Application.CutCopyMode = False Then MsgBox "Not in Copy/Cut Mode" & vbCrLf & "dicopy dulu ANUNYA!!!" Exit Sub End If '******************************************************************* '**************End ERROR TRAP '******************************************************************* 'baru kita paste value transpose Selection.PasteSpecial Paste:=xlPasteValues, Transpose:=True End Sub
- Sudah ada error trapnya jadi jika dipaste di Chart sheet atau di shape/picture nggak bisa, harus ada cell yang terpilih
- Serta harus sudah mengCopy dulu, kalo belum akan ada peringatan
- Selesai
Catatan :
- Code untuk paste yang lain bisa cari di addin e-Audit Utilities, module modPasteSpecials, itu source codenya FREE/Open Source
- Anda bisa browse Contoh2 VBA di eoditor contohnya untuk paste specials bisa ke http://eoditor.com/tips-tricks-vba-excel/paste-specials/