Microsoft Excel'de aktif hücre satırındaki hücreleri belirli bir sayfaya kopyalayabiliriz. Bu yazıda, her sayfadan veri aktarmak ve verileri tek bir çalışma sayfasında birleştirmek için VBA kodunu kullanacağız. Çalışma kitabına bir Ana sayfa ekleyeceğiz ve belirtilen aralıktaki verileri tek bir sayfaya kaydedeceğiz.
Örnek kodlar, Sayfa2 adlı bir veritabanı sayfasına kopyalanacaktır. Makroyu her çalıştırdığımızda hücreler, sayfa2'deki son Sütundan sonraki verilerle son satırın altına yerleştirilecektir. Bu makro, ActiveCell'den Sütun A, D'deki hücreleri kopyalayacaktır.
Örnek verilerin görüntüsü aşağıdadır:
Hücreleri aktif hücre satırından Sayfa2'ye kopyalamak için; VB editörünü başlatmak için aşağıdaki adımları izlememiz gerekiyor:
- Geliştirici sekmesine tıklayın
- Kod grubundan Visual Basic'i seçin
- Ekle'ye ve ardından Modül'e tıklayın
- Bu yeni modül oluşturacak
- Standart Modüle aşağıdaki kodu girin
Sub CopyCells() Dim sourceRange As Range Dim Destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Cells( _ ActiveCell.Row, 1).Range ("A1:D1") Set destrange = Sheets("Sheet2").Range("A" & Lr) sourceRange.Copy destrange End Sub
Sub CopyCellsValues() Dim sourceRange As Range Dim destrange As Range Dim Lr As Long Lr = LastRow(Sheets("Sheet2")) + 1 Set sourceRange = Sheets("Sheet1").Cells( _ ActiveCell.Row, 1).Range ("A1:D1") sourceRange ile Set destrange = Sheets("Sheet2").Range("A" _ & Lr).Resize(.Rows.Count, .Columns.Count) destrange.Value = sourceRange.Value ile Bitir Alt Bitiş
İşlev LastRow(sh As Worksheet) Hatada Devam Et Sonraki LastRow = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormüller , _ SearchOrder:=xlByRows, _ SearchDirection:=xlPrevious, _ MatchCase:=False.Row On Error GoTo 0 End Function
İşlev Lastcol(sh As Worksheet) Hatada Devam Et Sonraki Lastcol = sh.Cells.Find(What:="*", _ After:=sh.Range("A1"), _ Lookat:=xlPart, _ LookIn:=xlFormüller , _ SearchOrder:=xlByColumns, _ SearchDirection:=xlPrevious, _ MatchCase:=False.Column On Error GoTo 0 End Function
- Yukarıdaki VBA kodunu kontrol etmek için; “A1:D1” aralığında veri ekleyin ve ardından F5 kısayol tuşuna basarak makroyu çalıştırın
- Belirtilen aralıkta depolanan veriler A1'den başlayarak "Sayfa2"ye kopyalanacaktır.
- Bu makroyu tekrar çalıştırırsak; veriler bir sonraki satıra kaydedilir; aşağıdaki resme bakın:
- Yukarıdaki makrodaki aralığı ihtiyacımıza uygun olarak değiştirebiliriz.
Çözüm: Yukarıdaki makro ile aktif hücre satırındaki hücreleri VBA kodunu kullanarak yeni bir sayfaya kopyalayabiliriz.
Bloglarımızı 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 iyileştirebileceğimizi, tamamlayabileceğimizi veya yenileyebileceğimizi ve sizin için daha iyi hale getirebileceğimizi bize bildirin. Bize e-posta sitesinde yazın