• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

İstenilen sayfaları birleştirme

Katılım
15 Temmuz 2012
Mesajlar
2,802
Excel Vers. ve Dili
Ofis 2021 TR 64 Bit
Merhaba herkese hayırlı geceler.

Ekte gönderdiğim excel dosyamın ay isimlerini tek bir sayfada birleştirmek istiyorum.

Bir kod buldum bunu kendi dosyama uygulamaya çalıştım, ancak ay sayfaları içerisinde boş olan sayfaların başlıklarınıda ekliyerek birleştiriyor.
MAYIS-HAZİRAN-TEMMUZ aylarında veri bulunmaktatır.

Yardımcı olur musunuz?
 

Ekli dosyalar

Merhaba.

Kullanılan kod'da;
-- say= ...... satırı ile say1 = ..... satırının arasına If say > 1 Then şeklinde bir satır ve
-- mevcut End If satırından önce de bir adet daha End If satırı ekleyerek deneyin.
 
Sayın Ömer Bey, Allah razı olsun, çok teşekkür ediyorum, tam istediğim gibi çalışıyor.

Hayırlı sabahlar diliyorum.
 
Estağfurullah.
Eğer TÜM AYLAR sayfası N1 hücresinde,
toplam veri adetini görmek istiyorsanız; mevcut formülü ="TOPLAM : "& MAK($A:$A) olarak değiştirin.
Zira mevcut formül filtre uyguladığınızda filtre sonucunda kalan satır adetini gösterir.
 
Sayın Ömer Bey, kusura bakmayın tekrar rahatsız ediyorum.

TÜM AYLAR sayfası 3.satırından itibaren yapıştırmak için aşağıdaki kod'un neresinde değişiklik yapmam gerekiyor.


Kod:
Sub SayfalarıBirleştir1()
t1 = Time

Sheets("TÜM AYLAR").Range("A2:M65536").ClearContents
Sheets("TÜM AYLAR").Range("A2:M65536").Borders.LineStyle = xlNone

For i = 1 To Sheets.Count
If Sheets(i).Name <> "ASLAN" And Sheets(i).Name <> "GÖREVLİLER" And _
Sheets(i).Name <> "İSTATİSTİK 1" And Sheets(i).Name <> "TÜM AYLAR" Then
say = Sheets(i).Range("B65536").End(3).Row
 If say > 1 Then
 say1 = Sheets("TÜM AYLAR").Range("B65536").End(3).Row
Sheets(i).Range("B2:M" & say).Copy Sheets("TÜM AYLAR").Range("B" & say1 + 1)

End If
End If
Next

With ActiveSheet.Range("A2:A" & [B65565].End(3).Row)
    .Formula = "=Row()-1"
    .Value = .Value
End With

Sheets("TÜM AYLAR").Range("A2:M" & [B65565].End(3).Row).Borders.LineStyle = xlContinuous

t2 = Time
MsgBox "İşlem " & Format(t2 - t1, "hh:mm:ss") & " saniyede tamamlandı.", vbInformation, "ASLAN"
End Sub
 
Tekrar merhaba.

-- Kod blokunun en başına ( t1 = Time satırının hemen üstüne veya hemen altına) aşağıdaki ilk iki kod satırını yapıştırın,
-- say1=.... şeklindeki satırı da aşağıdaki 3'üncü kod satırıyla değiştirin.
On Error Resume Next
If Sheets("TÜM AYLAR").AutoFilterMode = True Then Sheets("TÜM AYLAR").ShowAllData

say1 = WorksheetFunction.Max(2, Sheets("TÜM AYLAR").Range("B65536").End(3).Row)
 
Sayın Ömer Bey, ellerinize sağlık valla süper oldu. Çok teşekkür ediyorum.

Hayırlı geceler diliyorum.
 
merhaba
ben bu dosyayı indirdim lakin formüller ile çalıştığı için hücredeki veriyi değil formülleri getiriyor bunun için ne yapmam gerekiyor teşekkür ederim.
 
Geri
Üst