Range hücreleri

Katılım
15 Aralık 2008
Mesajlar
17
Excel Vers. ve Dili
2000 - Türkçe
Yine ben yine değişik bir soru !
Aradığım şeyler önümdeki VBA kitabında yok ,internette hem Türkçe hem İngilizce aratıyorum bir sonuç bulamıyorum.Aşağıdaki konu hakkında bir formülü olan paylaşırsa sevinirim !

Aşağıdaki kodun tam olarak bu işe uygun olup olmadığını bilmemekle birlikte
mesela;
Cells(4,4) = Range("deneme").Cells(&O5) diye bir kod yazarsam D'nin 4.satırına , deneme isimli range'nin 5.hücresindeki değeri aktarıyor.
1.)buradaki & ve O işaretleri tam olarak ne ifade ediyor anlamadım.

2.)Eğer hücreleri sırasıyla seçip isimlendirmezsem yani mesela A1,B5,C9 gibi simetrik olmayan hücreleri alt tuşuna basılı tutup seçip "deneme" ismini verirsem ve bu şekilde kod kullanmaya çalışırsam B5 , "deneme" isimli range'nin 2.hücresi olarak işlem görmüyor!
Sorum şudur ki bir range'nin hücrelerini range'ye ekleniş sırasına göre takip etmenin bir yolu var mıdır?

Daha sonra kod yazarken For kullanıp her hücresini farklı işlemlerde kullanmak istiyorum..

3.) Bir Range'nin (dediğim gibi sıralı değil herhangi birçok sayıda hücreyi içerebilir) toplamda kaç tane hücre içerdiğini bulmanın bir kodu var mı?

-Bana göre- bu zor soruların cevapları için şimdiden teşekkürler.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Cells(4,4) = Range("deneme").Cells(&O5) diye bir kod yazarsam D'nin 4.satırına , deneme isimli range'nin 5.hücresindeki değeri aktarıyor.
1.)buradaki & ve O işaretleri tam olarak ne ifade ediyor anlamadım.
&O5 ifadesi, aynı zamanda Oct(5)'in ürettiği değere eşittir. Hatta, bu fonksiyonun pratik yazılışıdır. Oct (Octal) fonksiyonu; bir sayıyı, sekizlik sayı sistemine dönüştürme için kullanılan fonksiyondur. (Aynen Hex fonksiyonunda 16'lık sisteme dönüşüm gibi ..)

2.)Eğer hücreleri sırasıyla seçip isimlendirmezsem yani mesela A1,B5,C9 gibi simetrik olmayan hücreleri alt tuşuna basılı tutup seçip "deneme" ismini verirsem ve bu şekilde kod kullanmaya çalışırsam B5 , "deneme" isimli range'nin 2.hücresi olarak işlem görmüyor!
Sorum şudur ki bir range'nin hücrelerini range'ye ekleniş sırasına göre takip etmenin bir yolu var mıdır?
Bunun için, ne "Union" ne de "Name" kullanmak işe yarar ... Hepsi, Excel'in range okuma stilini kabul eder ve ekleme sıranızı dikkate almaz.

En iyi yöntem, aralıktaki tüm hücre adreslerini bir Collection nesnesinde, sırası ile toplamak ve daha sonra Collection nesnesinde biriken değerleri, index (sıra) numarası ile çağırarak, istenilen hücreye set etmektir.

Böylelikle, belirlediğiniz aralıktaki indexlediğiniz hücrelere, rahatlıkla ulaşabilirsiniz.

3.) Bir Range'nin (dediğim gibi sıralı değil herhangi birçok sayıda hücreyi içerebilir) toplamda kaç tane hücre içerdiğini bulmanın bir kodu var mı?
Kod:
Range("deneme").Cells.Count
komutunu kullanırsanız, ilgili aralıktaki hücre sayısını bulabilirsiniz.
 
Üst