Copy data dari file lain tanpa membuka file yang akan di copy nya tentu harus dengan pinjaman coding VBA semoga hal ini sanggup dilakukan dengan gampang tanpa Anda melaksanakan teknik copy dan paste. Rasanya akan ribet apabila Anda buka file kemudian paste klik copy kemudian buka file kembali kemudian klik paste.
Cara ini tentu sangat sederhana dengan budi cari lokasi file kemudian cari alamat sheet cari pula alamat range kemudian buka lokasi kawasan paste nya kemudian paste berhasil tanpa membuka file sumber. Tahapan tersebut akan dibentuk dengan coding menyerupai berikut. Silakan Anda buat satu buah Module dan copy paste coding dibawah ini
Sub CaraNgopyRange()
Dim AmbilData As Excel.Workbook
Dim AlamatRange As String
Dim TargetWorkbook As Excel.Workbook
Dim TargetSheet As Excel.Worksheet
Application.ScreenUpdating = FalseIngat, letakkan coding diatas kedalam module. coba perhatikan instruksi berikut ini berfungsi untuk
AlamatRange = "riwayat"
Set AmbilData = Workbooks.Open("F:\DATA\1. Mastur.xls") 'Silakan ganti alamat disini
AmbilData.Sheets("Sheet1").Range("riwayat").Copy
Set TargetWorkbook = ThisWorkbook
Set TargetSheet = TargetWorkbook.Sheets(1)
TargetSheet.Range("A2").PasteSpecial Paste:=xlPasteValues
TargetWorkbook.Names.Add AlamatRange, "='" & TargetSheet.Name & "'!" & Selection.Address
AmbilData.Close savechanges:=True
MsgBox ("Silakan klik OK")
Application.ScreenUpdating = False
End Sub
Set AmbilData = Workbooks.Open("F:\DATA\1. Mastur.xls") 'Silakan ganti alamat disini,hal ini merupakan pencarian alamat kawasan sasaran atau sumber penyimpanan file yang akan dicopy yaitu di drive F kemudian folder DATA dan nama file ialah 1. Mastur.xls
AmbilData.Sheets("Sheet1").Range("riwayat").CopyMaksudnya ialah file yang sudah diarahkan ke alamat tersebut akan dicopy tepatnya pada sheet1 dengan nama range "riwayat" tentunya Anda harus menciptakan Name Range terlebih dahulu pada excelnya silakan simak ulisan saya
[04] Cara Membuat Nama Range dan Bagaimana Cara Menggantinya
Langkah berikutnya silakan masuk kembali ke worksheet dan buat satu buah tombol atau CommandButton pada sheet kemudian arahkan macro pada name CaraNgopyData
Klik OK, silakan Ganti nama Commandbutton tersebut dengan goresan pena "AmbilData" Hasilnya kalau Anda klik tombol tersebut maka sebuah pesan akan muncul "Silakan klik OK"
Apabila Anda klik OK maka akibatnya semua data pada range "Riwayat" akan dicopy menyerupai gambar berikut ini
Berhasil.
Selamat mencoba dan semoga bermanfaat. Sumber http://www.excel-id.com/