Bir Sayfada Toplama!!

Katılım
23 Şubat 2006
Mesajlar
176
Excel Vers. ve Dili
Excell 2003
Elimde ayrı ayrı dört sayfa mevcut. Bu sayfaların hepsi ayrı ayrı makrolar çalışıyor. Şimdi yeni bir sayfa yapmak istiyorum ve bu sayfa diğer dört sayfamdaki dataları toplamak istiyorum.

Mesela Sheet1 deki a1:g100 arasındaki dataları alıp altına sheet2 deki a1:g100 arasındaki dataları yapıştırmasını ve onun altına sheet3 teki dataları yapıştırmasını son olarakta sheet4 teki dataları yapıştırmasını istiyorum. Yalnız bunu yaparken şunuda belirtmeliyim a1:g100 arasındaki butun satırlar dolu olmayabilir yani sheet1 deki a1:g10 a kadar dolu olabilir dolu olan satırları almasını istiyorum.

Böle bişi makrolarla yapmak mumkun olabilirmi??

Teşekkürler!!!
 

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
Sn shenko

sn COST CONTROL un yazmış olduğu kodu söylediğiniz hücrelere uygulamaya çalıştım. İnşallah çalışır. (Bende çalışıyor , sizin dosyaya tam uygulayabildim mi bilmem:))
En başa "YENİSAYFA" diye bir sayfa açın . aşağıdaki kodları butona bağlayın.


Sub VERİ_AKTAR()
Sheets("YENİSAYFA").Range("A1:G65536").ClearContents
For X = 1 To Worksheets.Count
Sheets(X).Select
Sheets(X).Range("A1:G" & Sheets(X).Range("A65536").End(xlUp).Row).Select
Selection.Copy
Sheets(X).Range("A1").Select
Sheets("YENİSAYFA").Select
Sheets("YENİSAYFA").Range("A65536").End(xlUp).Select
If ActiveCell.Address = "$A$1" Then
ActiveCell.Select
Else
ActiveCell.Offset(1, 0).Select
End If
ActiveSheet.Paste
Application.CutCopyMode = False
Next
Sheets("YENİSAYFA").Range("A1").Select
End Sub


Edit : sn. zafer daha kısa bir kod yazmış. Ama bu arada, bende denedim verdiğim kodlar çalışıyor.
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba



Sub kopyala()
sayfa = Sheets.Count

For A = 1 To sayfa
son = Sheets("sayfa1").Cells(65536, 1).End(xlUp).Row
ad = Sheets(A).Name
If ad = "Sayfa1" Then GoTo DON
Sheets(ad).Select
For b = 1 To Cells(65536, 1).End(xlUp).Row
For c = 1 To 7
Sheets("sayfa1").Cells(b + son, c) = Cells(b, c).Value
Next
Next
DON:

Next
End Sub
 
Katılım
23 Şubat 2006
Mesajlar
176
Excel Vers. ve Dili
Excell 2003
Değerli üstadlar, İlginiz için çok teşekkür ederim. Bu verdiğiniz makroları kendi sayfama uygulamaya çalışıyorum. Takıldığım yerleri daha sonra size haber veririm.

Birde sizden ricam var, bu konu makrolarla ilgili olduğu için bu mesajı makro bölümüne taşımaya çalıştım ama şimdi aynı mesajdan ordada bir tane oldu. Lütfen yardım edermisiniz. Teşekkürler!!!
 

zafer

Super Moderator
Yönetici
Katılım
8 Mart 2005
Mesajlar
3,288
Excel Vers. ve Dili
OFFICE 2003 TÜRKÇE
OFFICE 2010 TÜRKÇE
Merhaba

İsteğiniz üzere başlığı taşıdım. Boş olan makrolar bölümündeki başlığınızı sildim.
 
Katılım
23 Şubat 2006
Mesajlar
176
Excel Vers. ve Dili
Excell 2003
Evet sayın as3434 kodlarınız çok güzel çalışıyor. Çok teşekkür ederim.

Yalnız bu kodları şu şekilde sınırlamak mumkun mu acaba?

Sadece "YENİSAYFA" önündeki dört sayfayı kopyalayabilirmiyiz?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kod içindeki ikinci satırdaki ifadeyi aşağıdaki ile değiştirirseniz istediğiniz gerçekleşecektir.

Kod:
For X = 2 To 5
 

AS3434

Özel Üye
Katılım
13 Ocak 2005
Mesajlar
1,820
Excel Vers. ve Dili
M.Office/Excel 2007 Türkçe
Sn shenko
Excel.web.tr 'de saat 08:00/17:00 arası çalıştığım için son mesajınızı görmedim. Ama kodları yazan sn COST CONTROL sorunuza cevap vermiş. Küçük bir püf noktası olarak , eğer şekildeki gibi istiyorsanız
For X = 1 To 4 yapın.
 
Katılım
23 Şubat 2006
Mesajlar
176
Excel Vers. ve Dili
Excell 2003
Değerli üstadlar engin bilgilerinizi bizimle paylaştığınız için çok teşekkür ederiz. :bravo:
 
Üst