makro ile liste oluşturmak

Katılım
14 Kasım 2004
Mesajlar
297
Excel Vers. ve Dili
microsoft office professional plus 2016
Sevgili Excelciler
bir excel çalışma kitabında 32 adet sayfam var ve bu sayfaların isimleri 1, 2, 3 ...31 ve son sayfanın adı da liste. bu ilk 31 sayfa adlarından da anlaşılacağı gibi bir ayın günleri diyelimki bu mart ayının kitabı olsun. 1 den başlayıp 31 e kadar giden sayfalara gününe göre işlem yapıyorum. örneğin ayın 1'indeki sayfaya sutunun birinde aracın plakası aracın taşıdığı miktar ve fiş numarasını yazıyorum. hergün kaç tane çıkacağını bilemediğim için son sayfam olan liste de problem yaşıyorum diyelim ki ayın 1 inde 5 araç işlemişim 2 sinde 8 araç işlemişim 3 ünde ise hiç araç işlememişim ben bunu listeye nasıl aktarabilirim. listede de 1 inde 5 araç işlenmiş 2 sinde 8 araç işlenmiş ve bunların arasında hiç satır boşluluğu olmamalı. şimdiden teşekkürler arkadaşlar
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Kodu adım adım yazdımki anlamak ve değiştirmek kolay olsun.

[vb:1:5cdc3dd933]
Sub Makro2()
For i = 1 To 31
Sheets(i).Select
Range("a1").Select
Selection.CurrentRegion.Select
Selection.Copy
sonsat = Sheets("liste").Cells(65500, 1).End(xlUp).Row
Sheets("liste").Cells(sonsat, 1).PasteSpecial
Next i
End Sub
[/vb:1:5cdc3dd933]
 
Katılım
14 Kasım 2004
Mesajlar
297
Excel Vers. ve Dili
microsoft office professional plus 2016
sayın danersin;
yaptığınızı tek tek uyguladım kısmen oldu. olmayan tarafı ise her sayfadaki başlıkları da getiriyo bunada bi çözüm bulacağınızdan eöminim iyi çalışmalar.
 
Katılım
29 Eylül 2004
Mesajlar
1,810
Excel Vers. ve Dili
Excel 2002 TR
Buna uygun kodda değişiklik yapılır ama ben kendi dosyalarımı yaparken bu tarz hep başlık satırının altına 1 satır boş bırakıyorum, bu boş satırıda iyice inceltiyorum. Bu klavye ile o alanı seçerken, kopyalarken vs işlemlerdede fayda sağlıyor. Bu yolu seçerseniz ve kodda Range("a1").Select olan yere Range("a3").Select yazarsanız bu kodu kullanmaya devam edebilirsiniz.
 
Katılım
14 Kasım 2004
Mesajlar
297
Excel Vers. ve Dili
microsoft office professional plus 2016
sayın danersin ;
ekteki dosyaya bi göz atarmısınız ben beceremedim galiba veya benim yapmak istediğimi siz gayet iyi anladınız yapıverirseniz çok memnun olurum.
 

veyselemre

Özel Üye
Katılım
9 Mart 2005
Mesajlar
3,646
Excel Vers. ve Dili
Pro Plus 2021
[vb:1:a48eed8b26]Sub aktar()
Set s_liste = Sheets("liste")
s_liste.Range("a2:d65536").ClearContents
ay = 3
yil = 2006
sat = 1

For i = 1 To 31
tar = Format(DateSerial(yil, ay, i), "dd.mm.yyyy")

Sheets(i).Select
sonsat = [a2].End(xlDown).Row
If sonsat = 21 Then sonsat = 20
For t = 3 To sonsat
If Cells(t, 1) <> "" Then
sat = sat + 1
s_liste.Cells(sat, 1) = tar
For c = 1 To 3
s_liste.Cells(sat, c + 1) = Cells(t, c)
Next c
End If
Next t
Next i
End Sub[/vb:1:a48eed8b26]
 
Üst