Şu anda çevrimdışısınız; İnternet'in yeniden bağlanması bekleniyor

Excel'de Visual Basic yordamları kullanarak hücre/aralık seçme

Office 2003 desteği sona erdi

Microsoft, Office 2003 desteğini 8 Nisan 2014'te sona erdirdi. Bu değişiklik yazılım güncelleştirmelerinizi ve güvenlik seçeneklerinizi etkiledi. Bunun sizin için ne anlama geldiğini ve korunmaya nasıl devam edebileceğinizi öğrenin.

Daha fazla bilgi
Microsoft, programlama örneklerini yalnızca gösterim amacıyla sağlar; örtülü veya açık garanti vermez. Buna satılabilirlik veya belirli bir amaca uygunluk zımni garantileri de dahildir, ancak bunlarla sınırlı değildir. Bu makale, gösterilen programlama dilini ve yordamları oluşturmak ve hata ayıklamak amacıyla kullanılan araçları kullanmayı bildiğinizi varsayar. Microsoft destek mühendisleri, belirli bir yordamın işlevselliğinin açıklanmasına yardımcı olabilir, ancak gereksinimlerinizi karşılamaya yönelik olarak ek işlevsellik sağlamak veya yordamlar geliştirmek amacıyla bu örnekleri değiştirmezler. Bu makaledeki örneklerde, aşağıdaki tabloda listelenen Visual Basic yöntemleri kullanılır.
   Yöntem             Bağımsız değişkenler   ------------------------------------------   Activate           yok   Cells              rowIndex, columnIndex   Application.Goto   reference, scroll   Offset             rowOffset, columnOffset   Range              cell1                      cell1, cell2   Resize             rowSize, columnSize   Select             yok   Sheets             index (veya sheetName)   Workbooks          index (veya bookName)   End                direction   CurrentRegion      yok				
Bu makaledeki örneklerde, aşağıdaki tabloda yer alan özellikler kullanılır.
   Özellik            Kullanımı   ---------------------------------------------------------------------   ActiveSheet      etkin sayfayı belirtmek için   ActiveWorkbook   etkin çalışma kitabını belirtmek için   Columns.Count    belirtilen öğedeki sütun sayısını belirlemek için   Rows.Count       belirtilen öğedeki satır sayısını belirlemek için   Selection        seçili olan geçerli aralığa başvurmak için				

1: Etkin Çalışma Sayfasında bir Hücreyi Seçme

Etkin çalışma sayfasında D5 hücresini seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
ActiveSheet.Cells(5, 4).Select				
-veya-
ActiveSheet.Range("D5").Select				

2: Aynı Çalışma Kitabındaki Farklı bir Çalışma Sayfasında bulunan bir Hücreyi Seçme

Aynı çalışma kitabındaki farklı bir çalışma sayfasında bulunan E6 hücresini seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
Application.Goto ActiveWorkbook.Sheets("Sayfa2").Cells(6, 5)				
   -veya-				
Application.Goto (ActiveWorkbook.Sheets("Sayfa2").Range("E6"))				
Veya, çalışma sayfasını etkinleştirip yukarıdaki yöntem 1'i kullanarak hücreyi seçebilirsiniz:
Sheets("Sayfa2").ActivateActiveSheet.Cells(6, 5).Select				

3: Farklı bir Çalışma Kitabındaki Çalışma Sayfasında bulunan bir Hücreyi Seçme

Farklı bir çalışma kitabındaki çalışma sayfasında bulunan F7 hücresini seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
Application.Goto Workbooks("KİTAP2.XLS").Sheets("Sayfa1").Cells(7, 6)				
-veya-
Application.Goto Workbooks("KİTAP2.XLS").Sheets("Sayfa1").Range("F7")				
Veya, çalışma sayfasını etkinleştirip yukarıdaki yöntem 1'i kullanarak hücreyi seçebilirsiniz:
Workbooks("KİTAP2.XLS").Sheets("Sayfa1").ActivateActiveSheet.Cells(7, 6).Select				

4: Etkin Çalışma Sayfasında bir Hücre Aralığını Seçme

Etkin çalışma sayfasında C2:D10 hücre aralığını seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
ActiveSheet.Range(Cells(2, 3), Cells(10, 4)).Select				
ActiveSheet.Range("C2:D10").Select				
ActiveSheet.Range("C2", "D10").Select				

5: Aynı Çalışma Kitabındaki Farklı bir Çalışma Sayfasında bulunan bir Hücre Aralığını Seçme

Aynı çalışma kitabındaki farklı bir çalışma sayfasında bulunan D3:E11 hücre aralığını seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
Application.Goto ActiveWorkbook.Sheets("Sayfa3").Range("D3:E11")				
Application.Goto ActiveWorkbook.Sheets("Sayfa3").Range("D3", "E11")				
Veya, çalışma sayfasını etkinleştirip yukarıdaki yöntem 4'ü kullanarak hücre aralığını seçebilirsiniz:
Sheets("Sayfa3").ActivateActiveSheet.Range(Cells(3, 4), Cells(11, 5)).Select				

6: Farklı bir Çalışma Kitabındaki Çalışma Sayfasında bir Hücre Aralığını Seçme

Farklı bir çalışma kitabındaki çalışma sayfasında E4:F12 hücre aralığını seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
Application.Goto Workbooks("KİTAP2.XLS").Sheets("Sayfa1").Range("E4:F12")				
Application.Goto _      Workbooks("KİTAP2.XLS").Sheets("Sayfa1").Range("E4", "F12")				
Veya, çalışma sayfasını etkinleştirip yukarıdaki yöntem 4'ü kullanarak hücre aralığını seçebilirsiniz:
Workbooks("KİTAP2.XLS").Sheets("Sayfa1").Activate   ActiveSheet.Range(Cells(4, 5), Cells(12, 6)).Select				

7: Etkin Çalışma Sayfasında Adlandırılmış bir Aralığı Seçme

Etkin çalışma sayfasında "Test" olarak adlandırılmış bir aralığı seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
Range("Sınama").Select				
Application.Goto "Sınama"				

8: Aynı Çalışma Kitabındaki Farklı bir Çalışma Sayfasında bulunan Adlandırılmış bir Aralığı Seçme

Aynı çalışma kitabındaki farklı bir çalışma sayfasında bulunan, "Test" olarak adlandırılmış bir aralığı seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
Application.Goto Sheets("Sayfa1").Range("Sınama")				
Veya, çalışma sayfasını etkinleştirip yukarıdaki yöntem 7'yi kullanarak adlandırılmış aralığı seçebilirsiniz:
Sheets("Sayfa1").ActivateRange("Sınama").Select				

9: Farklı bir Çalışma Kitabındaki Çalışma Sayfasında Adlandırılmış bir Aralığı Seçme

Farklı bir çalışma kitabındaki çalışma sayfasında "Test" olarak adlandırılmış bir aralığı seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
Application.Goto _   Workbooks("KİTAP2.XLS").Sheets("Sayfa2").Range("Sınama")				
Veya, çalışma sayfasını etkinleştirip yukarıdaki yöntem 7'yi kullanarak adlandırılmış aralığı seçebilirsiniz:
Workbooks("KİTAP2.XLS").Sheets("Sayfa2").ActivateRange("Sınama").Select				

10: Etkin Hücreye Göre bir Hücreyi Seçme

Etkin hücrenin beş satır altındaki ve dört sütun solundaki bir hücreyi seçmek için aşağıdaki örneği kullanabilirsiniz:
ActiveCell.Offset(5, -4).Select				
Etkin hücrenin iki satır üstünde ve üç sütun sağındaki bir hücreyi seçmek için aşağıdaki örneği kullanabilirsiniz:
ActiveCell.Offset(-2, 3).Select				
Not "Çalışma sayfasının dışındaki" bir hücreyi seçmeye çalışırsanız bir hata oluşur. Yukarıda gösterilen ilk örnek, etkin hücre A - D sütunları arasındaysa bir hata döndürür; çünkü dört sütun sola gidildiğinde etkin hücre geçersiz bir hücre adresine taşınır.

11: Farklı bir Hücreye (Etkin Olmayan) Göre bir Hücreyi Seçme

C7 hücresinin beş satır altındaki ve dört sütun sağındaki bir hücreyi seçmek için aşağıdaki örneklerden birini kullanabilirsiniz:
ActiveSheet.Cells(7, 3).Offset(5, 4).Select				
ActiveSheet.Range("C7").Offset(5, 4).Select				

12: Belirtilen bir Aralıktan Kaydırılmış Hücre Aralığını Seçme

Adlandırılmış "Test" aralığı ile aynı boyutta, ancak dört satır aşağı ve üç sütun sağa kaydırılmış hücre aralığını seçmek için aşağıdaki örneği kullanabilirsiniz:
ActiveSheet.Range("Sınama").Offset(4, 3).Select				
Adlandırılmış aralık başka bir (etkin olmayan) çalışma sayfasındaysa, aşağıdaki örneği kullanarak ilk önce bu çalışma sayfasını etkinleştirin ve aralığı seçin:
Sheets("Sayfa3").ActivateActiveSheet.Range("Sınama").Offset(4, 3).Select				

13: Belirtilen bir Aralığı Seçme ve Seçimi Yeniden Boyutlandırma

"Veritabanı" olarak adlandırılmış bir aralığı seçmek ve ardından seçimi beş satır genişletmek için aşağıdaki örneği kullanabilirsiniz:
Range("Veritabanı").SelectSelection.Resize(Selection.Rows.Count + 5, _   Selection.Columns.Count).Select				

14: Belirtilen bir Aralığı Seçme, Kaydırma ve Yeniden Boyutlandırma

"Veritabanı" olarak adlandırılmış aralığın dört satır aşağısındaki ve üç sütun sağındaki ve adlandırılmış aralıktan iki satır ve bir sütun daha fazla olan aralığı seçmek için aşağıdaki örneği kullanabilirsiniz:
Range("Veritabanı").SelectSelection.Offset(4, 3).Resize(Selection.Rows.Count + 2, _   Selection.Columns.Count + 1).Select				

15: Belirtilen İki veya Daha Fazla Aralığın Birleşimini Seçme

"Test" ve "Örnek" olarak adlandırılmış iki aralığın birleşimini (birleştirilmiş alan) seçmek için aşağıdaki örneği kullanabilirsiniz:
Application.Union(Range("Sınama"), Range("Örnek")).Select				
Bu örneğin kullanılabilmesi için her iki aralığın da aynı çalışma sayfasında olması gerektiğini unutmayın. Ayrıca, Union yöntemi farklı sayfalar için kullanılamaz. Örneğin şu satır düzgün çalışır:
Set y = Application.Union(Range("Sayfa1!A1:B2"), Range("Sayfa1!C3:D4"))				
Ancak şu satır:
Set y = Application.Union(Range("Sayfa1!A1:B2"), Range("Sayfa2!C3:D4"))				
aşağıdaki hata iletisini döndürür:
Uygulama sınıfının Union yöntemi başarısız oldu

16: Belirtilen İki veya Daha Fazla Aralığın Kesişimini Seçme

"Test" ve "Örnek" olarak adlandırılmış iki aralığın kesişimini seçmek için aşağıdaki örneği kullanabilirsiniz:
Application.Intersect(Range("Sınama"), Range("Örnek")).Select				
Bu örneğin kullanılabilmesi için her iki aralığın da aynı çalışma sayfasında olması gerektiğini unutmayın.



Bu makaledeki 17-21 arasındaki örneklerde aşağıdaki veri kümesi örneğine başvurulur. Her bir örnekte, örnek verilerde seçilecek hücre aralığı belirtilir.
   A1: Adı       B1: Satış     C1: Miktar   A2: a       B2: 10 TL      C2: 5   A3: b       B3:          C3: 10   A4: c       B4: 10 TL      C4: 5   A5:         B5:          C5:   A6: Toplam   B6: 20 TL      C6: 20				

17: Bitişik Verilerin bir Sütunundaki Son Hücreyi Seçme

Bitişik bir sütundaki son hücreyi seçmek için aşağıdaki örneği kullanın:
ActiveSheet.Range("a1").End(xlDown).Select				
Örnek tablo ile bu kod kullanıldığında A4 hücresi seçilir.

18: Bitişik Verilerin bir Sütununun Sonundaki Boş Sütunu Seçme

Bitişik hücre aralığının altındaki bir hücreyi seçmek için aşağıdaki örneği kullanın:
ActiveSheet.Range("a1").End(xlDown).Offset(1,0).Select				
Örnek tablo ile bu kod kullanıldığında A5 hücresi seçilir.

19: Bir Sütundaki Bitişik Hücrelerin Tüm Aralığını Seçme

Bir sütundaki bitişik hücrelerin bir aralığını seçmek için aşağıdaki örneklerden birini kullanın:
ActiveSheet.Range("a1", ActiveSheet.Range("a1").End(xlDown)).Select				
   -veya-				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a1"). _      End(xlDown).Address).Select				
Örnek tablo ile bu kod kullanıldığında A1 ile A4 arasındaki hücreler seçilir.

20: Bir Sütundaki Bitişik Olmayan Verilerin Tüm Aralığını Seçme

Bitişik olmayan hücrelerin bir aralığını seçmek için aşağıdaki örneklerden birini kullanın:
ActiveSheet.Range("a1",ActiveSheet.Range("a65536").End(xlUp)).Select				
   -veya-				
ActiveSheet.Range("a1:" & ActiveSheet.Range("a65536"). _   End(xlUp).Address).Select				
Örnek tablo ile bu kod kullanıldığında A1 ile A6 arasındaki hücreler seçilir.

21: Dikdörtgen bir Hücre Aralığı Seçme

Bir hücre etrafında dikdörtgen bir hücre aralığı seçmek için GeçerliBölge yöntemini kullanın. CurrentRegion yöntemiyle seçilen aralık, boş satır ve boş sütunların bileşimiyle bağlanan bir alandır. Aşağıdaki örnekte, CurrentRegion yönteminin nasıl kullanılacağı gösterilmektedir:
ActiveSheet.Range("a1").CurrentRegion.Select				
Bu kod, A1 ile C4 arasındaki hücreleri seçer. Aynı hücre aralığını seçmek için kullanılabilecek diğer örnekler aşağıda listelenmektedir:
ActiveSheet.Range("a1", _   ActiveSheet.Range("a1").End(xlDown).End(xlToRight)).Select				
   -veya-				
ActiveSheet.Range("a1:" & _   ActiveSheet.Range("a1").End(xlDown).End(xlToRight).Address).Select				
Bazı durumlarda, A1 ile C6 arasındaki hücreleri seçmek isteyebilirsiniz. Bu örnekte, Satır 5'teki boş satır nedeniyle CurrentRegion yöntemi kullanılamaz. Aşağıdaki örnekler, tüm hücreleri seçecektir:
lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1", ActiveSheet.Cells(lastRow, lastCol)).Select				
    -veya-				
lastCol = ActiveSheet.Range("a1").End(xlToRight).ColumnlastRow = ActiveSheet.Cells(65536, lastCol).End(xlUp).RowActiveSheet.Range("a1:" & _   ActiveSheet.Cells(lastRow, lastCol).Address).Select				

22. Birden Fazla Çeşitli Uzunluktaki Bitişik Olmayan Sütunu Seçme

Birden fazla çeşitli uzunluktaki bitişik olmayan sütunu seçmek için aşağıdaki örnek tabloyu ve makro örneğini kullanın:
   A1: 1  B1: 1  C1: 1  D1: 1   A2: 2  B2: 2  C2: 2  D2: 2   A3: 3  B3: 3  C3: 3  D3: 3   A4:    B4: 4  C4: 4  D4: 4   A5:    B5: 5  C5: 5  D5:   A6:    B6:    C6: 6  D6:				
StartRange = "A1"EndRange = "C1"Set a = Range(StartRange, Range(StartRange).End(xlDown))Set b = Range(EndRange, Range(EndRange).End(xlDown))Union(a,b).Select				
Örnek tablo ile bu kod kullanıldığında A1:A3 ve C1:C6 aralığındaki hücreler seçilir.

ÖRNEKLERLE İLGİLİ NOTLAR

  • ActiveSheet özelliği, belirli bir sayfa adlandırılmamışsa kullanıldığı için genellikle yoksayılabilir. Örneğin,
    ActiveSheet.Range("D5").Select						
    yerine, şunu kullanabilirsiniz:
    Range("D5").Select						
  • ActiveWorkbook özelliği de genellikle yoksayılabilir. Belirli bir çalışma kitabı adlandırılmadığı sürece, etkin çalışma kitabı kullanılır.
  • Application.Goto yöntemini kullanırken, belirtilen aralık başka bir (etkin olmayan) çalışma sayfasındaysa ve Range yöntemi içinde iki Cells yöntemi kullanmak istiyorsanız, bu yöntemi her kullandığınızda Sheets nesnesini eklemelisiniz. Örneğin:
    Application.Goto Sheets("Sayfa1").Range( _      Sheets("Sayfa1").Range(Sheets("Sayfa1").Cells(2, 3), _      Sheets("Sayfa1").Cells(4, 5)))					
  • Tırnak işaretleri içindeki her bir öğe için (örneğin, "Sınama" adlandırılmış aralığı için), değeri bir metin dizesi olan bir değişken de kullanabilirsiniz. Örneğin,
    ActiveWorkbook.Sheets("Sayfa1").Activate						
    yerine, şunu kullanabilirsiniz:
    ActiveWorkbook.Sheets(myVar).Activate						
    burada myVar değeri, "Sayfa1" değeridir.
Referanslar

Bu makaledeki örnek kodu kullanma hakkında daha fazla bilgi için, Microsoft Bilgi Bankası'ndaki makaleyi görüntülemek üzere aşağıdaki makale numarasını tıklatın:
290140 Office XP programları için Bilgi Bankası makalelerindeki örnek kodu çalıştırma
OfficeKBHowTo howto contiguous how to discontiguous non-contiguous nonadjacent non-adjacent  XL2003 XL2007 XL2010
Özellikler

Makale No: 291308 - Son İnceleme: 03/29/2013 16:29:00 - Düzeltme: 3.0

Microsoft Office Excel 2003, Microsoft Office Excel 2007, Microsoft Excel 2010

  • kbautomation kbmacro kbdtacode kbhowto kbprogramming KB291308
Geri bildirim