İşte hile yapması gereken regex tabanlı bir işlev. VBA editör menüsünden eklediğiniz standart bir modüle yapıştırın. Tıklayarak düzenleyiciye erişebilirsiniz Visual Basic üzerindeki Geliştirici kurdele sekmesine. Sonra menüden Ekle -> Standart Modül'ü seçin.
Ayrıca Microsoft VBScript Regular Expressions 5.5
kütüphaneye bir referans ayarlamanız gerekecektir . Bunu yapmak için, editör menüsünde Araçlar -> Referanslar'a tıklayın. Girişi bulmak için aşağı kaydırın ve referansı ayarlamak için işaretleyin.
Regex uzmanları benim kullandığım düzeni geliştirmek ister. Çalışma sayfası TRIM
işlevini kullanmaktan başarıyla kurtulduğum bazı dizgilere fazladan boşluk ekliyor .
Function ReNSpace(text As String)
Dim regex As New RegExp
regex.Pattern = "(?:(\D+)?(\d+))|(?:(\D+)(\d+)?)"
regex.Global = True
regex.IgnoreCase = True
' Test if a match is found
If regex.Test(text) = True Then
ReNSpace = WorksheetFunction.Trim(regex.Replace(text, "$1 $2 $3 $4"))
Else
ReNSpace = CVErr(xlErrValue)
End If
Set regex = Nothing
End Function