Saya memiliki VB makro yang berfungsi yang memvalidasi konten. Dibutuhkan dua parameter string (nilai sel dan ekspresi reguler) dan mengembalikan True atau False. Ini menggunakan CreateObject("VBscript.regexp")
internal.
Saya perlu menggunakan makro ini untuk memvalidasi sel. Ketika saya mencoba mengaturnya sebagai custom validator caranya
=Rex(E2, "\d{1,2}\:\d{2}")
di mana Rex adalah fungsi saya didefinisikan pada lembar spread yang sama (Alt-F11 dan tipe) dan E2 adalah sel yang saya coba validasi, saya mendapatkan pesan "Rentang nama yang Anda tentukan tidak dapat ditemukan".
Jika saya menyisipkan fungsi yang sama di tempat lain pada spreadsheet yang sama (katakan di sel sudut atas A1):
=Rex(E2, "\d{1,2}\:\d{2}")
itu menunjukkan saya dengan baik TRUE
jika sel E2 mengoreksi nilai yang tepat seperti 15:07
dan FALSE
jika tidak suka 15xx
- setengah diselesaikan tetapi benar-benar tidak sampai akhir. Saya benar-benar perlu mengintegrasikan validator saya dengan cara standar.
Saya menggunakan MS Excel 2010. Makro itu sendiri
Public Function Rex(ByVal vsStringIn As String, ByVal vsPattern As String) As Boolean
Dim objRegEx As Object
Set objRegEx = CreateObject("VBscript.regexp")
objRegEx.Global = True
objRegEx.Pattern = vsPattern
Rex = objRegEx.Test(vsStringIn)
Set objRegEx = Nothing
End Function
Dan masalahnya seperti