ZDIRY-TUFWT-EBONM-EYJ00-IDBLANTER.COM
ZDIRY-TUFWT-EBONM-EYJ00
BLANTERWISDOM105

Cut, Copy, Dan Paste Vba Macro Excel

9/25/2018

Deskripsi

Kita akan mempelajari beberapa metode berbeda untuk Cut, Copy dan Paste menggunakan VBA Macro Excel. Dimana hasil Paste akan disimpan di Range atau Cell lainnya. Serta Cut, Copy dan Paste dengan kriteria tertentu.

Copy (Cut) dan Paste Pada Satu Cell


Contoh metode copy atau cut dan paste pada satu cell, misalkan pada Cell atau Range "A3" yang berada pada Tabel 1 akan di pastekan ke Range “E3” yang berada pada pada Tabel 2.


Dengan fungsinya adalah sebagai berikut,

Sub paste_SatuCell() 
   ' Keyboard Shortcut: Ctrl+Shift+G 
   'Copy dan Paste Satu Cell 
   Range("A3").Copy Range("E3") 
   'Cut dan Copy Satu Cell 
   Range("A3").Cut Range("E3") 
   Application.CutCopyMode = xlCopy 
 End Sub

Untuk menjalankannya cukup dengan menekan tombol CTRL+ SHIFT + G pada keyboard.

Copy Ke Active Cell

Jika ingin copy Active Cell ke Cell lainnya dengan mengatur Offset atau lokasi baris kolom setelah Active Cell.


Keterangan: garis kotak putus-putus merupakan Cell yang sedang aktif yaitu “A3” akan di copykan ke yang sebaris dengan Cell yang aktif dan 3 baris setelah Cell yang aktif. Untuk mengeksekusinya cukup dengan CTRL + SHIFT + H pada Keyboard.

Sub CopySelection() 
   ' HTTPS://AGUNGPANDUAN.BLOGSPOT.CO.ID 
   ' Keyboard Shortcut: Ctrl+Shift+H 
   'Paste ke Range Yang telah ditentukan 
   ActiveCell.Copy Range("A3") 
   'Offset paste (Offset 0 cells kebawah dan 4 ke kanan) 
   'Pastekan sebaris dengan Active cell dan 4 kolom setelah active cell 
   ActiveCell.Copy 
   ActiveCell.Offset(0, 4).PasteSpecial (xlPasteAll) 
 End Sub  

Copy (Cut) dan Paste Ke Beberapa Cell atau Range


Contoh metode copy atau cut dan paste ke beberapa cell, misalkan pada Cell atau Range “A3:B3” yang berada pada Tabel 1 akan di pastekan ke Range “E3:F3” yang berada pada pada Tabel 2.


Dengan fungsinya adalah sebagai berikut,

Sub paste_BanyakCell() 
   ' HTTPS://AGUNGPANDUAN.BLOGSPOT.CO.ID 
   ' Keyboard Shortcut: Ctrl+Shift+K 
   'Copy dan Paste Satu Cell 
   Range("A3:B3").Copy Range("E3:F3") 
   'Cut dan Copy Satu Cell 
   Range("A3:B3").Cut Range("E3:F3") 
   Application.CutCopyMode = xlCopy 
 End Sub

Untuk menjalankannya cukup dengan menekan tombol CTRL+ SHIFT + K pada keyboard.

Copy (Cut) dan Paste Ke Worksheet Lain Atau Workbook

Sub Paste_SheetdanWorkBook_Lain()  
   ' HTTPS://AGUNGPANDUAN.BLOGSPOT.CO.ID  
   ' Keyboard Shortcut: Ctrl+Shift+Y  
   'Copy atau Cut dan Paste ke Sheet lainnya  
   Sheet1.Range("A1:B4").Copy Sheet2.Range("A1:B4")  
   'Sheet1.Range("A1:B4").Cut Sheet2.Range("A1:B4")  
   Workbooks("Cut, Copy, Paste Vba Macro Excel.xlsm").Worksheets("sheet1").Range("A1:B4").Copy _  
   Workbooks("book2.xlsm").Worksheets("sheet1").Range("A1:B4")  
   Application.CutCopyMode = xlCopy  

 End Sub  

Value Paste

Umumnya untuk mengcopykan suatu cells menggunakan kode perintah “.Copy” dan “.Paste”. Namun cara tersebut bukanlah satu-satunya cara ada cari lain yaitu dengan cara memanfaatkan value setiap cells dengan menggunakan operator pembanding “=”. Artinya nilai pada Cells yang satu langsung diisikan kepada Cells yang lain dengan perintah Operator “=”.

Sub ValuePaste()  
   ' HTTPS://AGUNGPANDUAN.BLOGSPOT.CO.ID  
   ' Keyboard Shortcut: Ctrl+Shift+E  
   'Value Paste antar cell  
   Range("E3:F3").value = Range("A3:B3").value  
   'Value Paste antar Sheets  
   Sheet2.Range("A1:B4").value = Sheet1.Range("A1:B4").value  
   'Value Paste antar Workbook  
   Workbooks("book2.xlsm").Worksheets("sheet1").Range("A1:B4").value = _  
   Workbooks("Cut, Copy, Paste Vba Macro Excel.xlsm").Worksheets("sheet1").Range("A1:B4").value  

 End Sub  

Paste Special
Paste Special membolehkan kita Copy dan Paste dengan properties yang lebih detail. Misalkan nilai yang di copykan adalah Formula(rumus) cell, formats dari cell, values, lebar cell, dan lain-lain serta memungkinkan untuk perintah Paste yang khusus misalkan Skip Blank atau melewatkan cell yang kosong untuk dicopykan.


Sekarang kita akan mencoba copy format Accounting pada Range “B10:B12” pada Tabel 3 ke Range “E10:E12” pada Tabel 4.


Dimana kode perintah copy PasteSpecial Format Number VBA Macro Excel adalah sebagai berikut,

Sub PasteSpecialYes()  
   ' HTTPS://AGUNGPANDUAN.BLOGSPOT.CO.ID  
   ' Keyboard Shortcut: Ctrl+Sh  ift+F  
   'Lakukan Copy cell terlebih dahulu  
   Range("B10:B12").Copy  
   'Paste Satuan Format Satuan Rupiah ke Range D10:D12  
   Range("E10:E12").PasteSpecial Paste:=xlPasteFormats  
   'Paste Lebar Kolom  
   Range("E10:E12").PasteSpecial Paste:=xlPasteColumnWidths  
   'Paste Formulas atau Rumus Excel  
   Range("E10:E12").PasteSpecial Paste:=xlPasteFormulas  
   'Paste dengan melewatkan cell yang kosong SkipBlanks  
   Range("E10:E12").PasteSpecial Paste:=xlPasteFormats, _  
   Operation:=xlPasteSpecialOperationNone, SkipBlanks:=False, Transpose:=True  
   Application.CutCopyMode = xlCopy  

 End Sub

Cut, Copy dan Paste Dengan Kriteria Tertentu
Copy (Cut) dan Paste dengan Kriteria ini bertujuan untuk mengumpulkan semua data yang duplikat atau data yang sama. Misal ketika akan menghitung hasil penjualan barang per unit setiap waktunya dimana barang-barang tersebut terdiri dari Tas, Dompet, Baju dan Alas Kaki. Berikut data-data yang dimaksud,


Data-data tersebut akan dipisahkan kedalam beberapa Tabel Dibawah ini,


Sehingga kode perintah VBA macro yang dapat digunakan adalah sebagai berikut,

Sub CopyDenganKriteria() 
   Dim KataKunci As String: KataKunci = "Sendal" 
   Dim RangeCari As Range 
   Set RangeCari = Range("J3:J9") 
   Dim cell As Range 
   Set cell = RangeCari.Find(KataKunci) 
   'HTTPS://AGUNGPANDUAN.BLOGSPOT.CO.ID 
   If cell Is Nothing Then 
     MsgBox ("Not Found") 
     Exit Sub 
   End If 
   Dim NilaiCellPertama As String 
   NilaiCellPertama = cell.Address 
   i = 1 
   Do 
     'Debug.Print "Found: " & cell.Address 
     cell.Interior.ColorIndex = 6 
     Range("$I$" & cell.Row & ":$N$" & cell.Row).Interior.ColorIndex = 6 
     Range("I" & 13 + i).value = i 
     Range("J" & 13 + i).value = Range("J" & cell.Row).value 
     Range("K" & 13 + i).value = Range("K" & cell.Row).value 
     Range("L" & 13 + i).value = Range("L" & cell.Row).value 
     Range("M" & 13 + i).value = Range("M" & cell.Row).value 
     Range("N" & 13 + i).value = Range("N" & cell.Row).value 
     i = i + 1 
     Set cell = RangeCari.FindNext(cell) 
   Loop While NilaiCellPertama <> cell.Address 
 End Sub 

 Private Sub CommandButton1_Click() 
   Call CopyDenganKriteria 
 End Sub

Hasil dari proses Copy dengan kriteria ini adalah:





Demikianlah beberapa metode berbeda untuk Cut, Copy dan Paste menggunakan VBA Macro Excel. Disarankan seringlah membaca tentang fungsi-fungsi kode perintah VBA Macro Excel di Blog ini.

Semoga Bermanfaat

Terima Kasih telah berkunjung di https://www.agungpanduan.com
Share This :

0 Comments