Tüm Versiyonu Göster : SHEETLERİ BİR SHEET'TE
SELAM,
DÜN SORDUÃUM SORU İÇİN ÇOK ÜZÜLDÜM. BEN SADECE HAZIRLADIÃIM BİR TABLONUN KOLAYLIKLA BİRLEÃMESİNİ İSTEMİÃTİM. AMA SONUÇ BENİ ÜZDÜ. CEVAP VEREN TÜM ARKADAÃLARA TEÃEKKÜR EDERİM.
BU ARADA DERYA ARKADAÃIMIN GÃ?NDERDİÃİ MAKRO ÇALIÃMIYOR. EÃER YARDIMCI OLMAK İSTEYEN VARSA LÜTFEN BANA YAZSIN. İNÃALLAH YENİ BİR KAOS'A YOL AÇMAM
ÃİMDİDEN TEÃEKKÜR EDERİM
SAYGILARIMLA
verdiği hatayı nerede verdiğini yazarsan daha çabuk yardımcı olunur.
şimdi yakaladım alpen seni. senin gibi cevap vereceğim. belki birilerinin ahı tutmuştur :hiho: :hiho: :hiho: bir kere ben 13 yaşın altında değilim. senden küçük olabilirim ama yinede :icelim:
SELAM,
HAZIRLADIÃIM ÇALIÃMA KİTABINI KISACA Ã?ZETLEYEYİM.
27 SHEET'TEN OLUÃAN BİR ÇALIÃMA KİTABIM VAR.
BUNUN;
1. SHEET'İNE İCMAL ADINI VERDİM BU SHEETİN 1. VE 2. SATIRI BAÃLIK İÇERİYOR.
2. SHEET'İNE DÃ?KÜM ADINI VERDİM. BU SAYFADA DİÃER 25 SAYFANIN BELLİ SÜTUN ALT TOPLAMLARI ALINIYOR.
GELELİM ESAS MESELEYE;
BEN 3. SHEET'TEN İTİBAREN HER SHEET'E BİR FİRMA İSMİ VERDİM VE BU SHEETLERDEKİ 3. SATIRDAN İTİBAREN TÜM KOLONLARIN 1. SHEET'E 3. SATIRINDAN BAÃLAMAK ÜZERE SIRALANMASINI İSTİYORUM
İKİNCİSİ İSE, BU 1. SHEETTEKİ DÃ?KÜMDEN SONRA TARİHLERİ BU GÜNDEN ESKİ OLAN SATIRLAR (TARİH Q SÜTUNUNDA) KIRMIZI RENGE DÃ?NÜÃSÜN
İNÃALLAH FAZLA BİRÃEY İSTEMİYORUMDUR.
SAYGILAR
Sub topla_getir()
Dim sayfa As Worksheet
Dim sonsatir As Long
Dim son As Long
ilk = True
On Error Resume Next
For Each sayfa In ThisWorkbook.Worksheets
If sayfa.Name <> "İCMAL" And sayfa.Name <> "DÃ?KÜM" Then
If ilk = True Then
son = 2
ilk = False
Else
son = Worksheets("İCMAL").Cells.Find(What:="*", After:=Worksheets("İCMAL").Range("A1"), Lookat:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
End If
sonsatir = sayfa.Cells.Find(What:="*", After:=sayfa.Range("A1"), Lookat:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
sayfa.Range(sayfa.Rows(3), sayfa.Rows(sonsatir)).Copy Sheets("İCMAL").Cells(son + 1, "A")
End If
Next
End Sub
kisaca ne yapar.
İCMAL ve DÃ?KÜM haricindeki tum sayfaların ucuncu satırından ıtıbaren veri olan son satirina kadar olan satirlari İCMAL sayfasına ucuncu satırdan itibaren alt alta kopyalar.
Not: Daha kısasını yazacak olanı vallahı doverım. 3 kadeh rakıya mal oldu. veya dovmem ama 4 kadeh raki ismarlatirim.
Edit : excel'de yaptıktan sonra buraya yapıştırırken büyük "i" harfinin sapıtması üzerine (İ harfi buraya yapıştırdıktan sonra &yws gibi bir şey oldu) manual burada elle değiştirirken yukarıdaki" karakteride yanlışlıkla silinmiş, eklendi.
Edit2: eööh code taglarının içine sanırım color tag'ı verilemiyor. onun için normal düzeltildi.
Sub topla_getir()
Dim sy As Worksheet
Dim ss As Long
Dim sn As Long
i = True
On Error Resume Next
For Each sy In ThisWorkbook.Worksheets
If sy.Name <> İCMAL" And sy.Name <> "DÃ?KÜM" Then
If i = True Then
sn = 2
i = False
Else
sn = Worksheets("İCMAL").Cells.Find(What:="*", After:=Worksheets("İCMAL").Range("A1"), Lookat:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
End If
ss = sy.Cells.Find(What:="*", After:=sy.Range("A1"), Lookat:=xlPart, LookIn:=xlFormulas, SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
sy.Range(sy.Rows(3), sy.Rows(ss)).Copy Sheets("İCMAL").Cells(sn + 1, "A")
End If
Next
End Sub
İşte kısaltılmış kod. ALPEN abi 4 değil 4x4 kadeh feda olsun sana :hihoho:
pek kisaltma (parametreler disinda) goremesemde kodu denemis olman guzel.
ARKADAÃLAR İLGİNİZ İÇİN TEÃEKKÜR EDERİM,
ANCAK BU DÃ?NGÜ SADECE 4. SHEET'İ TAÃIYOR. DİÃER SHEETLERİ TAÃIMIYOR. TEK TEK SHEETLERİN ADINI MI GİRMEM GEREKİYOR ACABA..
SAYGILARIMLA,
ARKADAÃLAR HERÃEY İÇİN ÇOK AMA ÇOK TEÃEKKÜR EDERİM.
ÃİMDİ OLDU. SÜPERSİNİZ.
SİZE 70'LİK BORCUM VAR... :hihoho:
BEN PEK BİR SORUN GÃ?REMİYORUM.
vBulletin v3.7.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.