Aslında forumda konuyla ilgili bolca işlenmiş konu var. Sanırım daha önce dikkatinizi çekmedi..
https://www.excel.web.tr/search/566930/?q=RegExp&o=date
...İBAN için;
Function ExtractIBAN(hcr As Range) As String
Dim reg As Object, m As Object
Set reg = CreateObject("VBScript.RegExp")
reg.Pattern = "TR\d{24}"
Set m = reg.Execute(hcr.Value)
If m.Count > 0 Then ExtractIBAN = m(0)
End Function
Kullanım; =ExtractIBAN(A1)...
Merhaba,
Deneyiniz...
=TCyadaVergi(A1)
Function TCyadaVergi(hcr As Range) As String
Dim reg As Object, m As Object
Set reg = CreateObject("VBScript.Regexp")
reg.Pattern = "\b\d{10,11}\b"
Set m = reg.Execute(hcr)
If Not m Is Nothing Then TCyadaVergi = m(0)
End Function
Aşağıdaki kodu kullanabilirsiniz.
Sub Regex_Test()
Set regex = CreateObject("VBScript.RegExp")
regex.Pattern = "^([^\.]*\.[^\.]*)\."
regex.Global = False
For Each cell In Range("A1:A4")
If Not IsEmpty(cell.Value) Then
Set matches =...
...ForReading).ReadAll
strFindWhat = "beyaz"
With CreateObject("VBscript.RegExp")
.Ignorecase = True
.Global = True
.Pattern = strFindWhat
myCount = .Execute(strText).Count
End With
MsgBox myCount
End Sub
.
Merhaba,
Makro ile çözüm aşağıdadır.
Sub Test()
Dim regEx As Object
Dim myText As String
Set regEx = CreateObject("VBScript.RegExp")
regEx.Pattern = "[A-ZÇŞÜÖİ][a-zçşğüöı]*\b"
regEx.Global = True
If regEx.Test(Range("A1")) Then
Set matches =...
..." ", 2)(1)))
Next i
End Sub
Sub test2()
Dim i, al, m
Range("B5:E" & Rows.Count).ClearContents
With CreateObject("VBScript.Regexp")
.Pattern = "^(.+)\s([\d\.\,\-]+)\s([\d\.\,]+)\s([\d\.\,]+)(\s$)"
For i = 5 To Cells(Rows.Count, 1).End(3).Row
al =...
Sub test()
Dim sh As Worksheet, reg As Object, elem, a, pattern, say
Dim dic As Object
Set reg = CreateObject("VBScript.Regexp")
Set dic = CreateObject("Scripting.Dictionary")
reg.pattern = "(^\D{3})([\D]*)(\d+$)"
With Sheets("Sayfa1")
For Each elem In...
...alternatif olarak VBA'de "Regular Expressions" kullanarak bu iş yapılabilir;
Sub Test()
' Haluk - 17/04/2024
Dim NoA As Long
Dim regExp As Object
Dim myStr As String, i As Long
NoA = Range("A" & Rows.Count).End(xlUp).Row
Range("B2:B" & NoA) = ""
Set regExp =...
Merhaba,
RegExp ile daha sağlıklı çözüm üretilebilir diye düşünüyorum. Ama pattern i oluşturamadım. Üstatlar el atarsa ben de öğrenirim.
Daha iyisi yazılana kadar aşağıdaki kodu kullanabilirsiniz.
Me.PageMuvekkilListesiRandevuTarihiSaati =...
...Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim koordinat As String
Dim reg As Object
Set reg = New RegExp
koordinat = Me.TextBox1.Text
' 39.419433 ,29.994388 buradan referans al
reg.Pattern =...
Sub Test()
' Haluk - 22/03/2024
' sa4truss@gmail.com
Dim regExp As Object, myRange As Range
Set regExp = CreateObject("VBscript.RegExp")
regExp.Pattern = "\(\d+\)"
regExp.Global = True
For Each Match In regExp.Execute(ActiveDocument.Range.Text)
Set...
@Zeki Gürsoy ,
Bende o şekilde çalışmadı üstad, ama aşağıdaki desen oldu;
regExp.Pattern = "\((\d*[.,]?)*\d+?\)"
Çalışan link aşağıdadır:
Rubular: \((\d*[.,]?)*\d+?\)
.
Olası bir sonraki soru için;
Eğer nokta veya virgül kimisinde var, kimisinde yoksa bütün parantez ve içlerindeki nümerik değerlerde bu işi yapmak için;
regExp.Pattern = "\(\d*[.,]?\d+?\)"
.
Aşağıdaki kod, isteğinizi karşılar...
Sub Test()
' Haluk - 22/03/2024
' sa4truss@gmail.com
Dim regExp As Object, myRange As Range
Set regExp = CreateObject("VBscript.RegExp")
regExp.Pattern = "\(\d+\)"
regExp.Global = True
For Each Match In...
Sizlere daha iyi bir deneyim sunabilmek icin sitemizde çerez konumlandırmaktayız, web sitemizi kullanmaya devam ettiğinizde çerezler ile toplanan kişisel verileriniz Veri Politikamız / Bilgilendirmelerimizde belirtilen amaçlar ve yöntemlerle mevzuatına uygun olarak kullanılacaktır.