UDF berikut adalah dasar regular expression dengan VB.
Silakan dikembangkan untuk menjadi sebuah fungsi yang sesuai kebutuhan.
Bagian yang tebalkan bisa dihilangkan dengan meng-set references untuk
mengaktikan library MS VBScript Regular Expression x.y
Pilih versi yang paling baru yang dimiliki. Umumnya 5.5
Public Function PisahAngka(sTeks As String, Optional sDelimiter As String =
"-") As String
Dim oRegExp As Object
Dim oRegMatch As Object
Dim sTemp As String
Dim sPattern() As String
Dim vPattern As Variant
sPattern = Split("[0-9][a-z]|[a-z][0-9]", "|")
* Set oRegExp = CreateObject("vbscript.regexp")
*
For Each vPattern In sPattern
With oRegExp
.Global = False
.MultiLine = True
.ignorecase = True
.Pattern = vPattern
End With
Do
Set oRegMatch = oRegExp.Execute(sTeks)
If oRegMatch.Count > 0 Then
sTemp = Left$(oRegMatch(0), 1) & _
Chr$(160) & sDelimiter & Chr$(160) & _
Right$(oRegMatch(0), 1)
sTeks = Replace$(sTeks, oRegMatch(0), sTemp)
Else
Exit Do
End If
Loop
Next
PisahAngka = Replace$(sTeks, Chr$(160), vbNullString)
End Function
Cara pakai :
=PisahAngka( cell_teks, "teks pemisahnya" )
Regards.
Kid.
2010/8/13 Barry <[email protected]>
>
>
> Dear Master XL,
>
> mau tanya soalnya ada kasus di kantor dengan contoh data
>
> 100SEV50
> 10SEV5
> SEV5
> 8TL100
> 6TL5
> dst..
> Agar menjadi
> 100SEV50 menjadi 100 - SEV - 50
> 6TL5 menjadi 6 - TL - 5
> dst..
> nach bagaimana caranya supaya memisahkan angka huruf kemudian angka langi
> pada kolom sebelahnya?? mohon bantuan para Master. Dan saya ucapkan terima
> kasih sebelumnya.
>
>
>