Melaksanakan UDF Bukan Susun Menukar dalam Excel Add-In
Dalam Excel Add-In, UDF yang menukar nilai sel secara amnya adalah dilarang. Walau bagaimanapun, adalah mungkin untuk memintas sekatan ini menggunakan gabungan pemasa Windows dan Aplikasi.Pemasa OnTime.
Penghadan Pemasa Windows
Pemasa Windows tidak boleh melaksanakan kod VBA semasa sel sedang disunting atau dialog dibuka. Had ini menghalang mereka daripada mengubah suai terus sifat sel dalam UDF.
Penyelesaian: Aplikasi.Pemasa OnTime
Untuk memintas pengehadan ini, pemasa Windows digunakan dalam UDF untuk jadualkan pemasa Application.OnTime. Aplikasi.Pemasa OnTime selamat dan hanya dinyalakan apabila sel tidak diedit dan tiada dialog dibuka.
Pelaksanaan UDF
Pelaksanaan UDF (AddTwoNumbers): Dalam AddTwoNumbers UDF, hitung jumlahnya seperti biasa. Selepas pengiraan:
Rutin Pemasa Pertama (AfterUDFRoutine1):
Rutin Pemasa Kedua (AfterUDFRoutine2):
Contoh Penggunaan
Private Sub TestAddTwoNumbers() Dim Cell As Range Set Cell = Range("A1") ' Cache the reference in the UDF Cell.Formula = "=AddTwoNumbers(1, 2)" ' Trigger the timer routine Cell.Calculate End Sub
Setelah pengiraan, formula Sel akan ditukar untuk mencerminkan nilai baharu, dengan menetapkan sel di sebelah pemanggil kepada nilai semasanya.
Atas ialah kandungan terperinci Bagaimanakah UDF Ubah Bukan Susunan Boleh Dilaksanakan dalam Tambahan Excel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!