Tüm Sayfaları Tek Sayfaya

Excel VBA açık kodlarını buradan izleyebilir ve paylaşabilirsiniz.

Tüm Sayfaları Tek Sayfaya

İleti#1)  Tarkan VURAL » 21 Haz 2008 08:45

Tüm sayfalardaki verileri yeni bir sayfa oluşturarak alt alta ekliyor.
Kod: Tümünü seç
Sub Birlestir()
    Dim YeniSayfa As Worksheet
    Dim SayfaAdet
   
    SayfaAdet = Worksheets.Count
    Set YeniSayfa = Worksheets.Add(After:=Worksheets(SayfaAdet))
   
    With YeniSayfa
        For i = 1 To SayfaAdet
            Worksheets(i).UsedRange.Copy .Range("A" & IIf(i = 1, 1, .UsedRange.Rows.Count + 1))
        Next
    End With
End Sub
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26822
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Tüm Sayfaları Tek Sayfaya

İleti#2)  Yusuf Ekinci » 23 Arl 2008 18:10

Tek Sayfa haricindeki tüm sayfaları silen makro var mı elinizde?
Kullanıcı avatarı
Yusuf Ekinci
Yeni Başlamış
 
Adı Soyadı:Yusuf Ekinci
Kayıt: 05 Ekm 2008 18:16
Meslek: İnşaat Müh.
Yaş: 47
İleti: 84
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İzmir

Tüm Sayfaları Tek Sayfaya

İleti#3)  Haldun Alay » 23 Arl 2008 19:24

Selamlar,

Aşağıdaki kod Sheet3 isimli çalışma sayfası haricinde çalışma kitabında bulunan tüm sayfaları (gizli veya görünür veya korumalı olsun) uyarı vermeksizin siler. Kodu kullanırken dikkatli olmanızı tavsiye ederim. Sorumluluk sizde :)
Kod: Tümünü seç
Sub TumSayfalariSil()
    Dim Sht As Worksheet
    Application.DisplayAlerts = False
    For Each Sht In ThisWorkbook.Worksheets
        If Sht.Name <> "Sheet3" Then
            Sht.Delete
        End If
    Next Sht
    Application.DisplayAlerts = True
End Sub
Kullanıcı avatarı
Haldun Alay
Site Dostu
 
Adı Soyadı:Haldun Alay
Kayıt: 15 Haz 2008 02:14
Konum: Rakım 0
Meslek: Turizm
Yaş: 48
İleti: 1241
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Aydın/Kuşadası

Tüm Sayfaları Tek Sayfaya

İleti#4)  Yusuf Ekinci » 23 Arl 2008 20:05

Haldun bey;
Kod işimi gördü. Teşekkür ederim.
Kullanıcı avatarı
Yusuf Ekinci
Yeni Başlamış
 
Adı Soyadı:Yusuf Ekinci
Kayıt: 05 Ekm 2008 18:16
Meslek: İnşaat Müh.
Yaş: 47
İleti: 84
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İzmir

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Tüm Sayfaları Tek Sayfaya

İleti#5)  Yusuf Ekinci » 23 Arl 2008 21:42

Haldun bey;

Bu makro yalnız kendi içinde bulunduğu dosyadaki sayfaları siliyor. Ben bu makroyu bir excel dosyası içinde tutacağım ve excelde bunun bulunduğu dosya ile birlikte bir dosya daha açacağım. Kodu çalıştırdığımda diğer dosyadaki "Sayfa1" haricindeki tüm sayfaların silinmesini istiyorum. Bu şekilde revize etmemiz mümkün müdür?
Kullanıcı avatarı
Yusuf Ekinci
Yeni Başlamış
 
Adı Soyadı:Yusuf Ekinci
Kayıt: 05 Ekm 2008 18:16
Meslek: İnşaat Müh.
Yaş: 47
İleti: 84
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İzmir

Tüm Sayfaları Tek Sayfaya

İleti#6)  Tarkan VURAL » 23 Arl 2008 21:52

Eğer silinecek sayfaların bulunduğu dosya sabit ise ;
Kod: Tümünü seç
For Each Sht In ThisWorkbook.Worksheets

yerine
Kod: Tümünü seç
For Each Sht In workbooks("silinecek_kitap").Worksheets

şeklinde deneyiniz.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26822
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Tüm Sayfaları Tek Sayfaya

İleti#7)  Yusuf Ekinci » 23 Arl 2008 22:00

Sn. Tarkan Vural bey;

Verdiğiniz fikir doğrultusunda kodu aşağıdaki şekilde kullandım sorun çözüldü. Teşekkürler.
Kod: Tümünü seç
For Each Sht In Workbooks(ActiveWorkbook.Name).Worksheets
Kullanıcı avatarı
Yusuf Ekinci
Yeni Başlamış
 
Adı Soyadı:Yusuf Ekinci
Kayıt: 05 Ekm 2008 18:16
Meslek: İnşaat Müh.
Yaş: 47
İleti: 84
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İzmir

Tüm Sayfaları Tek Sayfaya

İleti#8)  Tarkan VURAL » 23 Arl 2008 22:03

O anda başka kitap aktif ise onun sayfaları silinir dikkat edin. :)
Olması gereken kod şudur :

Kod: Tümünü seç
For Each Sht In Workbooks("Kitap1.xls").Worksheets

Kitap bir yerine silinecek sayfaların bulunduğu dosyanızın adı yazılmalı.
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26822
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#9)  cengiz2010 » 08 Ekm 2010 16:16

Tarkan bey Üstadım. Sizden bir ricam olacak. Yardımcı olabilirseniz sevinirim.
Ricam şu;
Excel'de bir çalışma dosyasındaki, isteğe bağlı birden fazla sheet'i seçerek, farklı bir klasörde yeni bir xls oluşturarak, onun içerisine yazmak, kaydetmek ve kapatmak şeklinde.

Yani özetle, bir çalışma dosyam var. İçinde birçok karşılaştırma ve veri sayfalarım var. Ancak bunlara bağlı çalışan 2-3 ad rapor sayfam var. VB de oluşturacağım bir buton sadece Rapor sayfalarımı okuyacak, farklı bir XLS dosyasına kaydedecek, yani özet bir rapor XLS'si oluşmuş olacak.

Şimdiden teşekkürler
--)(
Kullanıcı avatarı
cengiz2010
 
Adı Soyadı:Cengiz Genç
Kayıt: 27 Eyl 2010 14:22
İleti: 1
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Ankara

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#10)  ahcengiz » 12 Nis 2011 02:20

Tarkan VURAL yazdı:Tüm sayfalardaki verileri yeni bir sayfa oluşturarak alt alta ekliyor.
Kod: Tümünü seç
Sub Birlestir()
    Dim YeniSayfa As Worksheet
    Dim SayfaAdet
   
    SayfaAdet = Worksheets.Count
    Set YeniSayfa = Worksheets.Add(After:=Worksheets(SayfaAdet))
   
    With YeniSayfa
        For i = 1 To SayfaAdet
            Worksheets(i).UsedRange.Copy .Range("A" & IIf(i = 1, 1, .UsedRange.Rows.Count + 1))
        Next
    End With
End Sub

tesekkur ederim sagol.
ellerinize saglık.
Kullanıcı avatarı
ahcengiz
 
Adı Soyadı:ahmet cengiz
Kayıt: 04 Nis 2011 02:52
İleti: 1
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul-avcılar

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#11)  Murat OSMA » 18 Haz 2011 17:33

Ahmet bey sitemize hoşgeldiniz. --)(
Lütfen forum kuralları 20. maddeyi tekrar inceleyerek, iletinizi düzeltiniz. --)(
Kullanıcı avatarı
Murat OSMA
Site Forum Yöneticisi
 
Adı Soyadı:Murat OSMA
Kayıt: 05 Arl 2008 00:34
Konum: İstanbul
Meslek: Excel & VBA Eğitmeni
Yaş: 33
İleti: 14311
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Bağcılar - İSTANBUL

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#12)  maxpalulu » 14 Ekm 2011 15:12

Tarkan VURAL yazdı:Tüm sayfalardaki verileri yeni bir sayfa oluşturarak alt alta ekliyor.
Kod: Tümünü seç
Sub Birlestir()
    Dim YeniSayfa As Worksheet
    Dim SayfaAdet
   
    SayfaAdet = Worksheets.Count
    Set YeniSayfa = Worksheets.Add(After:=Worksheets(SayfaAdet))
   
    With YeniSayfa
        For i = 1 To SayfaAdet
            Worksheets(i).UsedRange.Copy .Range("A" & IIf(i = 1, 1, .UsedRange.Rows.Count + 1))
        Next
    End With
End Sub



Hocam çok eski bir başlık ama; tüm verileri tek sayfaya alırken en sola da ilgili sayfaların isimlerini nasıl getirebiliriz. Hangi veri hangi sayfadan gelmiş anlamak için. Teşekkürler
Kullanıcı avatarı
maxpalulu
Yeni Başlamış
 
Adı Soyadı:Mahmut DOĞAN
Kayıt: 15 Şub 2010 19:14
Konum: HATAY
Meslek: Planlama ve Raporlama Uzmanı
Yaş: 39
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: HATAY

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#13)  Tarkan VURAL » 14 Ekm 2011 16:08

Dener misiniz ?
Kod: Tümünü seç
Sub Birlestir()
    Dim YeniSayfa As Worksheet
    Dim SayfaAdet
   
    SayfaAdet = Worksheets.Count
    Set YeniSayfa = Worksheets.Add(After:=Worksheets(SayfaAdet))
   
    With YeniSayfa
        For i = 1 To SayfaAdet
            .Range("A" & IIf(i = 1, 2, .UsedRange.Rows.Count + 3)).Value = Worksheets(i).Name
            Worksheets(i).UsedRange.Copy .Range("A" & IIf(i = 1, 3, .UsedRange.Rows.Count + 2))
        Next
    End With
End Sub
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26822
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#14)  maxpalulu » 14 Ekm 2011 18:50

Hocam olmadı, isimler hiç çıkmadı. Aşağıdaki makroyu sitede buldum, verileri sağlam getiriyor. Ama verinin geldiği sheetlerin isimlerini her satır için en sağına nasıl ekleyebilirim. Örneğin Ahmet adlı sayfadan 50 satırlık verileri aldıktan sonra her satırın en sağına sayfa adı olan Ahmet yazsın ve bu bütün sayfalar için sonuna kadar devam etsin. Teşekkürler.


Kod: Tümünü seç
Sub SayfalariBirlestir()
Dim i As Integer
On Error Resume Next
Sheets(1).Select
Worksheets.Add
Sheets(1).Name = "Ana"
Sheets(2).Activate
Range("A1").EntireRow.Select
Selection.Copy Destination:=Sheets(1).Range("A2")
For i = 2 To Sheets.Count
Sheets(i).Activate
Range("A1").Select
Selection.CurrentRegion.Select
Selection.Offset(1, 0).Resize(Selection.Rows.Count - 1).Select
Selection.Copy Destination:=Sheets(1).Range("A65536").End(xlUp)(2)
Next
Sheets("Ana").Select
End Sub
Kullanıcı avatarı
maxpalulu
Yeni Başlamış
 
Adı Soyadı:Mahmut DOĞAN
Kayıt: 15 Şub 2010 19:14
Konum: HATAY
Meslek: Planlama ve Raporlama Uzmanı
Yaş: 39
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: HATAY

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#15)  Tarkan VURAL » 15 Ekm 2011 01:02

Yazdığım kodları denemiştim ve sorun olmadı. Sizin örneğinizde denemek lazım ki olmayan kısmını görelim. [evet]
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26822
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#16)  maxpalulu » 15 Ekm 2011 12:24

Hocam örnek dosyam ektedir.
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
maxpalulu
Yeni Başlamış
 
Adı Soyadı:Mahmut DOĞAN
Kayıt: 15 Şub 2010 19:14
Konum: HATAY
Meslek: Planlama ve Raporlama Uzmanı
Yaş: 39
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: HATAY

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#17)  Tarkan VURAL » 15 Ekm 2011 17:14

Sizin istediğiniz şeyi o örnek kodlarla yapmak zor. Aşağıdaki kodları bir module içine ekleyip çalıştırınız. Üretilen Rapor adlı sayfayı inceleyiniz.


Kod: Tümünü seç
Sub EVNSayfalariBirlestir()
Dim R As Worksheet, i As Integer
Dim ilk As Long, son As Long, sayfam As String
For i = 1 To Sheets.Count
If Sheets(i).Name = "Rapor" Then
    Application.DisplayAlerts = False
        Sheets("Rapor").Delete
    Application.DisplayAlerts = False
    Exit For
End If
Next i
sayfam = Sheets(1).Name
Sheets.Add.Name = "Rapor"
Set R = Sheets("Rapor")
Sheets(sayfam).Rows(7).Copy R.Range("a1")
R.Range("e1").Value = "FİRMA"
For i = 1 To Sheets.Count
If Sheets(i).Name <> "Rapor" Then
    son = Sheets(i).Range("a65536").End(3).Row
    If son < 8 Then son = 8
        Sheets(i).Range("a8:d" & son).Copy R.Range("a65536").End(3)(2, 1)
        satir = R.Range("a65536").End(3).Row
        ilk = R.Range("e65536").End(3).Row
        R.Range("e" & ilk & ":e" & satir).Value = Sheets(i).Name
End If
Next i
Sheets("Rapor").Columns.AutoFit
Set R = Nothing: sayfam = vbNullString
i = Empty: ilk = Empty: son = Empty: satir = Empty
End Sub
Resim
www.tarkanvural.com.tr

İnnâ lillâhi ve innâ ileyhi raciûn
Şüphesiz ki; biz Allah’a âidiz ve vakti geldiğinde O’na döndürüleceğiz.

HasbunAllâhu ve nimel vekîl
Bize Allah yeter. O ne güzel vekildir.


ExcelVBA.NET' e katkıda bulunmak ister misiniz ? O halde BAĞIŞ butonunu tıklayın...
Kullanıcı avatarı
Tarkan VURAL
Yönetim Kurulu
 
Adı Soyadı:Tarkan VURAL
Kayıt: 14 Haz 2008 20:27
Konum: tarkan@excelvba.net
Meslek: LUU, Yazılım Geliştirme Müdürü
Yaş: 45
İleti: 26822
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: İstanbul - Beylikdüzü

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#18)  maxpalulu » 15 Ekm 2011 18:59

Hocam teşekkürler. Eline sağlık. şkşk şkşk şkşk şkşk şkşk
Kullanıcı avatarı
maxpalulu
Yeni Başlamış
 
Adı Soyadı:Mahmut DOĞAN
Kayıt: 15 Şub 2010 19:14
Konum: HATAY
Meslek: Planlama ve Raporlama Uzmanı
Yaş: 39
İleti: 96
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: HATAY

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#19)  okankaradag22 » 29 May 2018 16:59

Üstad'lar merhaba;
Benim elimde bir kod var.İçinde bulunduğu klasörde yer alan tüm excel dosyaları tek bir sayfada topluyor.
Ancak tüm dosyaların sadece ilk sheetlerini topluyor.
Ben klasör içinde yer alan tüm excel dosyaların tüm sayfalarını tek bir sayfada toplamasını istiyorum.
Yardımlarınızı rica edeirm.

=Elimdeki Kod =

Sub dosyalar()
Dim aktif As Workbook, sh As Worksheet, a As Long
Dim klasor As Object, evn As Object, xls As Object
Set sh = ThisWorkbook.Worksheets("TUMU")
Set evn = CreateObject("scripting.filesystemobject")
Set klasor = evn.getfolder(ThisWorkbook.Path)
For Each xls In klasor.Files
If LCase(Mid(xls.shortname, InStr(1, xls.shortname, ".", 1) + 1)) = "xls" Then
If xls.Name <> "ÖRNEK DOSYA.xls" Then
Workbooks.Open (xls.Path)
Set aktif = ActiveWorkbook
a = aktif.Sheets(1).Range("a65536").End(3).Row
aktif.Sheets(1).Range("a2:l" & a).Copy
sh.Range("a65536").End(3)(2, 1).PasteSpecial xlPasteValues
Application.CutCopyMode = False
aktif.Close False


End If
End If
Next xls
a = Empty
Set sh = Nothing
Set evn = Nothing
Set aktif = Nothing
Set klasor = Nothing
End Sub
Kullanıcı avatarı
okankaradag22
 
Kayıt: 20 Şub 2018 09:43
Meslek: raporlama ve analiz uzm.
Yaş: 28
İleti: 4
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: istanbul / beykoz

Cevap: Tüm Sayfaları Tek Sayfaya

İleti#20)  tasad » 29 May 2018 18:59

Konuyu yeni başlık altında açabilirseniz yardımcı oluruz.
Excel dosyalarının olduğu klasörün adını da yazınız.
Kullanıcı avatarı
tasad
Siteye Alışmış
 
Kayıt: 04 Şub 2018 11:46
Meslek: muhasebeci
Yaş: 26
İleti: 287
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: ısparta

Sonraki

Forum Örnek Kodlar

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe