Komputer, Perangkat lunak
VBA Excel: contoh program. Macro di Excel
Hanya sedikit orang yang tahu bahwa versi pertama dari produk Microsoft Excel populer muncul pada tahun 1985. Sejak itu telah mengalami beberapa modifikasi dan permintaan dari jutaan pengguna di seluruh dunia. Namun, banyak bekerja hanya dengan kemampuan sedikit spreadsheet ini dan bahkan tidak tahu bagaimana mereka bisa membuat hidup lebih mudah bagi kemampuan untuk pemrograman Excel.
Apa VBA
Pemrograman dalam Excel dilakukan dengan Basic untuk Aplikasi bahasa pemrograman Visual yang pada awalnya dibangun di spreadsheet yang paling terkenal dari Microsoft.
Untuk jasanya ahli atribut relatif mudah pembangunan. Sebagai praktek menunjukkan, VBA dapat menguasai dasar-dasar, bahkan pengguna yang tidak memiliki keterampilan pemrograman profesional. Untuk VBA fitur termasuk eksekusi script di lingkungan aplikasi office.
Kerugian dari program ini adalah masalah yang terkait dengan kompatibilitas versi yang berbeda. Mereka disebabkan oleh fakta bahwa kode VBA program mengacu pada fungsi yang hadir dalam versi baru dari produk, tetapi tidak dalam yang lama. Ada juga kerugian besar dan keterbukaan terlalu tinggi kode untuk mengubah wajah orang asing. Namun, Microsoft Office, dan IBM Lotus Symphony memungkinkan pengguna untuk menerapkan enkripsi kode masuk dan sandi pengaturan untuk melihatnya.
Benda, koleksi, properti, dan metode
Hal ini dengan konsep-konsep ini Anda perlu memahami mereka yang akan bekerja di lingkungan VBA. Pertama-tama, Anda harus memahami apa benda itu. Dalam Excel, di tindakan ini sebagai lembar, buku, dan berbagai sel. Benda-benda ini memiliki hirarki khusus, yaitu mematuhi satu sama lain.
Kepala di antara mereka adalah Application, program Excel yang sesuai itu sendiri. Buku kerja diikuti, Lembar kerja, dan Range. Misalnya, untuk merujuk ke sel A1 pada lembar tertentu harus menunjukkan jalan, dengan mempertimbangkan hirarki.
Mengenai konsep "koleksi," kelompok ini objek dari kelas yang sama, di mana rekaman diberikan ChartObjects. unsur-unsurnya juga benda-benda.
Hal berikutnya - properti. Mereka adalah fitur penting dari objek apapun. Sebagai contoh, untuk Range - adalah Nilai atau Formula.
Metode - adalah perintah untuk menunjukkan bahwa Anda ingin membuat. Saat menulis kode di VBA mereka untuk lepas dari titik objek. Misalnya, seperti yang akan ditunjukkan nanti, sangat sering ketika pemrograman dalam perintah "Excel" penggunaan Sel (1,1) .Select. Ini berarti bahwa perlu untuk memilih sel dengan koordinat (1,1), yaitu A1.
Namun, sering digunakan Selection.ClearContents. pelaksanaannya membersihkan isi dari sel yang dipilih.
Bagaimana memulai
Pertama-tama, Anda ingin membuat file tersebut dan menyimpannya, menetapkan nama dan memilih jenis «Buku Excel makro-diaktifkan."
Kemudian, buka aplikasi VB, yang cukup untuk menggunakan kombinasi «Alt» kunci dan «F11». Berikutnya:
- di menu bar di bagian atas jendela, klik pada ikon di samping ikon Excel;
- Mudule dipilih perintah;
- terus klik pada ikon dengan floppy disk;
- menulis, katakanlah, garis kode.
Ini terlihat sebagai berikut:
Sub Program ()
'Kode kami
end Sub
Harap dicatat bahwa garis " 'kode kami" akan disorot dalam warna yang berbeda (hijau). Alasan untuk apostrof ini, disampaikan pada awal string, yang menunjukkan bahwa apa yang berikut adalah komentar.
Sekarang Anda dapat menulis kode apapun dan menciptakan bagi diri mereka sendiri alat baru di VBA Excel (lihat contoh program. Dll). Tentu saja, mereka yang akrab dengan dasar-dasar Visual Basic, itu akan jauh lebih mudah. Namun, bahkan mereka yang tidak memiliki, jika Anda ingin bisa mendapatkan nyaman cukup cepat.
Macro di Excel
Balik nama ini menyembunyikan program yang ditulis dalam Visual Basic untuk bahasa Application. Dengan demikian, pemrograman untuk Excel - adalah untuk membuat makro untuk kode yang diinginkan. Dengan kemampuan ini, Microsoft spreadsheet diri berkembang, beradaptasi dengan kebutuhan pengguna tertentu. Setelah ditangani dengan cara membuat modul untuk menulis macro, adalah mungkin untuk melanjutkan dengan contoh-contoh konkret program VBA Excel. Hal terbaik untuk memulai dengan kode yang paling dasar adalah.
CONTOH 1
Tugas: Menulis sebuah program yang akan menyalin nilai dari isi dari satu sel dan kemudian menulis ke yang lain.
Untuk melakukan hal ini:
- buka tab "View";
- memindahkan ikon "makro";
- goyang ke "Record Macro";
- isi form dibuka.
Untuk mempermudah, dalam "Nama Makro" meninggalkan "Makros1" dan di "Shortcut key" dimasukkan, misalnya, hh (ini berarti bahwa Anda dapat menjalankan program contoh akan «Ctrl + h» tim blitz). Tekan Enter.
Sekarang Anda sudah mulai merekam makro, membuat isi sel yang lain. Kembali ke ikon asli. Klik pada "Record Macro". Tindakan ini menandai selesainya applet.
Berikutnya:
- lagi pindah ke string "Macro";
- dipilih dalam daftar "Macro 1";
- klik "Run" (dimulai tindakan yang sama Diluncurkan tombol pintas «Ctrl + hh»).
Akibatnya, tindakan yang telah dilakukan selama perekaman makro.
Masuk akal untuk melihat bagaimana kode terlihat seperti. Untuk melakukan hal ini, kembali ke string "Macro" dan klik "Edit" atau "Enter". Akibatnya, mereka menemukan diri mereka dalam lingkungan VBA. Sebenarnya, kode itu sendiri terletak di antara garis-garis makro Makros1 Sub () dan End Sub.
Jika menyalin telah dilakukan, misalnya, dari sebuah sel A1 dalam sel C1, salah satu baris kode akan terlihat seperti Range ( "C1"). Pilih. Dalam terjemahan, sepertinya "Range (" C1 "). Pilih", dengan kata lain, membuat transisi ke VBA Excel, di sel C1.
Bagian aktif dari kode melengkapi tim ActiveSheet.Paste. Ini berarti merekam isi dalam sel C1 yang dipilih yang dipilih sel (dalam hal ini, A1).
CONTOH 2
VBA siklus membantu menciptakan macro yang berbeda di Excel.
VBA siklus membantu menciptakan macro yang berbeda. Asumsikan bahwa ada fungsi y = x + x 3 + 3x 2 - cos (x). Anda ingin membuat makro untuk grafis. Hal ini dapat dilakukan hanya dengan menggunakan siklus VBA.
Untuk nilai awal dan akhir fungsi argumen mengambil x1 = 0 dan x2 = 10. Selain itu, perlu untuk memperkenalkan konstan - nilai untuk langkah perubahan argumen dan nilai awal untuk meja.
Semua contoh macro VBA Excel dibuat menggunakan prosedur yang sama seperti yang ditetapkan di atas. Dalam kasus ini, kode terlihat seperti:
Sub Programm ()
x1 = 1
x2 = 10
bercinta = 0,1
i = 1
Apakah Sementara x1
y = x1 + x1 ^ 2 + 3 * x1 ^ 3 - Cos (x1)
Sel (i, 1) .Value = x1 (nilai x1 ditulis dalam memori dengan koordinat (i, 1))
Sel (i, 2) .Value = y (y nilai ditulis dalam sel dengan koordinat (i, 2))
i = i + 1 (count valid);
x1 = x1 + bercinta (argumen diubah ke ukuran langkah);
putaran
End Sub.
Sebagai hasil dari makro run ini "Excel" mendapatkan dua kolom, yang pertama dicatat nilai-nilai untuk x, dan yang kedua - untuk y.
Kemudian jadwal mampu membangun pada mereka, standar untuk "Excel".
Contoh 3
Untuk melaksanakan siklus di VBA Excel 2010, serta dalam versi lain, bersama dengan sudah berkurang Do Sementara desain yang digunakan untuk.
Mempertimbangkan program yang menciptakan kolom. Dalam setiap sel itu akan disimpan kotak sesuai nomor baris. Untuk penggunaan desain akan memungkinkan untuk merekam itu sangat singkat, tanpa menggunakan counter.
Pertama perlu untuk membuat makro, seperti dijelaskan di atas. Berikutnya, menulis kode itu sendiri. Kami percaya bahwa kami tertarik pada nilai-nilai untuk 10 sel. kode tersebut adalah sebagai berikut.
Untuk i = 1 sampai 10 Berikutnya
Perintah ditransfer ke bahasa "manusia", sebagai "ulang dari 1 sampai 10 secara bertahap dari satu."
Jika tugas untuk menerima kolom dengan kotak, misalnya, semua bilangan bulat ganjil antara 1 dan 11, kita menulis:
Untuk i = 1 sampai 10 langkah 1 Next.
Di sini, langkah - langkah. Dalam hal ini, itu adalah sama dengan dua. Secara default, tidak adanya kata dalam lingkaran berarti bahwa satu langkah.
Hasil perlu disimpan dalam jumlah sel (i, 1). Kemudian setiap kali Anda memulai siklus dengan peningkatan nilai dari i langkah secara otomatis akan tumbuh dan nomor baris. Dengan demikian, akan ada kode optimasi.
Secara umum, kode akan terlihat seperti:
Sub Program ()
Untuk i = 1 Untuk 10 Langkah 1 (dapat ditulis hanya untuk i = 1 To 10)
Sel (i, 1) .Value = i ^ 2 (yaitu nilai persegi ditulis ke dalam sel (i, 1) i)
Berikutnya (dalam arti memainkan peran sarana counter dan siklus awal lain)
End Sub.
Jika dilakukan dengan benar, termasuk rekaman dan berjalan macro (lihat. Petunjuk di atas), maka disebut setiap kali ukuran tertentu akan diperoleh kolom (dalam hal ini terdiri dari 10 sel).
Contoh 4
Dalam kehidupan sehari-hari, sangat sering perlu untuk mengambil keputusan ini atau itu tergantung pada beberapa kondisi. tidak bisa tanpa mereka dalam VBA Excel. Contoh program mana saja lebih lanjut dari algoritma yang dipilih bukan awalnya telah ditentukan, desain paling umum digunakan Jika ... Lalu (untuk kasus-kasus sulit) Jika ... Lalu ... END Jika.
Pertimbangkan kasus tertentu. Misalkan Anda ingin membuat makro untuk "Excel" ke sel dengan koordinat (1,1) telah dicatat:
1 jika argumen positif;
0 jika argumen adalah nol;
1, jika argumen negatif.
Penciptaan makro tersebut untuk "Excel" dimulai dengan cara yang standar, melalui penggunaan "panas" Alt dan F11. Selanjutnya ditulis kode berikut:
Sub Program ()
x = Cells (1, 1) Value (Perintah ini memberikan nilai koordinat x dari isi sel (1, 1))
Jika x> 0 Then Cells (1, 1) .Value = 1
Jika x = 0 Kemudian Cells (1, 1) .Value = 0
Jika x <0 Then Cells (1, 1) .Value = -1
End Sub.
Ini masih menjalankan makro dan mendapatkan "Excel" nilai yang diinginkan untuk argumen.
fungsi VBA
Seperti Anda mungkin telah menyadari, dalam program aplikasi spreadsheet Microsoft yang paling terkenal tidak terlalu sulit. Terutama jika Anda belajar bagaimana menggunakan fungsi VBA. Secara total, bahasa pemrograman ini dibuat khusus untuk menulis aplikasi dalam "Excel" dan Firman, sekitar 160 fungsi. Mereka dapat dibagi menjadi beberapa kelompok besar. Mereka adalah:
- fungsi matematika. Menerapkannya argumen dari nilai kosinus diperoleh, logaritma natural, dan seluruh bagian.
- fungsi keuangan. Karena ketersediaan dan penggunaan pemrograman dalam Excel, Anda bisa mendapatkan alat yang efektif untuk akuntansi dan pemukiman keuangan.
- fungsi pengolahan array. Ini termasuk Array, IsArray; LBound; UBound.
- VBA Excel berfungsi untuk baris. Ini adalah kelompok yang cukup besar. Ini termasuk, misalnya, fungsi Space untuk membuat sebuah string dengan sejumlah kesenjangan sama dengan argumen integer atau Asc transfer simbol untuk kode ANSI. Semua dari mereka adalah banyak digunakan dan memungkinkan Anda untuk bekerja dengan string di "Excel" untuk membuat aplikasi lebih mudah untuk bekerja dengan tabel ini.
- fungsi konversi tipe data. Misalnya, CVar mengembalikan argumen Expression, mengubahnya menjadi Varian tipe data.
- fungsi tanggal. Mereka sangat memperluas fitur standar dari "Excel". Jadi, fungsi WeekdayName mengembalikan nama (penuh atau parsial) hari dalam seminggu dengan nomor nya. Bahkan lebih berguna adalah Timer tersebut. Dia memberikan jumlah detik yang telah berlalu sejak tengah malam untuk momen tertentu hari.
- Fungsi untuk mengkonversi argumen numerik dalam sistem nomor yang berbeda. Misalnya, Oktober output untuk representasi oktal nomor tersebut.
- fungsi format. Yang paling penting dari ini adalah Format. Ia mengembalikan Variant dengan ekspresi diformat sesuai dengan instruksi yang diberikan dalam deskripsi format.
- dan sebagainya.
Studi tentang sifat-sifat fungsi dan aplikasi mereka secara signifikan akan memperluas lingkup "Excel".
Contoh 5
Mari kita coba untuk memecahkan masalah yang lebih kompleks. Sebagai contoh:
dokumen kertas Dan tingkat sebenarnya dari biaya laporan perusahaan. membutuhkan:
- mengembangkan bagian polanya dengan spreadsheet "Excel";
- membuat program VBA yang akan meminta data mentah untuk mengisinya, untuk melaksanakan perhitungan yang diperlukan dan mengisi template dari sel yang sesuai.
Mempertimbangkan salah satu solusi berikut.
Membuat template
Semua tindakan yang dilakukan pada lembar standar di Excel. Sel gratis disediakan untuk memasukkan data pada bulan, tahun, perusahaan judul-konsumen, jumlah biaya, tingkat turnover. Karena jumlah perusahaan (perusahaan), dalam hal yang laporan tidak tercatat, sel-sel untuk membuat atas dasar nilai-nilai dan nama profesional tidak milik di muka. Lembar Kerja ditugaskan untuk nama baru. Misalnya, "Օ Report".
variabel
Untuk menulis program secara otomatis mengisi template, pilih notasi. Mereka akan digunakan untuk variabel:
- NN- jumlah baris saat ini dari meja;
- TP dan TF - direncanakan dan omset yang sebenarnya;
- SF dan SP - aktual dan direncanakan biaya total;
- IP dan IF - direncanakan dan tingkat biaya yang sebenarnya.
Kita dilambangkan dengan huruf yang sama, tetapi dengan "awalan» ITOG akumulasi total untuk kolom tersebut. Sebagai contoh, ItogTP - Berkenaan dengan kolom yang berjudul, sebagai "omset yang direncanakan."
Solusi dari masalah dengan menggunakan pemrograman VBA
Menggunakan notasi ini, kita memperoleh rumus untuk varians. Jika Anda ingin melakukan perhitungan di% kami memiliki (F - P) / P * 100, dan dalam jumlah - (F - P).
Hasil perhitungan tersebut dapat menjadi yang terbaik hanya untuk membuat "Excel" spreadsheet dalam sel yang tepat.
Untuk hasil dan prognosis pada kenyataannya diperoleh dengan rumus ItogP = ItogP + P dan ItogF = ItogF + F.
Untuk penyimpangan menggunakan = (ItogF - ItogP) / ItogP * 100 jika perhitungan dilakukan sebagai persentase, dan jika nilai total - (ItogF - ItogP).
Hasil sekali lagi dicatat dalam sel yang tepat, sehingga tidak perlu untuk menetapkan mereka untuk variabel.
Sebelum memulai untuk membuat program Anda ingin menyimpan buku kerja, misalnya, dengan nama "Otchet1.xls".
Tekan "Buat tabel pelaporan," Anda harus menekan hanya 1 kali setelah memasukkan informasi header. Anda harus tahu dan aturan lainnya. Secara khusus, tombol "Add garis" harus ditekan setiap kali setelah masuk ke dalam tabel nilai untuk setiap kegiatan. Setelah memasukkan semua data yang dibutuhkan untuk menekan tombol "Finish", dan kemudian beralih ke "Excel" di jendela.
Sekarang Anda tahu bagaimana untuk memecahkan masalah bagi Excel dengan macro. Kemampuan untuk menggunakan VBA excel (lihat contoh program. Di atas) dan Anda mungkin perlu untuk bekerja di lingkungan yang paling populer pada saat, para editor teks "Firman." Secara khusus, dengan merekam, seperti yang ditunjukkan pada awal artikel ini, atau dengan menulis kode untuk membuat tombol menu di mana banyak dari operasi pada teks dapat dilakukan dengan menekan tombol bertugas atau melalui "View" icon dan tab "Macro".
Similar articles
Trending Now