VBA Satırları Sil - VBA Kullanarak Excel Satırlarını Silme Örnekleri

İçindekiler

Excel VBA Satırı Sil

Normalde excel çalışma sayfasında, satırları silmek için biri klavye kısayolu ve diğeri sağ tıklama ve ekleme yöntemini kullanarak iki farklı yöntemimiz vardır, ancak VBA'da herhangi bir satırı birlikte silmek için delete komutunu ve çalışma sayfası ifadesini kullanmalıyız. bu, tek bir satırı silmemiz gerekirse, tek bir satır referansı veririz, ancak birden çok sütun için birden çok satır referansı veririz.

VBA Satır Silme Metodunu kullanarak tüm boş satırları silebiliriz ve satırı hücre değerine göre silebiliriz. Hücrelerden herhangi biri boşsa, tüm satırı da silebiliriz.

Bu makalede, "VBA Satır Silme" yöntemini tartışacağız. Konsept hakkında bilgi edinmek için sonraki 15 ila 20 dakika boyunca kendinizi oyalayın.

Satır Nasıl Silinir?

Örnek 1

VBA'da sildiğimiz satırdan bahsetmemiz gerekiyor.

Kod:

Sub DeleteRow_Example1 () Hücreler (1, 1) End Sub

Hücreler (1, 1), ilk satır ilk sütun, yani A1 hücresi anlamına gelir. Daha sonra "sil" yöntemini kullanıyoruz.

Kod:

Sub DeleteRow_Example1 () Hücreler (1, 1). End Sub Sil

Şimdi bu ilk hücreyi silecek. Sağ taraftaki tüm değerler bir hücre sola kaydırılır.

Örnek 2

Tüm satırı silmek isterseniz, "EntireRow" özelliğini kullanmamız gerekir, ardından seçtiğimiz hücrenin tüm satırını silmek için "delete" yöntemini kullanmamız gerekir.

Kod:

Sub DeleteRow_Example2 () Hücreler (1, 1) .EntireRow.Delete End Sub

Örneğin, bir excel sayfasına aşağıdaki gibi birkaç karakter girdim.

Şimdi, bu kodu çalıştırırsam, tek bir hücreyi değil, tüm satırı silecek.

Örnek 3

Satırı birkaç yolla silebiliriz. Yukarıdaki örnekte, CELLS özelliğini kullanarak satırı sildik. Şimdi ROWS özelliğini kullanarak nasıl silineceğini göreceğiz.

Şimdi silmemiz gereken satırın ne olduğunu belirtmemiz gerekiyor. Diyelim ki 5. satırı silmemiz gerekiyor .

Şimdi "EntireRow" özelliğini kullanın.

Özelliği seçtikten sonra yapmamız gereken şey, yani yöntem. Satırı silmemiz gerekiyor.

Kod:

Alt DeleteRow_Example3 () Satırlar (5) .EntireRow.Delete End Sub

Yani bu kod 5. satırı silecektir .

Örnek 4

Aralık Nesnesini Kullanarak Birden Çok Satırı Silme

Birden çok satırı nasıl sileriz?

Birden fazla satırı silmek için VBA RANGE nesnesini kullanabiliriz. A1'den A6 hücrelerine kadar bazı değerlere sahip olduğunuzu varsayın.

Şimdi ilk 5 satırı silmek istiyorum, böylece bu satırlara Range nesnesini "Aralık (" A1: A5 ")" olarak kullanarak başvurabilirim

Kod:

Alt SilmeSırası_Örnek4 () Aralık ("A1: A5") Son Alt

Şimdi "EntireRow" özelliğini kullanmak istiyorum.

Kod:

Alt SilmeRow_Örnek4 () Aralık ("A1: A5"). EntireRow End Sub

Tüm bu satırda, silme yöntemini uygulamamız gerekiyor, bu nedenle Sil yöntemini kullanın.

Kod:

Alt DeleteRow_Example4 () Aralık ("A1: A5"). EntireRow.Delete End Sub

Şimdi bu, seçilen satırları silecektir.

Örnek 5

Delete Rows Based On Cell Value

We can also use this “EntireRow.Delete” method to delete the row based on cell value in VBA. For example, I have Yes & No values from cell A1 to A10.

Now we need to delete the rows which have the value “No.” To perform this task, we need to use the function “IF” with loops to delete all the rows which have the value of “No.”

The below code will do the job for us.

Code:

Sub DeleteRow_Example5() Dim k As Integer For k = 10 To 1 Step -1 If Cells(k, 1).Value = "No" Then Cells(k, 1).EntireRow.Delete End If Next k End Sub

Example #6

Delete All the Blank Cells Rows

There are situations where we need to delete the entire row if any of the cells in the range are blank. For example, I have below set of data.

All the colored cells are blank, so I need to delete the entire row. We can perform this task with two sets of code. Below is the code.

Code:

Sub DeleteRow_Example6() Range("A1:F10").SpecialCells(xlCellTypeBlanks).EntireRow.Delete End Sub

This will identify the blank cells in the range A1 to F10.IF any blank cells are found, they will delete the entire row.

The problem with this code is it will only delete the blank cell’s row only in the range A1 to F10, but if any cells are blank in any other cells, it will not delete. So keeping this in mind, I have written one more code.

Code:

Sub DeleteRow_Example7 () Dim RangeToDelete as Range Dim DeletionRange Set RangeToDelete = Application.InputBox ("Lütfen aralığı seçin", "Boş Hücre Satırlarını Silme", ​​Tür: = 8) Set DeletionRange = RangeToDelete RangeToDelete.SpecialCells (xlCellTypeB) Son Subayı Sil

Bu kodu çalıştırdığınızda, öncelikle önünüzde görünen bir giriş kutusu ile aralığı seçmenizi isteyecektir.

Aralığı seçtikten sonra, Tamam'a tıklamanız gerekir. Seçilen aralıktaki tüm boş hücre satırlarını silecektir.

Ilginç makaleler...