Bisakah makro mengimpor data di excel?

Impor data dari web ke Excel dengan makro ini. Ini adalah makro kueri web dasar yang akan mengimpor data dari situs web mana pun, selama data tersebut terdapat dalam tabel html, dan memasukkan data tersebut ke dalam lembar kerja di Excel. Makro khusus ini tidak mengaktifkan pengaturan penyegaran otomatis dan tidak menyertakan opsi pemformatan khusus. Ini adalah versi paling dasar dari kueri web yang mengakses data dari tabel html dan menyediakan dasar yang baik untuk membangun makro yang lebih rumit yang dapat melayani kebutuhan impor data Anda dengan lebih baik di Excel

Makro ini, seperti saat ini, akan mengimpor harga saham dan data serupa lainnya untuk Google. Informasi tersebut akan diperbarui untuk kedua kalinya setelah Anda mengimpor data, tetapi kecepatan penyegaran belum diatur untuk makro ini

Untuk menggunakan makro ini, Anda hanya perlu menyesuaikan tiga bagian berbeda. Segala sesuatu yang lain bersifat opsional dan tidak perlu diubah tetapi telah dibiarkan dalam makro jika Anda ingin mengubah beberapa fitur makro kueri web yang lebih mudah dipahami. Di mana Anda melihat url ini http. //keuangan. yahoo. com/q?s=goog, ganti dengan url halaman web tempat Anda ingin mengimpor data atau informasi. Di mana Anda melihat $A$1 setelah di mana tertulis Tujuan dan Rentang, ganti referensi rentang itu dengan sel tempat Anda ingin data mulai diimpor ke Excel. Terakhir, ganti angka di dalam tanda kutip dari baris ini. WebTables = "1,2" untuk mewakili nomor tabel tempat Anda ingin mengimpor data. Ini sedikit membingungkan tetapi parameter ini perlu mengetahui tabel angka apa yang akan ditarik. Itu berarti bahwa jika ada 10 tabel html di dalam halaman web dan Anda ingin mengimpor data yang berasal dari tabel ke-5 di halaman web, Anda akan memberi angka 5 di antara tanda kutip. Alternatifnya, jika tabel memiliki nama, Anda dapat memasukkan nama tabel tersebut. Namun, jika Anda melakukannya, pastikan Anda membungkus setiap nama tabel dengan tambahan 2 pasang tanda kutip - hasil akhirnya akan terlihat seperti ini. Tabel Web = """tabel1"",""tabel2"""

Meskipun diluncurkan pada tahun 1985, Excel masih sangat populer di sebagian besar industri dan digunakan oleh hampir semua perusahaan. Beberapa fungsionalitas aplikasi hanya dapat digunakan dengan menggunakan VBA, yang kemudian membuat perangkat lunak lama ini semakin membantu saat menganalisis dan memanipulasi data

Seringkali Anda akan mendapati diri Anda menyalin-menempelkan data dari file lain ke dalam buku kerja gabungan untuk menyelidiki lebih lanjut data dari sana. Proses copy-paste data ini mungkin memakan banyak waktu. Kami dapat menggunakan waktu ini untuk melakukan hal-hal yang lebih penting setelah kami mengotomatiskan proses ini menggunakan beberapa kode VBA sederhana. Izinkan saya menjelaskan caranya

Untuk tutorial ini kami akan mengimpor data cuaca Amsterdam yang bebas hak cipta dari masa lalu, yang dapat Anda temukan di sini. Setiap orang harus dapat mengikuti panduan ini, bahkan tanpa pengalaman pemrograman apa pun, meskipun pengalaman pengkodean sebelumnya akan membuat konsep tertentu jauh lebih mudah dipahami

Tab Pengembang

Sebelum kita mulai menulis beberapa kode, penting untuk mengaktifkan fungsionalitas yang diperlukan. Karena saya telah menulis tentang VBA akhir-akhir ini, Anda sebaiknya mengikuti langkah-langkah di bawah subtitle 'Cara Membangun Makro dengan Visual Basic for Applications' di artikel ini

Setelah Anda mengaktifkan tab Pengembang di pita Anda, simpan buku kerja Anda sebagai Buku Kerja yang Diaktifkan Makro Excel (. xlsm), buka editor Visual Basic dan klik dua kali opsi ThisWorkbook di Project Explorer di pojok kiri atas

Ini kemudian akan membuka panel baru di editor tempat Anda dapat mulai mengetik beberapa kode, seperti yang ditunjukkan pada Gambar 01

Gambar 01. Menulis Kode VBA Visual Basic

Di panel baru yang dibuka, kami akan mulai menulis kode yang diperlukan untuk mengimpor data dari sumber eksternal
Ketik Sub, kependekan dari subrutin, masukkan ImportData sebagai nama, akhiri dengan dua tanda kurung dan tekan enter. Makro Anda kemudian akan diselesaikan secara otomatis oleh editor, seperti yang ditunjukkan pada blok kode di bawah ini, di mana setelah itu kita hanya perlu memasukkan kode yang harus dijalankan saat menjalankan makro aktual di antara dua kata kunci Sub

Seperti yang telah dibahas, tujuan tutorial ini adalah menyalin data dari satu lembar ke lembar lainnya. Untuk mengimpor buku kerja lain, ada beberapa langkah wajib, yang akan saya jelaskan di bawah ini

Gambar 01. Dasar visual

Di dalam makro yang ditentukan sebelumnya, kita mulai dengan menambahkan variabel pada baris kedua
Jika Anda belum pernah membuat kode sebelumnya, Anda dapat membayangkan variabel sebagai kotak untuk menyimpan informasi. Sama seperti ketika Anda akan memindahkan dan menuliskan isi kotak, diperlukan untuk menentukan nama variabel dan tipe datanya. Tipe data yang paling banyak digunakan adalah string (kata dan kalimat), bilangan bulat (angka bulat) dan ganda (angka dengan desimal)

Jika Anda tidak yakin tipe data apa yang digunakan, tipe Variant adalah cara yang tepat. Jangan gunakan jenis ini setiap saat, karena akan menggunakan lebih banyak memori dan dengan demikian memperlambat program Anda

Dalam hal ini kami mendeklarasikan variabel (alias menyiapkan kotak), sehingga kami dapat menyimpan lokasi file nanti

Sejalan empat, metode GetOpenFile, yang ada di dalam Excel, akan membuka file explorer dan mengembalikan lokasi file yang Anda pilih. Lokasi, yang mungkin Anda kenali dari jalur tersebut di bilah atas penjelajah file biasa, kemudian disimpan dalam variabel yang kami nyatakan sebelumnya

Sebelum melanjutkan, kita perlu memeriksa apakah pengguna benar-benar memilih file. Jika kami melewatkan bagian ini dan tidak ada file yang dipilih, program akan langsung macet. Karena kami menyertakan pemeriksaan untuk melihat apakah sesuatu benar-benar disimpan dalam variabel, program mengetahui apa yang harus dilakukan dalam kedua kasus tersebut. Jika variabel lokasi file null (false), artinya tidak ada file yang dipilih, Excel akan memutar bunyi bip ikonik dan keluar dari makro tanpa terlalu banyak kerumitan

Jika ada file yang dipilih, kami memerlukan semua kekuatan pemrosesan perangkat untuk menangani file yang terbuka, yang dapat kami lakukan dengan mematikan properti ScreenUpdating. Sejak saat itu, semua yang ada di layar di Excel akan dijeda, sementara perangkat menggunakan daya tersebut untuk menghitung. Sejujurnya, ini mungkin tidak diperlukan untuk saat ini, tetapi merupakan praktik yang baik untuk membiasakan diri sebelum Anda mulai membuat makro yang lebih kompleks di mana properti seperti itu benar-benar akan membuat perbedaan

Setelah kami mematikan semua visual, kami akan mendefinisikan objek menggunakan kata kunci Set. Untuk mengakses data dari buku kerja, kita perlu menyimpan buku kerja ini sebagai objek. Pada dasarnya setiap metode dan properti yang Anda harapkan pada buku kerja awal juga tersedia pada objek ini

Untuk mengakhiri, kami menutup buku kerja yang diimpor dan mengaktifkan ScreenUpdating lagi untuk memastikan semuanya terlihat normal kembali

Anda sekarang dapat menjalankan kode ini dengan menekan panah hijau di Visual Basic sementara kursor Anda berada di suatu tempat menunggu di antara dua kata kunci Sub

Aku tahu. Anda telah memilih dokumen dengan data cuaca setelah jendela file explorer dibuka, tetapi selain itu, tidak ada yang terjadi. Jangan khawatir, itu sebenarnya benar
Semua yang telah kita tulis sekarang diperlukan untuk menyimpan data dari buku kerja eksternal dalam objek yang kita sebut ImportWorkbook

Sekarang kita akan bersenang-senang dan membuat hidup kita sedikit lebih mudah

Sebelum menutup file secara terprogram, Anda dapat menggunakan metode Salin untuk menyalin-menempelkan data dari buku kerja yang diimpor ke yang asli

Blok kode di atas menyalin sel A1. D25 (sel yang digunakan dalam file data yang dibahas di awal tutorial ini) dari lembar kerja pertama dari buku kerja yang diimpor

Metode ini dilengkapi dengan parameter opsional yang dapat Anda gunakan untuk menentukan lokasi penempelannya

Tidak menentukan lokasi baru ini untuk data akan menyalin nomor yang diimpor ke clipboard Anda di mana setelah Anda dapat menempelkannya sendiri di suatu tempat

Dalam kasus kami, kami ingin menempelkan data di sudut kiri atas (mulai dari sel A1) dari file asli, yang ditargetkan menggunakan objek ThisWorkbook

Jika Anda sekarang akan menempelkan baris kode ini di subrutin Anda yang sudah ada tepat di atas tempat kami menutup file, simpan & jalankan makro dan impor file data yang diunduh dari Meteoblue, Anda akan melihat data ditempelkan di file asli Anda

Penggunaan Alternatif

Seperti yang dikatakan, ImportWorkbook menyertakan semua yang Anda harapkan dari buku kerja. Artinya, Anda juga bisa mendapatkan informasi lain dari buku kerja yang diimpor yang mungkin diperlukan

Mengganti kode yang digunakan sebelumnya untuk menyalin-menempel data dari satu lembar ke lembar lainnya dengan dua baris di atas, harus mencetak nama buku kerja yang diimpor dan lembar yang saat ini dipilih di Jendela Segera di editor Anda

Jika Anda menjalankan makro dan tidak melihat informasi ini dicetak, pilih menu tarik-turun Lihat di editor dan pastikan untuk memilih Jendela Segera

Untuk menjalankan makro ini tanpa membuka editor Visual Basic, pilih tombol Makro di tab Pengembang dari pita dan dari sana pilih makro yang ingin Anda jalankan. Sebagai alternatif, Anda dapat memilih opsi Tombol dari tab yang sama dan memilih makro, yang akan membuat tombol di buku kerja Anda yang menjalankan makro saat Anda menekannya

Kesimpulan

Selamat, Anda sekarang dapat mengimpor data dari buku kerja eksternal

Silakan bereksperimen dengan kode ini, sehingga Anda dapat menggunakan file data Anda sendiri dan jangan lupa untuk memberikan sedikit tepuk tangan jika Anda menyukai tutorial ini