Senaryo
Bir excel çalışma kitabınız olduğunu varsayalım. 3 yaprağı vardır. Bir sayfa 5 sütun içerir. Her sütunda farklı bir şehrin verileri vardır. Her sayfa, aynı şehirlerin farklı verilerini içeren benzer 5 sütun içerir.
Meydan okuma:
Her benzersiz sütun için farklı sayfalar içeren bir dosya oluşturmamız gerekiyor. Her sayfa, ilgili sütunun verilerini içermelidir. Sonunda, her biri 3 sütunlu 5 sayfamız olacak. Bir bakıma sütunları sayfalara aktarıyor.
Mantık:
Öncelikle, her sütun için farklı sayfalar içeren bir çalışma kitabı oluşturmamız gerekiyor. Bunu orijinal dosyamızın ilk sayfasının başlıklarına bakarak yapabiliriz.
Ardından, her bir sütunu yeni çalışma kitabının ilgili sayfalarına kopyalamak için orijinal sayfanın her sayfası arasında dolaşmamız gerekir.
Sütunları Sayfalara Aktarmak için VBA Kodu.
Önce sayfaları transpoze etmek için VBA kodunu görelim. Aşağıda açıklıyorum.
Sub TransposeColsToSheets() 'değişkenleri Dim wb As Workbook Dim twb As Workbook Dim lstRw As Integer Dim lstCl As Integer Dim cols As Range with Application .DisplayAlerts = False .ScreenUpdating = 'yeni dosya oluşturma seti wb' oluşturma ile Yanlış Son.Add = Çalışma Kitabı dosya. Yolu hedefinizle değiştirin. wb.SaveAs "C:\Users\Manish Singh\Desktop\Excel Tip\result.xlsx" Set twb = ThisWorkbook twb.Sheets(1).Activate lstCl = Cells(1, Columns.Count).End(xlToLeft).Column 'Şehir adları için tanımlayıcı başlıklar Set sütunları = Aralık(Hücreler(1, 1), Hücreler(1, lstCl)) 'sayfaları oluşturmak için döngü For x = 1 için sütunlar.Count wb.Sheets.Add.Name = "sayfa" & x Sonraki 'döngü sütunları sayfalara çevirmek için Her sh In twb.Sheets For x = 1 To cols.Count sh.Activate lstRw = Cells(Rows.Count, 1).End(xlUp).Row Range(Cells(1,) x), Cells(lstRw, x)).Copy wb.Sheets("sayfa" & x).Activate lstCl = Cells(1, Columns.Count).End(xlToLeft).Column + 1 Range(Cells(1, lstCl) ), Cells(1, lstCl)).PasteSpecial xlPasteAll Sonraki x Sonraki sh 'sonuç çalışma kitabını kaydetme ve kapatma wb.Save wb.Close With Application .DisplayAlerts = True .ScreenUpdating = End Sub ile True End
Hemen kullanmak için dosyayı indirebilir veya ihtiyacınıza göre özelleştirmek için kodu kopyalayabilirsiniz.
Kodu çalıştırdığınızda, hemen her sayfada aynı şehrin verilerinin 3 sütununu içeren 5 sayfadan oluşan bir excel dosyası oluşturacaktır.Sütunu Sayfalara Aktar
O nasıl çalışır?
Yukarıdaki örnek kodda, dosyanın her sayfanın ilk hücresinden başladığını ve her sayfanın aynı sayıda sütun içerdiğini varsaydık.
Ben kodun ilk birkaç satırında, prosedürde ihtiyaç duyacağımız değişkenleri açıkladık. Sütun başlıklarını adlı bir değişkene kaydettik. kollar.Adlı bir .xlsx dosyası da oluşturduk. sonuç.xlsx.
Daha sonra, sonuç.xlsx'te başlıktakiyle aynı sayıda sayfa oluşturmak için bir döngü kullandık.kollar.
'sayfa oluşturmak için döngü x = 1 için cols.Count wb.Sheets.Add.Name = "sayfa" & x Sonraki
Daha sonra iç içe bir döngü kullandık. İlk döngü, orijinal dosyadaki sayfaları yinelemektir. Her bir sütunu kopyalamak ve onu sonuçlar.xlsx dosyasındaki her bir sayfaya yapıştırmak için sonraki döngü.
Sonunda, sonuç.xlsx çalışma kitabını kaydediyor ve kapatıyoruz. Ve yapılır.
Evet arkadaşlar, VBA kullanarak her sütunu excel'de yeni bir sayfaya bu şekilde kopyalayabilirsiniz. Bu, kullanıcımız tarafından sorulduMahmud yorumlar bölümünde. Hepimizin kullanımına açık olması için bir makaleyi hak ettiğini düşündüm. Bu artık senin. Umarım yeterince açıklayıcı olmuştur. Hala herhangi bir şüpheniz veya başka bir sorunuz varsa, aşağıdaki yorumlar bölümünde sorun.
Excel Sayfasını VBA Kullanarak Sütuna Dayalı Birden Çok Dosyaya Böl | Bu VBA kodu, belirli bir sütundaki benzersiz değerlere dayalı excel sayfası tabanını böler. Çalışan dosyayı indirin.
Microsoft Excel 2016'da VBA Kullanarak Uyarı Mesajlarını Kapatın | Çalışan VBA kodunu kesintiye uğratan uyarı mesajlarını kapatmak için Application sınıfını kullanıyoruz.
Microsoft Excel 2016'da VBA Kullanarak Yeni Çalışma Kitabı Ekleme ve Kaydetme | VBA kullanarak çalışma kitapları eklemek ve kaydetmek için Workbooks sınıfını kullanıyoruz. Workbooks.Add yeni çalışma kitabını kolayca ekler, ancak…
Popüler Makaleler:
Verimliliğinizi Artıracak 50 Excel Kısayolu | Görevinizde daha hızlı olun. Bu 50 kısayol, Excel'de daha da hızlı çalışmanızı sağlayacaktır.
Excel'de DÜŞEYARA İşlevi | Bu, farklı aralıklardan ve sayfalardan değer aramak için kullanılan excel'in en çok kullanılan ve popüler işlevlerinden biridir.
Excel 2016'da EĞERSAY | Bu şaşırtıcı işlevi kullanarak değerleri koşullarla sayın. Belirli bir değeri saymak için verilerinizi filtrelemeniz gerekmez. Gösterge tablonuzu hazırlamak için Countif işlevi gereklidir.
Excel'de SUMIF İşlevi Nasıl Kullanılır | Bu, başka bir gösterge panosu temel işlevidir. Bu, belirli koşullardaki değerleri özetlemenize yardımcı olur.