Hatırlatma programı foruma eklenmiştir.
http://www.excelce.net/forum/index.php?topic=1661.0

Gönderen Konu: Yazı dizisinde Araç Plakasını ayırmak...  (Okunma sayısı 11446 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı Erhan Yavuz

  • Excelce Özel Üye
  • *****
  • İleti: 20
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
    • Bilsit Eğitim Kurumları
  • Ad Soyad: Erhan Yavuz
  • İl / İlçe: İstanbul-Etiler
  • Mesleğiniz: Emekli Subay
Yazı dizisinde Araç Plakasını ayırmak...
« : 30 Haziran 2010, 17:35:37 »
Araç plakalarının yazım düzenin de yazılması için aşağıdaki kod bloğu kullanılır...

Kod: [Seç]
Function plakaAyir(Plaka As String)
    Plaka = Replace(UCase(Plaka), " ", "")
    With CreateObject("vbscript.regexp")
        .Pattern = "([0-9]{2})([A-Z]{1,3})([0-9]{2,4})"
        .Global = True
        plakaAyir = .Replace(Plaka, "$1 $2 $3")
       
    End With
End Function

Benim sormak istediğim örneğin bir yazı dizisi içinden bu plaka bloğunu çekip alabilirmiyiz..??

Örneğin:

FT NO: 122 KON PETROL  34 COG 85 YAKIT ALIMI KDVSI

satırındaki 34 COG 85 silmek istesek...

veya;

FT NO: 74 34 R 3678 MAZOT ALIMI KDVSI

Satırındaki;

34 R 3678 plaka bloğunu silebilirmiyiz?

veya;

34 ER 544 PLK ARÇ KIRASI ORHAN ÜLKER EKIM/09

Satırındaki 34 ER 544 plaka bloğunu silelim...

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Yazı dizisinde Araç Plakasını ayırmak...
« Yanıtla #1 : 30 Haziran 2010, 19:25:31 »
Erhan abi, şöyle bir çözüm olabilir sanırım;

Kod: [Seç]
Sub Excelce_Plaka_Sil()
On Error Resume Next
bosluklar = Split(ActiveCell.Value, " ", , vbBinaryCompare)
For excelce = 0 To UBound(bosluklar)
If IsNumeric(bosluklar(excelce - 2)) And IsNumeric(bosluklar(excelce)) And Not IsNumeric(bosluklar(excelce - 1)) Then
    Plaka = (bosluklar(excelce - 2)) & " " & (bosluklar(excelce - 1)) & " " & (bosluklar(excelce)) & " "
ActiveCell.Value = VBA.Replace(ActiveCell, Plaka, "")
End If
Next excelce
End Sub

KTF yapmadım, dilersen dönüştürürüz.
Kolay gelsin.
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Erhan Yavuz

  • Excelce Özel Üye
  • *****
  • İleti: 20
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
    • Bilsit Eğitim Kurumları
  • Ad Soyad: Erhan Yavuz
  • İl / İlçe: İstanbul-Etiler
  • Mesleğiniz: Emekli Subay
Ynt: Yazı dizisinde Araç Plakasını ayırmak...
« Yanıtla #2 : 30 Haziran 2010, 20:55:48 »
Canım kardeşim, sen nerelerdesin, özlettin kendini, tatilde nerelere kaçtın... Yazında bile olsa yanımızda olman ne güzel.

Bu arada site açılınca -NOD32  "crlnject.B.Gen.Virus" uyarısı yapıyor nedendir? :hımm

Çevrimdışı Erhan Yavuz

  • Excelce Özel Üye
  • *****
  • İleti: 20
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
    • Bilsit Eğitim Kurumları
  • Ad Soyad: Erhan Yavuz
  • İl / İlçe: İstanbul-Etiler
  • Mesleğiniz: Emekli Subay
Ynt: Yazı dizisinde Araç Plakasını ayırmak...
« Yanıtla #3 : 30 Haziran 2010, 21:10:31 »
FİŞ NO:3 KAYALAR PETROL 34 GK 4390

İlginçtir yukarıdaki dizgide tespit edemiyor? :hımm

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Yazı dizisinde Araç Plakasını ayırmak...
« Yanıtla #4 : 30 Haziran 2010, 21:34:21 »
Canım kardeşim, sen nerelerdesin, özlettin kendini, tatilde nerelere kaçtın... Yazında bile olsa yanımızda olman ne güzel.
Tatilde evdeyim, tadilat yapacağız. Usta araştırıyorum, fiyat araştırıyorum...

Bu arada site açılınca -NOD32  "crlnject.B.Gen.Virus" uyarısı yapıyor nedendir? :hımm
Site anasayfaya frame atılıyor. Direkt foruma girdiğim için de geç fark ediyorum.
Forumda uyarı olmaması lazım.
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Yazı dizisinde Araç Plakasını ayırmak...
« Yanıtla #5 : 30 Haziran 2010, 21:34:59 »
FİŞ NO:3 KAYALAR PETROL 34 GK 4390

İlginçtir yukarıdaki dizgide tespit edemiyor? :hımm

Şöyle dener misin?
Kod: [Seç]
Sub Excelce_Plaka_Sil()
On Error Resume Next
bosluklar = Split(ActiveCell.Value, " ", , vbBinaryCompare)
For excelce = 0 To UBound(bosluklar)
If IsNumeric(bosluklar(excelce - 2)) And IsNumeric(bosluklar(excelce)) And Not IsNumeric(bosluklar(excelce - 1)) Then
    Plaka = (bosluklar(excelce - 2)) & " " & (bosluklar(excelce - 1)) & " " & (bosluklar(excelce))
ActiveCell.Value = VBA.Replace(ActiveCell, Plaka, "")
End If
Next excelce
End Sub
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)

Çevrimdışı Erhan Yavuz

  • Excelce Özel Üye
  • *****
  • İleti: 20
  • Puan +0/-0
  • Cinsiyet: Bay
  • Excel'den Daha Fazlası!..
    • Bilsit Eğitim Kurumları
  • Ad Soyad: Erhan Yavuz
  • İl / İlçe: İstanbul-Etiler
  • Mesleğiniz: Emekli Subay
Ynt: Yazı dizisinde Araç Plakasını ayırmak...
« Yanıtla #6 : 01 Temmuz 2010, 10:16:01 »
Çok teşekkürler değerli dost... Çok işime yarayacak..

Bu arada örnek olması açısından Tarkan Vural kardeşimin örneğini de sizlerle paylaşayım, örnek örnektir...

Kod: [Seç]
Option Base 1
Function plaka(veri As String) As String
Dim evn As Variant
Application.Volatile
evn = Split(Trim(veri), " ")
For i = LBound(evn) To UBound(evn)
    If IsNumeric(evn(i)) Then
        If Not IsNumeric(evn(i + 1)) Then
            If IsNumeric(evn(i + 2)) Then
                If Len(evn(i)) = 2 And CLng(evn(i)) > 0 And CLng(evn(i)) < 82 Then
                    If Len(evn(i + 1)) < 4 Then
                        If Len(evn(i + 2)) > 0 And Len(evn(i)) <= 4 And CLng(evn(i)) > 0 Then
                            For a = LBound(evn) To UBound(evn)
                                If a <> i And a <> i + 1 And a <> i + 2 Then
                                    plaka = plaka & evn(a) & " "
                                End If
                            Next a
                            Exit Function
                        End If
                    End If
                End If
            End If
        End If
    End If
Next i
End Function

Çevrimdışı Bülent Öztürk

  • Excelce.Net Yönetici
  • *
  • İleti: 1411
  • Puan +19/-0
  • Cinsiyet: Bay
  • Türkçe Konuşup Excelce Yazıyoruz...
    • Bülent Öztürk
  • Ad Soyad: Bülent Öztürk
  • Doğum Yılınız: 1976
  • İl / İlçe: İstanbul / Çorlu
  • İşletim Sisteminiz: Win.10
  • Mesleğiniz: Bilgi Teknolojileri
  • Office Versiyonunuz: 2016
Ynt: Yazı dizisinde Araç Plakasını ayırmak...
« Yanıtla #7 : 02 Temmuz 2010, 12:00:42 »
Sağol Erhan abi.  ;)
(Ücretli program talepleriniz için iletişime geçebilirsiniz, excelvbprogram@gmail.com)