• DİKKAT

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

Veri ayırma. Belirlenen kritere göre.

  • Konbuyu başlatan Konbuyu başlatan Bora K
  • Başlangıç tarihi Başlangıç tarihi
Katılım
21 Ocak 2013
Mesajlar
331
Excel Vers. ve Dili
2003 Türkçe
Merhaba arkadaşlar.

Mustafa Yavuz "burjuva3434" - Kadıköy - İstanbul
şeklinde çokça veri var alt alta yazılmış (Sütun halinde)
Ben verileri seçip Veri > metni sütunlara dönüştür > tire den ayır yaptığım
zaman veri 3 parça oluyor. Ben ise iki parça olmasını istiyorum.
Mustafa Yavuz "burjuva3434" ve Kadıköy - İstanbul şeklinde ayrılmasını istiyorum.
Dediğim şekilde parçalamayı nasıl yapabilirim acaba?
 
Merhaba,
Aşağıdaki kodu Modüle yapıştırarak dener misiniz?
Kod:
Sub Ayır()
For i = 1 To Range("A" & Rows.Count).End(3).Row
    u = Len(Cells(i, 1))
    p = WorksheetFunction.Search("-", Cells(i, 1))
    Cells(i, 2).Value = Mid(Cells(i, 1), 1, p - 1)
    Cells(i, 3).Value = Mid(Cells(i, 1), p + 1, u)
Next
End Sub
 
Merhaba
İlginiz ve yardımınız için teşekkür ederim öncelikle.

Ben Mustafa Yavuz "burjuva3434" - Kadıköy - İstanbul örneği verdim.
Kod buna göre işlevini yapıyor. Lakin şu şekilde bir durum var sonradan farkettim.
Tırnak içindeki metinlerin bazıları diğer satırlarda () parantez içinde.

Kodu:
Verileri " " veya ( ) den sonraki Tirelerden sonra ayır diye revize edebilirmisiniz acaba?
Birde veriler F4 ten itibaren sıralı halde. G ve H ye aktaracak şekilde adres tanımlarsanız
sevinirim. Teşekkür ederim.
 
Mustafa Yavuz "burjuva3434" - Kadıköy - İstanbul

Mustafa Yavuz
"burjuva3434" -Kadıköy - İstanbul

Bu şekilde ayırmak istiyorsan
Sub Ayır()
For i = 4 To Range("F" & Rows.Count).End(3).Row
u = Len(Cells(i, "F"))
p = WorksheetFunction.Search("""", Cells(i, "F"))
Cells(i, "G").Value = Mid(Cells(i, "F"), 1, p - 1)
Cells(i, "H").Value = Mid(Cells(i, "F"), p + 1, u)
Next
End Sub
 
Merhaba,

Kod ilk tire(-) işaretinden ayırmak üzere tasarlandı. Dolayısı ile tireden önceki karakterler dikkate alınmaz. Tırnak işareti, parantez veya herhangibir karakter sonucu etkilemez.
Kodu istediğiniz biçimde değiştirdim.
Ancak ilk mesajınıza küçük bir örnek dosya ekleseydiniz, şimdi bu yazışmaları yapmıyor olacaktık.
Hoşçakalın.

Kod:
Sub Ayır()
For i = 4 To Range("F" & Rows.Count).End(3).Row
    u = Len(Cells(i, 6))
    p = WorksheetFunction.Search("-", Cells(i, 6))
    Cells(i, 7).Value = Mid(Cells(i, 6), 1, p - 1)
    Cells(i, 8).Value = Mid(Cells(i, 6), p + 1, u)
Next
End Sub
 
Sayın dEdE
sizi online değil olarak gördüm.
Arkadaşa sizin kodlarınızda değişiklik yaparak cevap vermek istedim..
Konuya müdahale olarak algılamamanızı rica ediyorum..

İyi akşamlar..
 
Merhaba Mustafa Bey.

Olayın boyutu değişti. Yukarıda tam olarak anlatamadım sanırım.
Kodu denedim lakin kod hata verdi.

Şunu istiyorum ben.
Verimiz "-" işaretinden ayrılacak. Lakin verimizde "-" işareti birden fazla.
O halde şunu istiyorum
Veriyi tara " " tan sonraki tireden o yoksa ( ) den sonraki tireden veriyi iki kısma ayır.

Bu şekilde bir kod yazılabilrmi acaba?
 
Sayın dEdE arkladaşımız sizinle ilgileniyor.

sorularınızı dEdE arkadaşımıza sorarsanız eminim çözümü alacaksınız.

Ancak örnek vermelisiniz.
Mustafa Yavuz "burjuva3434" - Kadıköy - İstanbul
Mustafa Yavuz (burjuva3434) - Kadıköy - İstanbul
Bu gibi F4 den başlayan verilerim var.
1-
Mustafa Yavuz
"burjuva3434" - Kadıköy - İstanbul
2-
Mustafa Yavuz
(burjuva3434) - Kadıköy - İstanbul

Bu şekilde G ve H sutunlarına gelmesini istiyorum gibi...
 
Merhaba,

Kod ilk tire(-) işaretinden ayırmak üzere tasarlandı. Dolayısı ile tireden önceki karakterler dikkate alınmaz. Tırnak işareti, parantez veya herhangibir karakter sonucu etkilemez.
Kodu istediğiniz biçimde değiştirdim.
Ancak ilk mesajınıza küçük bir örnek dosya ekleseydiniz, şimdi bu yazışmaları yapmıyor olacaktık.
Hoşçakalın.

Kod:
Sub Ayır()
For i = 4 To Range("F" & Rows.Count).End(3).Row
    u = Len(Cells(i, 6))
    p = WorksheetFunction.Search("-", Cells(i, 6))
    Cells(i, 7).Value = Mid(Cells(i, 6), 1, p - 1)
    Cells(i, 8).Value = Mid(Cells(i, 6), p + 1, u)
Next
End Sub

Sayın dEdE
Çok özür dilerim. Kesinlikle haklısınız örnek dosya eklemem gerekirdi.
Lakin olaylar benim kontrolümde değildi. Mazur görünüz lütfen.

Şuanda olayın şekli tamamen değişti.
Ben bu kodu denedim lakin olumlu sonuç alamadım.

Şunu istiyorum ben.
Verimiz "-" işaretinden ayrılacak. Lakin verimizde "-" işareti birden fazla.
O halde şunu istiyorum
Veriyi tara " " tan sonraki tireden o yoksa ( ) den sonraki tireden veriyi iki kısma ayır.
" " ve ( ) bu işaretlerin nerede olduğu önemli değil. Bu işaretlerden sonra "-" var ise ayırma yapacak.
" " ve ( ) işaretleri "-" den önce mutlaka var.

Bu şekilde bir kod yazabilirseniz şayet çok sevinirim.
Zamanınızı gereksiz yere harcadığım içinde özür dilerim.
 
Merhaba,
Hala dosya eklemeniz mümkün.
Yukarıdaki kod tırnak ve parantezi dikkate almadan bulduğu ilk tireden ayırıyor.
Başka bir çözüm istiyorsanız örnek dosyanızı;sorunu ve elle yapılmış çözümü de içerir şekilde ekleyiniz.
Hoşçakalın.

Sayın Mustafa MUTLU
Sayın dEdE
sizi online değil olarak gördüm.
Arkadaşa sizin kodlarınızda değişiklik yaparak cevap vermek istedim..
Konuya müdahale olarak algılamamanızı rica ediyorum..
Farklı bakış açılarını görmek bana mutluluk verir. Birkaç arkadaşımız daha müdahil olsalar da farklı yaklaşımları yakalyabilsek. Excelde bir sorunun birden fazla çözüm yolu var. Onlarıda görmüş olurduk.
Hoşçakalın.
 
Son düzenleme:
Merhaba

Dediğiniz doğrultuda örnek dosya hazırladım sayın dEdE.
Yaşanılan gereksiz şeyler için özür dilerim tekrardan.
Yazdığınız kodların birilerinin işini görmesini ümid ediyorum.
Yardımlarınızı bekliyorum.
 

Ekli dosyalar

Sayın dEdE; Dosyaya bakma fırsatı bulabildinizmi acaba?
Kodun yazılma ihtimali varmıdır.
 
Merhaba,
İlk mesajınızda örnek bir cümle verdiniz, ona göre kodu yazdım.
Sonra örneğinizi değiştirdiniz, ben de kodu değiştirdim.
Sonra yine eklemeler yaptınız örneğinize.
Nihayet örnek dosya eklemenizi sağlayabildik ama ; mesajınızda veriler F4 den başlıyor demiştiniz, örneğinizde H4 ten başlıyor.

Bir zamanlar bir üyemiz vardı. a....a nikini kullanırdı. Tıpkı sizin gibi başlar, çoğu kez örnek dosya eklemez, sürekli değişiklikler yapardı. Sık sık da "...şöyle bir durum var", "... şimdi durum değişti." gibi cümleler kurardı. Bir süre sonra sorularına yanıt alamamaya başladı.
Ne ilginç bir tesadüfdür ki; Bu üyemiz sizin üye olduğunuz günden (21.1.2013)bu yana hiç mesaj göndermedi, hatta günde birkaç kez forumu ziyaret eden bu üye forumu ziyaret dahi etmedi. Şimdi de siz benzer sorular soruyorsunuz.
Son haliyle sorunuzu yanıtlamak beni aşıyor.
Hoşçakalın.
 
Madem ki birkaç kez durum değişti.
Pekala ekli dosyadaki örneğe görede yapılabilirdi.

Diğer mevzuya gelince. Araşıtrmalırınız kısmen doğru diyelim.
Lakin sorularıma cevap alamamam gibi bir durum söz konusu değildir.
Bilakis her türlü yardımı aldım.
Bu vesile ile tüm arkadaşlara tekrardan binlerce kez teşekkür ediyorum.
Bahsettiğiniz olayın özel bir nedeni vardır. Burada paylaşamayacağım türden.
Burada takdir yönetimindir. En nihayetinde bizler useriz. Ne derler ise o olur.
Benden bu kadar sayın dEdE
şuana kadar yaptığınız yardımlar için teşekkür ederim.
 
Sayın Yönetim.
Bu imkanı her ne amaç için olursa olsun. Bize sağladığınız için
şükranlarımı sunarım. Yukarıdaki mesajlarda yazılanlar kısmen doğrudur.
Tarafınıza ise benimle ilgili bir şikayet gelmemiştir ümidi taşııyorum. Çünkü
hiç bir kişi yada yönetici arkadaşımıza kırıcı tabir yada söylem kullanmadım.
Bilmemek ayıp değldir öğrenmemek ayıptır düsturu ile yola çıktık. Hasbelkader birşeyler
öğrenmeye çalıyıorum. Lakin takdir edersiniz ki excel bir derya. Ben ise
hala damla olmaya gayretindeyim. Birşeyi öğreniyorum sonra birşey çıkıyor.
Rusların matruşkası gibi. Açtıkça yeni şeyler çıkıyor. Ben az yazayım siz çok anlayın.

Konuyu yenilemek zorunda hissettim kendimi.
Uygun görülmez ise. Gereğini yapınız lütfen.
Saygılarımla.

http://www.excel.web.tr/f48/veriler...raki-tire-i-aretinden-t124739.html#post678888
 
Geri
Üst