Offset, vba'daki aralık nesnesiyle nasıl kullanılır?
OFFSET’i aralık nesnesiyle birlikte kullanarak çalışma sayfasında hücreden hücreye gidebilir ve ayrıca bir hücre veya aralık seçebilirsiniz. Ayrıca, kullanacağınız range nesnesiyle sahip olduğunuz özelliklere ve yöntemlere erişmenizi sağlar, ancak onu kullanmak için OFFSET’teki argümanları belirtmeniz gerekir.
OFFSET’i Range nesnesiyle kullanma
- Başlamak istediğiniz aralığı belirtin.
- Özelliklerin ve yöntemlerin listesini almak için bir nokta (.) girin.
- Ofset özelliğini seçin ve bağımsız değişkenleri (satır ve sütun) belirtin.
- Sonunda ofsetle kullanılacak özelliği seçin.
OFFSET’i kullanarak bir aralık seçin
Ayrıca bir aralıktan uzaktaki satır ve sütun sayısı kadar bir aralık da seçebilirsiniz. Beş satır aşağı ve 3 sağ sütundan oluşan iki hücreli bir aralığı seçen aşağıdaki kod satırını alın.
Range("A1:A2").Offset(3, 2).Select
Bunun dışında özel bir boyut kullanarak aralığı seçmek için kod da yazabilirsiniz. Aşağıdaki kodun bir örneğini düşünün.
Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Select
Bu kodu anlamak için onu üç parçaya bölmeniz gerekir.
Öncelikle bu aralık nesnesinde aralığın ilk ve son hücresini belirleme seçeneğiniz vardır.
Şimdi örneğe dönelim:
- BİRİNCİ KISIM’da, A1 hücresinin bir satır aşağısındaki ve bir sütun sağındaki hücreye atıfta bulunmak için aralık nesnesini kullandınız.
- İKİNCİ Bölümde, A1 hücresinin beş satır aşağısındaki ve iki sütun sağındaki hücreye atıfta bulunmak için range nesnesini kullandınız.
- THRID bölümünde, bir aralığı referans almak ve seçmek için birinci ve ikinci bölümdeki hücreleri kullandınız.
OFFSET’i ActiveCell ile kullanma
Önceden tanımlanmış bir aralık kullanmak yerine etkin hücreyi de kullanabilirsiniz. Bu, aktif hücreden gezinen bir hücreyi seçmek için dinamik bir ofset elde edeceğiniz anlamına gelir.
ActiveCell.Offset(5, 2).Select
Yukarıdaki kod satırı, aktif hücrenin beş satır aşağısında ve iki sütun sağındaki hücreyi seçecektir.
Bir aralık seçmek için OFFSET’i ActiveCell ile kullanma
Etkin hücrede bir aralık seçmek için aşağıdaki kodu kullanın.
Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Select
Bu kodun nasıl çalıştığını anlamak için bu açıklamaya göz atmayı unutmayın.
OFFSET kullanarak bir aralığı kopyalama
Range(Range("A1").Offset(1, 1), Range("A1").Offset(5, 2)).Copy Range(ActiveCell.Offset(1, 1), ActiveCell.Offset(5, 2)).Copy
Hücreler özelliğini OFFSET ile kullanma
OFFSET özelliğini CELLS özelliğiyle birlikte de kullanabilirsiniz. Aşağıdaki kodu göz önünde bulundurun.
Cells(1, 3).Offset(2, 3).Select
Yukarıdaki kod, ilk olarak, hücreler özelliğini kullanarak ilk satır ve ilk sütunla A1 hücresine (belirttiğiniz gibi) başvurur, ardından iki satır aşağıda olan ve üç sütuna sahip hücreyi seçmek için offset özelliğini kullanır.