B

Çözüldü İki Sayfadaki Veriyi Tek Sayfada Toplama

bychilavert

Normal Üye
Excel Versiyonu
Excel 2016
Excel Sürümü
64 Bit
Excel Dili
Türkçe
Merhaba

KISIM-1 YOL İŞİ 72 ve KISIM-3 İSPİR YOL İŞİ 71 diye 2 tane personel listesinden oluşan sayfam var bu sayfalarda sarı başlıkların altındaki personelleri Liste adında oluşturduğum sayfada İlgili başlıkların altında toplamak istiyorum. Bunu nasıl yapabilirim.

Örnek : İdari ve Teknik Personel İlk sayfada 4 ikinci sayfada 24 kişi var bunları Liste sayfasında alt alta toplanması mümkün mü?
 

Ekli dosyalar

@ByChilavert

Şu kodu kullanabilirsiniz.
Birleştirilecek sayfalar, örnek belgedekinden fazla adette ise; aralarına VİRGÜL ekleyip ÇİFT TIRNAK arasına yazarak,
birleştirilecek diğer sayfaların isimlerini kodda ilgili yere ekleyebilirsiniz.

Kod açısından sorun yok ancak,
sayfa isimlendirmelerinde BOŞLUK karakterleri kullanmamanızı öneririm,
özellikle başta ve sonda BOŞLUK karakteri kullanmazsanız daha iyi olur (Mesela 71 ile biten sayfa adında sonda boşluk var) .

VBA:
Görüntülemek için giriş yapmanız gerekmektedir.
(34 satır)
 
Merhaba Ömer Hocam

VBA Kodunu Liste sayfasına Alt+F11 ile ekleyerek. Buton oluşturdum. Butona sizin yazdığınız kodu atadım. Tıkladığımda hata veriyor.
 

Ekli dosyalar

  • Screenshot_1.webp
    Screenshot_1.webp
    22.3 KB · Görüntüleme: 1
  • Screenshot_2.webp
    Screenshot_2.webp
    47.1 KB · Görüntüleme: 1
Veri Aktarımını tamamladıktan sonra ekteki hatayı veriyor. Tamam dedikten sonra kontrol amaçlı bakınca bütün hepsini aktarmış neden olabilir?
 

Ekli dosyalar

  • Screenshot_1.webp
    Screenshot_1.webp
    42.5 KB · Görüntüleme: 2
-- Kodun baş tarafındaki yeşil kısmı değiştirin,
.......
lst.Range("A6:A" & lson + 2).SpecialCells(xlCellTypeBlanks).Delete
lst.Range("A6:I" & lson + 2).SpecialCells(xlCellTypeBlanks).Delete
......

-- Kodun son kısmına yeşil renklendirdiğim satırları ekleyin.
......
Next
For Each XD In Array("KISIM-1 YOL İŞİ 72", "KISIM-3 İSPİR YOL İŞİ 71")
If WorksheetFunction.CountIf(Sheets(XD).[A:A], "XD") > 0 Then
Sheets(XD).Rows(WorksheetFunction.Match("XD", Sheets(XD).[A:A], 0)).Delete
End If
Next
Application.ScreenUpdating = True: Application.Calculation = xlCalculationAutomatic
.........
 
Üst