Microsoft Excel'de VBA kullanarak her sayfadaki bir sütunu veya sütunları tek bir sayfaya kopyalayın

Anonim

Bazen, aynı sütun için birden çok sayfadan veri kopyalamak rutin bir iş haline gelir. Otomasyon kullanılarak bu adımdan kaçınılabilir. Her sayfanın bir sütunundaki verileri tek bir sayfaya kopyaladıktan sonra birleştirilmiş bir sayfa yapmak istiyorsanız, bu makaleyi okumalısınız.

Bu yazıda, belirli bir sütundan veri kopyalamak ve yeni bir sayfaya yapıştırmak için bir makro oluşturacağız.

Bu örnek için ham veriler, çalışanların departman, kişisel ve iletişim bilgilerini içeren üç sayfa içeren bir Excel çalışma kitabı biçimindeki çalışan verilerinden oluşur.

Farklı sayfalardaki verileri yeni bir sayfaya kopyalamak için bir “CopyColumns” makrosu oluşturduk. Bu makro, "Ana" sayfadaki "Makroyu çalıştır" düğmesine tıklanarak çalıştırılabilir.

“CopyColumns” makrosu, “Ana” sayfadan sonra “Master” adında yeni bir sayfa ekleyecektir. "Ana" sayfa, tüm sayfalardan birleştirilmiş verileri içerecektir.

Kod açıklaması

Worksheets.Add(after:=Worksheets("Ana"))

Yukarıdaki kod, “Ana” çalışma sayfasından sonra yeni çalışma sayfaları eklemek için kullanılır.

Eğer Source.Name "Master" ve Source.Name "Main" ise

Bitir

Yukarıdaki kod, “Ana” ve “Ana” sayfadaki verilerin kopyalanmasını kısıtlamak için kullanılır.

Source.UsedRange.Copy Destination.Columns(Son)

Yukarıdaki kod, kaynak sayfadan hedef sayfaya veri kopyalamak için kullanılır.

ThisWorkbook.Worksheets'teki Her Kaynak İçin

Source.Name = "Usta" ise

MsgBox "Ana sayfa zaten var"

Alt Çıkış

Bitir

Sonraki

Yukarıdaki kod, çalışma kitabında “Master” sayfasının zaten var olup olmadığını kontrol etmek için kullanılır. Çalışma kitabında “Ana” sayfa zaten varsa, makro yürütmeyi durduracaktır.

Lütfen kod için aşağıdan takip edin

 Seçenek Explicit Sub CopyColumns() Kaynağı Çalışma Sayfası Olarak Karart Hedefi As Çalışma Sayfası Olarak Karartın Application.ScreenUpdating = False 'Bu Çalışma Kitabındaki Her Kaynak için Çalışma Kitabında "Ana" sayfanın zaten var olup olmadığını kontrol etme.Çalışma Sayfaları If Source.Name = "Master" Sonra MsgBox "Ana sayfa zaten var" Exit Sub End If Next 'Çalışma kitabına yeni çalışma sayfaları ekleme Set Destination = Worksheets.Add(after:=Worksheets("Main")) 'Çalışma sayfasını yeniden adlandırma Destination.Name = "Master" 'Döngü çalışma kitabındaki çalışma sayfaları aracılığıyla ThisWorkbook.Worksheets'teki Her Kaynak için Source.Name "Master" Ve Source.Name "Main" ise 'Hedef sayfadaki son sütunu bulma Last = Destination.Range("A1").SpecialCells( xlCellTypeLastCell).Column If Last = 1 O zaman 'Verileri hedef sayfaya yapıştırma Source.UsedRange.Copy Destination.Columns(Last) Else Source.UsedRange.Copy Destination.Columns(Last + 1) End If End If Next Columns.AutoFit Application.ScreenUpdating = True End Sub 

Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.

Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın