Aşağıdaki makro kodu hücre değerindeki tüm karakterlere tek tek bakar ve içinden sadece yazıyı çıkartır:
Function makro_yazi(HucreDegeri) As String Dim i As Long 'loop Dim t As String 'karakterleri çıkarmak için HucreDegeri = Trim(HucreDegeri) For i = 1 To Len(HucreDegeri) If Not IsNumeric(Mid(HucreDegeri, i, 1)) Then t = t & Mid(HucreDegeri, i, 1) End If Next i makro_yazi = t End Function
Aşağıdaki makro kodu hücre değerindeki tüm karakterlere tek tek bakar ve içinden sadece sayıları çıkartır:
Function makro_sayi(HucreDegeri) As Variant Dim i As Long Dim n As Double HucreDegeri = Trim(HucreDegeri) For i = 1 To Len(HucreDegeri) If IsNumeric(Mid(HucreDegeri, i, 1)) Then n = n & Mid(HucreDegeri, i, 1) End If Next i If n > 0 Then makro_sayi = n Else makro_sayi = "" End If End Function
Aşağıdaki makro kodu aralıktaki tüm hücrelere tek tek bakar ve fonksiyon prosedürlerini kullanarak bir sütun sağa hücrenin içerdiği yazıyı, 2 sütun sağa hücrenin içerdiği sayıları çıkarır:
Sub makro_yazi_sayi_ayirma() Dim Aralik As Range Dim Hucre As Range Set Aralik = Range("A2", "A" & Cells(Rows.Count, 1).End(xlUp).Row) For Each Hucre In Aralik Hucre.Offset(0, 1).Value = makro_yazi(Hucre.Value) Hucre.Offset(0, 2).Value = makro_sayi(Hucre.Value) Next Hucre End Sub