• DİKKAT

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

boşluktan ayırma

Katılım
18 Ağustos 2013
Mesajlar
7
Excel Vers. ve Dili
Türkçe 2010
Cells(1,1) hücresindeki "ABC 100A" string ifadesini boşluktan ayırıp "ABC" yi Cellls(1,2) ye yazdırmak istiyorum.nasıl bi fonksiyon kullanmam gerekiyor ?
 
Merhaba,

Kod:
Cells(1, 2) = Split(Cells(1, 1), " ")(0)
 
Teşekkür ederim bu kod işimi gördü.
Fakat bi sorum daha olacak. Sondan ayırma yapmak istiyorsam nasıl olacak.
Örneğin ; "ABC 98 KLM" bu stringi sondan başlıyarak ilk boşluğa geldiğinde
"ABC 98"i bi hücreye "KLM" yi bi hücreye yazsın.
Ama sondan başlaması önemli.
 
Teşekkür ederim bu kod işimi gördü.
Fakat bi sorum daha olacak. Sondan ayırma yapmak istiyorsam nasıl olacak.
Örneğin ; "ABC 98 KLM" bu stringi sondan başlıyarak ilk boşluğa geldiğinde
"ABC 98"i bi hücreye "KLM" yi bi hücreye yazsın.
Ama sondan başlaması önemli.


Kod:
Cells(1, 2) = Split(Cells(1, 1), " ")(0)

Merhaba,

Split(Cells(1, 1), " " fonksiyonu hücreyi Boşluğa göre böler

Bu durumda hücre ABC, 98 ve KLM olarak sanki 3 ayrı sözcükmüş gibi düşünebilirsiniz.

Split fonksiyonun sonundaki (0) bölünen bu sözcüklerin ilkini, (1) ikincisini (yani 98), (2) ise son sözcüğü yani KLM yi bize verirdi.

Bu durumda eğer hücredeki yapınız "ABC 98 KLM" gibi ise yani 2 boşluk var ise yukardaki yapıyı kullanarak son sözcüğü alır hücreye yazarsınız, sonra bu sözcüğü Replace yani değiştirerek yerine hiç bir şey koymazsanız sizin istediğiniz ABC 98 i elde edersiniz.

Yani B1 hücresine son sözcüğü alacaksanız

Cells(1, "B") = Split(Cells(1, "A"), " ") (2)

kullanabilirsiniz.

C1 hücresine de ABC 98 i almak isterseniz

Cells(1, "C") = Replace(Cells(1, "A"), cells(1, "B"), "")

yazabilirsiniz.

Ancak hücre içindeki değerde değişken sayıda boşluk varsa ve siz son sözcüğü B sütununa, diğer geri kalanını C sütununa yazmak isterseniz durum biraz daha farklı olacaktır.

Önce hücreyi bir değişkene bölerek atarsınız.

Degisken = Split(Cells(1, "A"), " ")

Son sözcüğü almak istediğinizde ise

Cells(1, "B") = Degisken(Ubound(Degisken))

yazarak alabilirsiniz. UBound bir dizinin kaç elemandan oluştuğunu verir

Örneğimizde UBound(Degisken) bize 2 elemanlı olduğunu söyler(Sıfırıncı elemanın olduğunu düşünürsek, 3 elaman var demektir)

Umarım yardımcı olmuştur bu açıklamalar.
 
Çok teşekkür ederim kodları açıklamanız çok işime yaradı.ben bu vba kodlarını öğrenmem gerekiyor böyle kodların açıklamasını yapan bir döküman bulabilirmiyim acaba ?
 
Çok teşekkür ederim kodları açıklamanız çok işime yaradı.ben bu vba kodlarını öğrenmem gerekiyor böyle kodların açıklamasını yapan bir döküman bulabilirmiyim acaba ?

Merhaba,

VBA ile ilgili kitaplar edinebilirsiniz, ayrıca forumda da bol miktarda örnekler görebilirsiniz. Forumun en başındaki setlerden yararlanabilirsiniz.

Eğer bildiğiniz bir fonksiyon ise onun detaylı kullanımını VBA nın yardımında bulabilirsiniz.
 
Geri
Üst