VBA Yeniden Boyutlandırma | Excel VBA'da Yeniden Boyutlandırma Özelliği nasıl kullanılır? (Örneklerle)

Excel VBA Yeniden Boyutlandırma

Yeniden boyutlandırma, gerektiğinde etkin hücreden hücre aralığını değiştirmek veya yeniden boyutlandırmak için VBA'da bulunan bir özelliktir. Örneğin, B5 hücresinde olduğunuzu varsayın ve bu hücreden 3 satır ve iki sütun seçmek isterseniz, VBA'nın RESIZE özelliğini kullanarak bir aralığın boyutunu değiştirebiliriz.

VBA Yeniden Boyutlandırma Özelliğinin Sözdizimi

VBA RESIZE özelliğinin sözdizimi aşağıdadır.

Aralık (). Yeniden Boyutlandır ([Satır Boyutu], [Sütun Boyutu])

Öncelikle, Range nesnesini kullanarak hangi hücreden yeniden boyutlandırmamız gerektiğini sağlamamız gerekir .

Daha sonra excel VBA Resize özelliğini kullanın ve bu özellikte satır boyutu sınırı ve sütun boyutu sınırı sağlamamız gerekir. Sağlanan satır numaralarına ve sütun numarasına göre yeniden boyutlandıracaktır.

VBA'da Yeniden Boyutlandırma kullanma örnekleri

Aşağıda, excel VBA'da yeniden boyutlandırma kullanımına ilişkin örnekler verilmiştir.

Bu VBA Resize Excel Şablonunu buradan indirebilirsiniz - VBA Resize Excel Template

Örnek 1

A1'den B14 hücresine ve A1 hücresinden 3 satır aşağı ve iki sütun sol aralık seçmek isterseniz, bunu Excel VBA'da RESIZE özelliğini kullanarak yapabiliriz.

Bu örnek için kullandığımız veriler aşağıdadır.

Bu nedenle, ilk olarak, RANGE nesnesini kullanarak ilk hücre referansını veya başlangıç ​​noktasını sağlamamız gerekir, bu örnekte başlangıç ​​noktası A1 hücresidir.

Kod:

Alt Resize_Example () Aralık ("A1"). Sub

Bu aralık için RESIZE özelliğini kullanın.

Kod:

 Alt Resize_Example () Aralık ("A1"). Yeniden Boyutlandır (End Sub 

RESIZE'ın ilk argümanı Satır Boyutu olduğundan, verilerin 3 satırını seçmemiz ve 3'ün sayısal değerini sağlamamız gerekir.

Kod:

 Sub Resize_Example () Range ("A1"). Resize (3, End Sub 

Sonraki argüman Sütun Boyutu , bunun için sütunları nasıl seçmeniz gerektiğini girin, 3 sütun gireceğim.

Kod:

 Sub Resize_Example () Range ("A1"). Resize (3,3) End Sub 

Yeniden boyutlandırma tamamlandığında, bu aralıkla yapmamız gerekenleri sağlamamız gerekir. Başlamak için sadece "Seç" yöntemini seçeceğim.

Kod:

 Sub Resize_Example () Range ("A1"). Resize (3, 3). End Sub seçin 

Kodu çalıştırın ve kaç satır ve kaç sütun seçeceğini görün.

Yukarıda A1 hücresinden görebileceğiniz gibi, üç satır aşağı ve üç sağ sütun seçmiştir.

Örnek 2

Şimdi aşağıdaki VBA koduna bir göz atın.

Yukarıdaki kodda Satır Boyutu, verdiğimiz boş hücreyi  ve için Sütun Boyutu, verdiğimiz 3.

Kod:

 Sub Resize_Example () Range ("A1"). Resize (0, 3). End Sub seçin 

Kodu çalıştırın ve kaç satır ve kaç sütun seçeceğini görün.

Gördüğünüz gibi sadece aktif hücre satırını, yani 1. satır ve üç sütunu seçmiştir. İçin Bunun nedeni, Satır Boyutu verdiğimiz boş bir hücre  ve için sütun boyutu, biz 3 tedarik var ve buna göre veri aralığı seçmiştir.

Şimdi aşağıdaki koda bakın.

Kod:

 Sub Resize_Example() Range("A1").Resize(3).Select End Sub 

What this code will do is it will select only three rows including the active cell row but no extra columns.

Example #3

Use Resize To Select Unknown Ranges. Resize is best utilized when you want to select an unknown range of cells. For example, look at the below image of the data range.

It has data all the ways from Column A to Column P and row-wise we have up until the 700th row.

Assume you know your data will keep changing and you want to select the data range every now and then by manually changing the row and column number. However, by using VBA RESIZE property we can do this easily.

Look at the below code.

Code:

 Sub Resize_Example1() Dim LR As Long Dim LC As Long Worksheets("Sales Data").Select LR = Cells(Rows.Count, 1).End(xlUp).Row LC = Cells(1, Columns.Count).End(xlToLeft).Column Cells(1, 1).Resize(LR, LC).Select End Sub 

First I have declared two variables to find the last used row (LR) and last used column (LC).

 Dim LR As Long Dim LC As Long 

Since our data is in the worksheet named “Sales Data” we are choosing this worksheet by using the below code.

Worksheets(“Sales Data”).Select

Now below code will find the last used row and last used column.

LR = Cells(Rows.Count, 1).End(xlUp).Row

LC = Cells(1, Columns.Count).End(xlToLeft).Column

Now from the first cell, we resizing the range from last used row to last used column and select is the method used. So now it doesn’t matter how big your data is it will dynamically select the data by finding the last used row and last used column.

Things to Remember

  • Resize property in VBA will change the size of the range from the active cell (including the active cell as well).
  • We just need to provide how many rows and how many columns to be resized from the active cell in VBA.
  • We cannot use negative row & column number for RESIZE property.