Walaupun Excel sudah mempunyai ratusan fungsi terbina dalam seperti SUM, VLOOKUP, LEFT, dan sebagainya, fungsi bawaan yang tersedia biasanya tidak cukup untuk melakukan tugas yang agak rumit. Namun, jangan risau kerana anda hanya perlu membuat fungsi yang diperlukan sendiri.
Langkah
Langkah 1. Buat buku kerja baru atau buka buku kerja yang ingin anda proses dengan Fungsi Ditetapkan Pengguna (UDF)
Langkah 2. Buka Visual Basic Editor di Microsoft Excel melalui Tools-> Macro-> Visual Basic Editor (atau tekan pintasan Alt + F11)
Langkah 3. Klik butang Modul untuk menambahkan modul baru ke lembaran kerja anda
Anda boleh membuat UDF dalam buku kerja tanpa menambahkan modul baru, tetapi fungsinya tidak akan berfungsi di lembaran kerja lain dalam buku kerja yang sama.
Langkah 4. Buat "kepala" atau "prototaip" fungsi anda
Prototaip fungsi mesti mengikuti struktur berikut:
fungsi awam "Nama Fungsi" (parameter1 Sebagai jenis1, parameter2 Sebagai jenis2) Sebagai jenis hasil.
Prototaip boleh mempunyai fungsi sebanyak mungkin, dan jenisnya boleh menjadi semua jenis data asas atau jenis objek Excel dalam bentuk Range. Anda boleh memikirkan parameter sebagai "operan" (operator) yang fungsi tersebut akan berfungsi. Contohnya, semasa anda menulis SIN (45) untuk mengira sinus 45 darjah, nombor 45 akan diambil sebagai parameter. Kemudian, kod fungsi akan menggunakan nilai-nilai tersebut untuk melakukan pengiraan dan memaparkan hasilnya.
Langkah 5. Tambahkan kod fungsi untuk memastikan bahawa anda: 1) menggunakan nilai yang diberikan oleh parameter; 2) lulus hasilnya ke nama fungsi; dan 3) tutup fungsi dengan ayat "fungsi akhir". Memelajari program di VBA atau dalam bahasa lain memerlukan banyak masa dan panduan terperinci. Nasib baik, fungsi ini biasanya mempunyai blok kod kecil dan tidak banyak menggunakan ciri bahasa pengaturcaraan. Berikut adalah beberapa elemen bahasa VBA yang boleh digunakan:
- Sekatan If (if), yang membolehkan anda melaksanakan sebahagian kod hanya jika syaratnya dipenuhi. Sebagai contoh:
- . Anda boleh meninggalkan kata kunci Else bersama dengan bahagian kedua kod kerana pilihan.
- Blok Do (do), yang melaksanakan sebahagian kod Sementara atau Sampai ketika atau sehingga syarat dipenuhi. Sebagai contoh:
- . Perhatikan juga baris kedua yang "menyatakan" pemboleh ubah. Anda boleh menambahkan pemboleh ubah ke kod anda untuk digunakan kemudian. Pemboleh ubah bertindak sebagai nilai sementara dalam kod. Akhirnya, anggap deklarasi fungsi sebagai BOOLEAN, yang merupakan jenis data yang hanya membenarkan nilai BENAR atau SALAH. Kaedah menentukan nombor perdana jauh dari optimum, tetapi kodnya ditulis sedemikian rupa sehingga mudah dibaca.
- Untuk blok (ke), yang melaksanakan sejumlah kod. Sebagai contoh:
- Nilai tetap yang ditaip terus ke formula sel. Dalam kes ini, teks (string) mesti disebut.
- Rujukan sel, misalnya B6 atau berkisar seperti A1: C3 (parameter mestilah jenis data "Range")
-
Fungsi lain yang tertutup dalam fungsi anda (fungsi anda juga dapat tertutup dalam fungsi lain), misalnya: = Factorial (MAX (D6: D8))
Langkah 7. Pastikan hasilnya betul
Gunakan beberapa kali untuk memastikan bahawa fungsi dapat menangani pelbagai nilai parameter dengan betul:
Petua
- Semasa menulis blok kod dalam struktur kawalan seperti Jika, Untuk, Lakukan, dan lain-lain, pastikan anda memasukkan (memasukkan sempadan garis kiri sedikit ke dalam) blok kod dengan menekan bar ruang beberapa kali, atau tab. Ini akan menjadikan kod lebih mudah difahami dan kesalahan akan lebih mudah dicari. Di samping itu, peningkatan fungsi menjadi lebih mudah dibuat.
- Sekiranya anda tidak tahu menulis kod untuk fungsi, baca artikel Cara Menulis Makro Mudah di Microsoft Excel.
- Kadang kala, fungsi tidak memerlukan semua parameter untuk mengira hasilnya. Dalam kes ini, anda boleh menggunakan kata kunci Pilihan sebelum nama parameter di tajuk fungsi. Anda boleh menggunakan fungsi IsMissing (parameter_name) dalam kod anda untuk menentukan sama ada parameter diberi nilai atau tidak.
- Gunakan nama yang tidak digunakan sebagai fungsi di Excel sehingga tidak ada fungsi yang ditimpa dan dihapus.
- Excel mempunyai banyak fungsi terbina dalam dan kebanyakan pengiraan dapat dilakukan menggunakan fungsi terbina dalam ini, baik secara individu atau sekaligus. Pastikan anda melihat senarai fungsi yang ada sebelum anda mula membuat kod sendiri. Pelaksanaan dapat dilakukan lebih cepat jika anda menggunakan fungsi terbina dalam.
Amaran
- Atas sebab keselamatan, banyak orang melumpuhkan makro. Pastikan anda memberitahu penerima buku kerja anda bahawa buku kerja yang dihantar mempunyai makro, dan bahawa makro ini tidak akan membahayakan komputer mereka.
- Fungsi yang digunakan dalam artikel ini bukanlah kaedah terbaik untuk menyelesaikan masalah yang berkaitan. Contohnya digunakan untuk menjelaskan penggunaan struktur kawalan bahasa.
- VBA, seperti bahasa lain, mempunyai beberapa struktur kawalan lain selain Do, If dan For. Struktur yang dibincangkan di sini hanya menerangkan apa yang boleh dilakukan dalam kod sumber fungsi. Terdapat banyak panduan di internet yang boleh digunakan untuk membantu anda mempelajari VBA.
Hasil Kursus Fungsi Awam (Sebagai nilai Integer) Sebagai Rentetan
Sekiranya nilai> = 5 Maka
Hasil Kursus = "Diterima"
Lain
Hasil Kursus = "Ditolak"
Tamat Sekiranya
Fungsi Akhir
Perhatikan elemen dalam blok kod If:
JIKA syarat TELAH kod LAIN kod TAMAT JIKA
Fungsi Awam BilPrima (nilai Sebagai Integer) Sebagai Boolean
Dim i Sebagai Integer
i = 2
BilPrima = Betul
Adakah
Sekiranya nilai / i = Int (nilai / i) Maka
BilPrima = Salah
Tamat Sekiranya
i = i + 1
Gelung Semasa saya <nilai Dan NumberPrima = Betul
Fungsi Akhir
Lihat semula elemennya:
DO kod LOOP KETIKA / SEHINGGA keadaan
Faktor Fungsi Awam (nilai Sebagai Bilangan Padu) Selagi
Hasil redup Selagi
Dim i Sebagai Integer
Sekiranya nilai = 0 Maka
hasil = 1
Nilai ElseIf = 1 Kemudian
hasil = 1
Lain
hasil = 1
Untuk nilai i = 1
hasil = hasil * i
Seterusnya
Tamat Sekiranya
Faktor faktor = hasil
Fungsi Akhir
Lihat semula elemennya:
UNTUK pemboleh ubah = had bawah KE had atas kod BERIKUTNYA
. Juga, perhatikan elemen ElseIf tambahan dalam pernyataan If, yang membolehkan anda menambahkan lebih banyak pilihan pada kod yang sedang dijalankan. Akhirnya, pertimbangkan fungsi "hasil" dan pemboleh ubah yang dinyatakan sebagai Panjang. Jenis data Panjang membolehkan nilai yang jauh lebih besar daripada Integer.
Di bawah ditunjukkan kod untuk fungsi yang menukar nombor kecil menjadi perkataan.
Langkah 6. Kembali ke buku kerja dan gunakan fungsi dengan menulis simbol "sama" (=) diikuti dengan nama fungsi di dalam sel
Tulis tanda kurung pembuka (“(“) setelah nama fungsi, menggunakan tanda koma untuk memisahkan parameter, dan diakhiri dengan tanda kurung penutup (“)”). Sebagai contoh:
= NumberToLetter (A4)
. Anda juga boleh menggunakan formula buatan sendiri dengan mencarinya dalam kategori Pengguna Ditentukan di dalam pilihan Masukkan Formula. Anda hanya klik butang Fx di sebelah kiri bar formula. Terdapat tiga jenis bentuk parameter dalam fungsi: