Excel VBA untuk Menyalin Data dari Buku Kerja Lain tanpa Membuka

  • Bagikan Ini
Hugh West

Dalam Microsoft Excel , Makro VBA dapat dengan mudah menyelesaikan berbagai macam masalah. Jika kita ingin menyalin data dari workbook lain tanpa membuka workbook tersebut, kita dapat dengan mudah melakukannya dengan menggunakan Excel VBA Dalam artikel ini, Anda akan belajar Excel VBA untuk menyalin data dari buku kerja lain tanpa membukanya.

Unduh Buku Kerja Praktik

Anda bisa mengunduh buku kerja dan berlatih dengan mereka.

Salin Data Buku Kerja Lain.xlsm

3 Cara Berbeda untuk Menyalin Data dari Buku Kerja Lain tanpa Membuka dengan Excel VBA

Terkadang, kita membutuhkan data dari beberapa workbook sebelumnya. Jika kita sedang terburu-buru dan membutuhkan data dengan segera tanpa membuka workbook, kita bisa menggunakan perintah Excel VBA Dengan Excel VBA, kita dapat dengan cepat menyalin data dari buku kerja lain, untuk ini, kita hanya perlu mengetahui lokasi buku kerja tersebut.

Untuk menyalin data, kita akan menggunakan nama buku kerja Detail_Produk Dan kita ingin menyalin rentang data ( B4:E10 Dataset yang ingin kita salin berisi beberapa produk, harga jual, harga pokok, dan margin laba kotornya. Mari kita lihat kriteria berbeda untuk menyalin data dari buku kerja lain.

1. Salin Data Lembar dari Buku Kerja Lain tanpa Membuka dengan Excel VBA

Kita bisa menyalin data dari sheet dengan mengikuti perintah VBA Untuk ini, kita perlu melalui langkah-langkah di bawah ini.

LANGKAH-LANGKAH:

  • Pertama, buka Pengembang tab dari pita.
  • Setelah itu, klik pada Visual Basic untuk membuka Editor Visual Basic .
  • Cara lain untuk membuka Editor Visual Basic hanya dengan menekan Alt + F11 .

  • Atau, klik kanan pada sheet, lalu pilih Lihat Kode .

  • Sekarang, tuliskan Kode VBA di bawah ini.

Kode VBA:

 Sub Copy_Data_dari_Buku_Kerja_Lain() Dim wb As Workbook Dim newwb As Workbook Dim rn1 As Range Dim rn2 As Range Set wb = Application.ActiveWorkbook With Application.FileDialog(msoFileDialogOpen) .Filters.Clear .Filters.Add "Excel 2007-13", "*.xlsx; *.xlsm; *.xlsa" .AllowMultiSelect = False .Show If .SelectedItems.Count> 0 Then Application.Workbooks.Open.SelectedItems(1) Set newwb = Application.ActiveWorkbook Set rn1 = Application.InputBox(prompt:="Select Data Range", Default:="A1", Type:=8) wb.Activate Set rn2 = Application.InputBox(prompt:="Select Destination Range", Default:="A1", Type:=8) rn1.Copy rn2 rn2.CurrentRegion.EntireColumn.AutoFit newwb.Close False End If End With End SubAkhiri Dengan End Sub 
  • Terakhir, jalankan kode dengan mengklik tombol Jalankan Sub di sisi lain, tekan pintasan keyboard F5 untuk menjalankan kode.

CATATAN: Anda tidak perlu memodifikasi kodenya. Cukup salin dan tempelkan kodenya.

  • Dengan menjalankan kode Buka File akan muncul dari komputer Anda.
  • Setelah itu, klik workbook yang ingin Anda kumpulkan datanya.
  • Kemudian, klik pada OK tombol.

  • Sekarang, pilih data dari file sumber dengan menyeret ke atas rentang B5:E10 lalu klik OK .

  • Setelah memilih rentang data. Sekarang pilih rentang tujuan tempat Anda ingin meletakkan data.
  • Dan, klik OK .

  • Pada akhirnya, ini akan menutup file sumber dan data akan disalin pada file tujuan.

Baca selengkapnya: Excel VBA: Salin Rentang ke Buku Kerja Lain

Bacaan Serupa

  • Cara Menempel Dari Clipboard ke Excel Menggunakan VBA
  • Nonaktifkan Salin dan Tempel di Excel tanpa Makro (Dengan 2 Kriteria)
  • Cara Menyalin Tidak Termasuk Baris Tersembunyi di Excel (4 Metode Mudah)
  • Excel VBA untuk Menyalin Baris ke Lembar Kerja Lain Berdasarkan Kriteria
  • Cara Menggunakan VBA untuk Menempel Nilai Hanya dengan Tanpa Pemformatan di Excel

2. VBA untuk Menyalin Rentang Data dari Buku Kerja Lain tanpa Membuka di Excel

Dengan menggunakan VBA kita bisa menyalin data dari data range. Kita harus mengikuti langkah-langkah di bawah ini untuk melakukannya.

LANGKAH-LANGKAH:

  • Untuk memulai, arahkan ke Pengembang tab pada pita.
  • Kedua, buka Editor Visual Basic dengan mengklik Visual Basic atau dengan menekan Alt + F11 .
  • Atau, cukup klik kanan pada sheet dan pilih Lihat Kode untuk membuka Editor Visual Basic .

  • Setelah itu, tuliskan Kode VBA di sana.

Kode VBA:

 Sub CollectData() Dim rgTarget As Range Set rgTarget = ActiveSheet.Range("B2:E10") 'tempat menaruh data yang disalin. rgTarget.FormulaArray = "='D:\[Product_Details.xlsx]Sheet1'!$B$4:$E$10" rgTarget.Formula = rgTarget.Value End Sub 
  • Di sini, jalankan kode menggunakan Lari Sub atau tekan pintasan keyboard F5 untuk menjalankan kode.

CATATAN: Anda tidak perlu memodifikasi kodenya, yang perlu Anda lakukan hanyalah mengubah rentang sesuai data sumber Anda.

  • Dan akhirnya, data sekarang disalin dari buku kerja lain ke dalam buku kerja yang aktif.

Baca selengkapnya: Makro untuk Menyalin dan Menempel dari Satu Lembar Kerja ke Lembar Kerja Lainnya (15 Metode)

3. Excel VBA untuk Menyalin Data dari Workbook Lain tanpa Membuka dengan Menggunakan Tombol Perintah

Kita bisa menyalin data dari buku kerja lain dengan menggunakan tombol perintah pada VBA Untuk mencapai hal ini, kita harus mengikuti langkah-langkah yang diuraikan di bawah ini.

LANGKAH-LANGKAH:

  • Pertama, untuk menempatkan Tombol Perintah , pergi ke Pengembang tab.
  • Kedua, klik pada Sisipkan menu drop-down.
  • Ketiga, klik pada Tombol Perintah .

  • Kami menempatkan Produk pada sel A1 karena itu adalah nama lembar file sumber kita. Dan kita mengatur Tombol Perintah Kita sudah membuat tabelnya sekarang, kita hanya membutuhkan data yang ada di workbook lain.

  • Dengan cara yang sama, arahkan ke Pengembang tab pada pita.
  • Berikutnya, klik pada Visual Basic atau tekan Alt + F11 untuk meluncurkan Editor Visual Basic .
  • Anda juga bisa membuka Editor Visual Basic dengan mengklik kanan pada sheet dan memilih Lihat Kode .

  • Sekarang, tulislah VBA kode turun.

Kode VBA:

 Private Sub CommandButton1_Click() Dim sourceworkbook As Workbook Dim currentworkbook As Workbook Set currentworkbook = ThisWorkbook Set sourceworkbook = Workbooks.Open("D:\Products_Details.xlsx") sourceworkbook.Worksheets("Product").Range("B5:E10").Copy currentworkbook.Activate currentworkbook.Worksheets("Sheet3").Activate currentworkbook.Worksheets("Sheet3").Cells(4, 1).Select ActiveSheet.Pastesourceworkbook.Close Set sourceworkbook = Nothing Set currentworkbook = Nothing ThisWorkbook.Activate Worksheets("Sheet3").Activate Worksheets("Sheet3").Range("A2").Select End Sub 
  • Kemudian, simpan kode dengan menekan Ctrl + S .

CATATAN: Anda dapat menyalin kode, Anda hanya perlu mengubah jalur file dan rentang data.

  • Dan, akhirnya, jika Anda mengklik pada CommandButton1 ini akan menyalin data dari buku kerja lain tanpa membukanya.

Baca selengkapnya: Makro untuk Menyalin Data dari Satu Buku Kerja ke Buku Kerja Lain Berdasarkan Kriteria

Kesimpulan

Kriteria di atas adalah panduan untuk menyalin data dari buku kerja lain tanpa membukanya dengan Excel VBA Jika Anda memiliki pertanyaan, saran, atau umpan balik, silakan beri tahu kami di bagian komentar. Atau Anda dapat melihat sekilas artikel kami yang lain di ExcelWIKI.com blog!

Hugh West adalah pelatih dan analis Excel yang sangat berpengalaman dengan pengalaman lebih dari 10 tahun di industri ini. Beliau meraih gelar Sarjana di bidang Akuntansi dan Keuangan dan gelar Master di bidang Administrasi Bisnis. Hugh memiliki hasrat untuk mengajar dan telah mengembangkan pendekatan pengajaran unik yang mudah diikuti dan dipahami. Pengetahuan ahlinya tentang Excel telah membantu ribuan siswa dan profesional di seluruh dunia meningkatkan keterampilan dan unggul dalam karier mereka. Melalui blognya, Hugh membagikan pengetahuannya kepada dunia, menawarkan tutorial Excel gratis dan pelatihan online untuk membantu individu dan bisnis mencapai potensi penuh mereka.