Filtreyi kullanarak ve sütun adında yeni dosya oluşturarak Çalışma Kitabını bölme


0

Diyelim ki Çalışma Kitabım (Report.xlsx) ve bu çalışma kitabında farklı bir çalışma sayfam var. Her sayfada B_Code sütun adı var. B_Code'da süzgeç kullanarak, içinde her sayfada ayrı bir çalışma kitabı istiyorum.

Sadece Resim 1'deki gibi, Levha 1'in B_Code'u olduğunu görebilirsiniz.

Benzer şekilde Sayfa 2'de de B_Code var.

Şimdi 001'in verilerini, yani sayfa 1'deki Ram'ın, aynı çalışma kitabındaki Sayfa 2'deki sayfa 2'deki Ram, yani Sayfa 1'deki Hari'ın yanı sıra Sayfa 2'deki Sayfa 2'deki başka bir çalışma kitabındaki 002 dosya adı ve benzeri.

Bu sorunu VBA kullanarak çözmeme kimse yardım edebilir mi?

Yanıtlar:


0

Silmeye başlamadan önce dosyanın bir kopyasını kaydedin. Daha sonra, bir hücre ( rngCell) 001 veya B_Code veya boş değerden farklı bir değere sahip olduğunda satırı silen VBA kodunu kullanabilirsiniz .

        If rngCell.Value <> "001" _
            And rngCell.Value <> "B_Code" _
            And rngCell.Value <> "" _
            Then
                rngCell.EntireRow.Delete
        End If

ForA sütunundaki tüm hücreleri kontrol etmek için bu kodu bir döngü içine yerleştirin. Satırları sildiğiniz için, son satırdaki döngüyü başlatın ve ile devam edin Step -1. Son satırı ( lngLastRowNumber) bulan kod, bir Aralıktaki Son Kullanılan Hücreyi Bulma bölümünde açıklanmaktadır .

    lngLastRowNumber = Cells(Rows.Count, "A").End(xlUp).row
    For lngRowNumber = lngLastRowNumber To 1 Step -1
        Set rngCell = Columns("A").Rows(lngRowNumber)
        If rngCell.Value <> "001" _
            And rngCell.Value <> "B_Code" _
            And rngCell.Value <> "" _
            Then
                rngCell.EntireRow.Delete
        End If
    Next lngRowNumber

Her çalışma sayfasındaki satırları silmek için, döngüyü çalışma sayfası olan başka bir döngü içine yerleştirin For Each.

Kodunuzu yazarken ve test ederken karşılaştığınız sorunları yazın.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.