Plaka Ayırma

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Arkadaşlar Herkese Selamlar,
Herhangi bir hücreye yazılan, örneğin : 35AN475 nolu araba plakasını 35 AN 475 olarak, yani boşluk bırakacak bir makro lazım. Şimdiden teşekkür ediyorum.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Teşekkür ediyorum Uzmanamele. Gösterdiğiniz Link fonksiyonla ilgiliydi. Bana kod lazım. Yani aynı hücrede yazılıp enterlendiğinden ayırma işlemini yapacak. İlginiz için teşekkürler.
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Seyit Tiken, aşağıdaki linkde bir çok kod var, aradığınız kodu belki burada bulabilirsiniz.

http://www.alpc.net/vb6/
 

N.Ziya Hiçdurmaz

Özel Üye
Katılım
28 Nisan 2007
Mesajlar
2,218
Excel Vers. ve Dili
Office 2013 TR / 32 Bit
Yanıt

Bu şekil deneyiniz
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
Target = Mid(Target, 1, 2) & " " & Mid(Target, 3, 2) & " " & Mid(Target, 5, 3)
Application.EnableEvents = True
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn N.Ziya Hiçdurmaz 2-2-3 şeklinde gruplandırmak 34T2345 gibi plakalarda sorun çıkartır.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Ziya bey teşekkür ediyorum. Standart bir plaka için güzel çalışıyor kod. Sayın Uzmanamele'nin belirtiği gibi farklı krakter girildiğinde aynı çözümü sunmuyor. Koda nasıl bir ekleme yapılabilir.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Ziya bey teşekkür ediyorum. Standart bir plaka için güzel çalışıyor kod. Sayın Uzmanamele'nin belirtiği gibi farklı krakter girildiğinde aynı çözümü sunmuyor. Koda nasıl bir ekleme yapılabilir.
Seyit bey aşağıdaki kodu hazırladım.
Hatasız gibi görünüyor.
A sütunundaki değerleri b sütununa yazdırıyor.
İyi çalışmalar .
Kod:
Sub plaka()
For i = 1 To Cells(65536, "A").End(xlUp).Row
    If Cells(i, "A").Value = "" Then GoTo atla
    For k = 1 To Len(Cells(i, "A").Value)
        If Not IsNumeric(Mid(Cells(i, "A").Value, k, 1)) Then
            ilk = k - 1
            GoTo son
        End If
    Next k
son:
    For k = ilk + 1 To Len(Cells(i, "A").Value)
        If Not IsNumeric(Mid(Cells(i, "A").Value, k, 1)) Then
            orta = k
        End If
    Next k
    For k = 1 To ilk
        deg = deg & Mid(Cells(i, "A").Value, k, 1)
    Next
    deg = deg & " "
    For k = ilk + 1 To orta
        deg = deg & Mid(Cells(i, "A").Value, k, 1)
    Next
    deg = deg & " "
    For k = orta + 1 To Len(Cells(i, "A").Value)
        deg = deg & Mid(Cells(i, "A").Value, k, 1)
    Next
Cells(i, "B").Value = deg
deg = ""
atla:
Next
End Sub
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
girilen değerin 4. karakteri sayıysa
Mid(Target, 1, 2) & " " & Mid(Target, 3, 1) & " " & Mid(Target, 4, 4)
değilse
Mid(Target, 1, 2) & " " & Mid(Target, 3, 2) & " " & Mid(Target, 5, 3)
gibi if komutu kullanılabilir
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
merhaba
girilen değerin 4. karakteri sayıysa
Mid(Target, 1, 2) & " " & Mid(Target, 3, 1) & " " & Mid(Target, 4, 4)
değilse
Mid(Target, 1, 2) & " " & Mid(Target, 3, 2) & " " & Mid(Target, 5, 3)
gibi if komutu kullanılabilir
Merhaba.
8 numaralı cevabıma baktınızmı?
 

uzmanamele

Uzman
Uzman
Katılım
26 Eylül 2007
Mesajlar
9,421
Excel Vers. ve Dili
excel 2010
merhaba
syn Evren Gizlen, sizin cevabı görmeden cevap vermiştim, sizin kodlara itirazım yok. elinize sağlık.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,473
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Benim de çalışmam boşa gitmesin.

Kod:
Sub Plaka()
For i = 1 To [A65536].End(3).Row
    For j = 1 To Len(Cells(i, "A"))
        If IsNumeric(Mid(Cells(i, "A"), j, 1)) = False Then
            Bas = j
            Exit For
        End If
    Next j
    For j = j + 1 To Len(Cells(i, "A"))
        If IsNumeric(Mid(Cells(i, "A"), j, 1)) = True Then
            Bit = j
            Exit For
        End If
    Next j
                   
    Cells(i, "B") = Trim(Left(Cells(i, "A"), Bas - 1)) & " " & _
                    Trim(Mid(Cells(i, "A"), Bas, Bit - Bas)) & " " & _
                    Trim(Right(Cells(i, "A"), Len(Cells(i, "A")) - Bit + 1))
Next i
End Sub
 
Son düzenleme:

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Arkadaşlar kodlar süper. Hemen arşive attım. Teşekkür ediyorum.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Arkadaşlar kodlar süper. Hemen arşive attım. Teşekkür ediyorum.
Rica ederim.
İyi günlerde kullanın.
Aşağıdaki ekli dosyada ve yazdığım KTF var.Belki fonksiyon olarakta kullanabilrsiniz.
Kullanımı:
Kod:
=plaka(A1)
Kod:
Function plaka(deger As Range)
    If deger = "" Then GoTo atla
    For k = 1 To Len(deger)
        If Not IsNumeric(Mid(deger, k, 1)) Then
            ilk = k - 1
            GoTo son
        End If
    Next k
son:
    For k = ilk + 1 To Len(deger)
        If Not IsNumeric(Mid(deger, k, 1)) Then
            orta = k
        End If
    Next k
    For k = 1 To ilk
        deg = deg & Mid(deger, k, 1)
    Next
    deg = deg & " "
    For k = ilk + 1 To orta
        deg = deg & Mid(deger, k, 1)
    Next
    deg = deg & " "
    For k = orta + 1 To Len(deger)
        deg = deg & Mid(deger, k, 1)
    Next
plaka = deg
atla:
End Function
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Evren Bey, teşekkür ediyoruz, saygılar.
 
Üst