• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Adreste arama yapmak

Katılım
20 Nisan 2005
Mesajlar
451
Arkadaşlar Merhaba;
Bİr excell dosyam var içinde adres kısmında firmaların tüm adres bilgileri aynı hücreye yazılmış

Örnek
Karşıkayacad. NO 20 Üsküdar/İstanbul
Mahmut Bey Cad. NO: 5 Sirkeci- İSTANBUL

gibi


ben bu adresleirn içinden İlleri veya ilçeleri ayırara bilme imkanım varmı ?

Not: Aynı konuyu yeni konuda yazacağım yere başka bir konunun altına ilave etmişim ordanda silemedim
 
Merhaba

Bu yapacağımızı excel'e anlatabilmemiz için dataların belli bir standartta olması lazım.
Örneğin her verinin son iki kelimesi ilçe ve il'dir diyebiliyor muyuz.
Bu son iki kelimedeki il ve ilçe arasında, "/" veya "-" veya " ", vardır diyebiliyor muyuz.
Yani bunları excel'in bir şekilde anlayacağı bir mantık kurmamız lazım. Aksi durumlarda hatalı ayıracaktır.
Böyle bir mantık kuramıyor isek, bütün olası il ve ilçeleri içeren bir database'e ihtiyaç var.
 
Çok hüzel bir noktaya deyindin, adres kısmında her türlü alternatif var, çünkü her kullanıcı kendisine göre veri girmiş,
Eğr sorunu çözecek ise ben İlleri ve ilçeleri oluşturan bir tablo yapabilirm
Örnek
A Surununda İl mi ? İlçemi? B sutununda Adını

İl- BUrsa
İlçe- İnegöl


gibi
 
Elinizde mevcut verilerin bulunduğu dosyayı görebilir miyiz ? :dusun:

İlk verdiğiniz kii örneğe göre dosyanıız hazırladım ama, daha dediğiniz gibi çok farklı verilerle ayrılmışlarsa işe yaramayabilir...
 
Şu kodları bir deneyiniz;

Kod:
Sub Il_Ilce_Ayir()
    Dim Reg As Object
    Dim i As Integer
    Application.ScreenUpdating = False
    Range("B1:C500").ClearContents
    For i = 1 To Range("A65536").End(3).Row
        Cells(i, 1) = Replace(Replace(Cells(i, 1), " ", ""), "-", "/")
    Set Reg = CreateObject("VBScript.RegExp")
    Reg.Global = True
    Reg.Pattern = "([a-zA-Z\s\ç\Ç\ö\Ö\ş\Ş\ı\İ\ğ\Ğ\ü\Ü\*]*/)"
    Set say = Reg.Execute(Cells(i, 1))
        If say.Count > 0 Then
            Cells(i, 2) = Reg.Execute(Cells(i, 1)).Item(0)
        End If
        Cells(i, 2) = Replace(Cells(i, 2), "/", "")
        Cells(i, 1).Select
        Selection.TextToColumns Destination:=Cells(i, "C"), DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
        Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
        :="/", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
    Next i
    Columns(3).Delete
    Application.ScreenUpdating = True
    i = Empty: Set Reg = Nothing
End Sub
 
Merhaba,

Alternatif olarak aşağıdaki kodlarıda kullanabilirsiniz.

Kod:
Option Explicit
 
Sub İL_İLÇE_AYIR()
    Dim X, Veri
 
    Application.ScreenUpdating = False
 
    Range("B:C") = ""
 
    For X = 1 To Cells(Rows.Count, 1).End(3).Row
        Veri = Replace(Replace(Cells(X, 1), "   ", " "), "  ", " ")
        Veri = Split(Replace(Replace(Replace(Veri, "/", " "), "-", " "), "  ", " "), " ")
        Cells(X, 2) = Veri(UBound(Veri) - 1)
        Cells(X, 3) = Veri(UBound(Veri))
    Next
 
    Application.ScreenUpdating = True
 
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Arkadaşlar bildirimleriniz için çok teşekkür ederim.

Hiç bu şekilde bir işlem yapmadım, bu verileri nereye ve nasıl kaydedeceğimi bilirtebilirmisiniz

selamlar
 
Murat BEy selamlar,
dsoyayı açtığımda kusursuz çalışıyor,bu format mutlaka başka bir çalışmada lazım olacaktır tşekkür ederim.
ancak adres kısmında format çok değişken bununiçin farklı birşey yapılabilirmi
örnek dosyamı bir önceki mesajımda eklemiştim,
bu arada makro ataması için verdiğiniz lik içinde teşekkürler
 
Size kolay gelsin...

Bırakın formatı ilçelerin isimleri bile saçma sapan yazılmış.
 
Evet Malesef kafalarına göre yazmışlar

yinede ilginiz için tşekerüler
 
Geri
Üst