A1:AD3 yi devamli tekrarlatmak istiyorum

Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Merhabalar,

arkadaslar asagidaki Kod ile herayin sonunda o aya ait olan kismi Outlook ile eMail olarak gönderiyorum. Ocak ayinin sobunda Ocak ayini, subat ayinin sonunda subat ayini. A1:AD3 isimlerin oldugu satirlardir. Bu satirlari her ayin baslangic satiri olarak tekrarlatmam gerekiyor. Bunu nasil yapmam lazim?
Aylar su satirlar arasindadir:
A4:AD34 Ocak
A35:AD63 Subat
A64:AD94 Mart
A95:AD124 Nisan
A125:AD155 Mayis
A156:AD185 Haziran
A186:Ad216 Temmuz
A217:AD147 Agustos
A248:AD277 Eylül
A278:AD308 Ekim
A309:AD338 Kasim
A339:AD369 Aralik

Asagidaki gibi degistirdim. A1:D3 yi yazdirabildim ama Ocak ve subat ayini icerisine aldi.
Worksheets("Tabelle1").Range("A1:D3", "A35:AD63").Select

Private Sub CommandButton4_Click()
' Ausgewählter Bereich kann als E-Mail Anhang verschickt werden
Dim aDat
aDat = Range("Tabelle1!C1").Value 'Datum für die Dateibezeichnung
Worksheets("Tabelle1").Range("A35:AD63").Select
Selection.Copy
Workbooks.Add
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteComments, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
ActiveWorkbook.SaveAs Filename:="C:\Subat vom " & aDat & " " & ".xls"
Application.Dialogs(xlDialogSendMail).Show "örnek@xxx.de"
Application.DisplayAlerts = False
ActiveWorkbook.Close SaveChanges:=False
Application.DisplayAlerts = True
Application.ScreenUpdating = True
Sheets("Tabelle1").Select
Range("A1").Select
End Sub

Saygilarimla
kaleci
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Dosyanızı eklermisiniz.
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin Hocam,

Dosya ektedir.

Saygilarimla
kaleci
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ay bilgisi nereden alınacaktır. İçinde bulunulan aymı dikkate alınacaktır.
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin Hocam,

Ay bilgisini ben her ay icin Kode nin icerisine kendim yazmayi düsünüyordum. Hocam aylar zaten A stununda yazilidir. Eger A Sütunundaki aylarin yazili oldugu hücrelerden aylari okutturup dosya ismi ve Sayfa ismi olarak yapabilirsek, dahada bir güzel olur.

Ama benim icin en önemlisi dedigim gibi A1:D3 satirlarini yeni olusturulan dosyadaki Sayfanin (her ayin) basinda tekrarlanmasini istiyorum.

Saygilarimla
kaleci
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Aşağıdaki kodu deneyin. Kod içinde bulunduğumuz aydan bir önceki ayı dikkate alarak gerekli dosyayı oluşturur.

Kod:
Private Sub CommandButton4_Click()
aDat = Range("Tabelle1!C1").Value
asildosyaadi = ActiveWorkbook.Name
ay = Array("A4:AD34", "A35:AD63", "A64:AD94", "A95:AD124", "A125:AD155", "A156:AD185", "A186:AD216", "A217:AD247", "A248:AD277", "A278:AD308", "A309:AD338", "A339:AD369")
deg = Month(Date) - 1
If deg = 0 Then deg = 11
ad = Format(DateSerial(Year(Date), Month(Date) - 1, 1), "mmmm")
dosyaadi = ad & " vom " & aDat & " " & ".xls"
Workbooks(asildosyaadi).Sheets("Tabelle1").Range("A1:AD3," & ay(deg)).Copy
Workbooks.Add
ActiveSheet.PasteSpecial
ActiveWorkbook.SaveAs Filename:="C:\" & dosyaadi
Application.Dialogs(xlDialogSendMail).Show "[EMAIL="örnek@xxx.de"]örnek@xxx.de[/EMAIL]"
ActiveWorkbook.Close SaveChanges:=True
Workbooks(asildosyaadi).Activate
End Sub
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin leventm Hocam,

Ellerine saglik cok tesekkür ederim istedigim gibi olamus. Hocam Mart ayinda tarihleri 01.03.2007 den baslayip dogru olarak devam ediyor. Ama Ocak, Subat, Nisan.... ve diger aylari 01.01.1900, 01.02.1900....01.12.1900 olarak yaziyor. Neden?

Saygilarimla
kaleci
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Formüllerin yerleri değiştiğinden yapıyor. Bence tarihleri sadece değer olarak hücreye koyun.
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin leventm Hocam,

gösterdigin isarete dayanarak Her ayin ilk gününe su formülü yazdim ve sonuca ulasabildim. Su anda yeni olusturulan dosyada tarihleri 01.01.1900 olarak degilde 01.01.2007 olarak gösteriyor.

01.01.2007 nin oldugu hücreye =DATUM($C$1;1;1) formülünü yazdim.
01.02.2007 nin oldugu hücreye =DATUM($C$1;2;1) formülünü yazdim.
01.03.2007 nin oldugu hücreye =DATUM($C$1;3;1) formülünü yazdim.
........................
........................
01.12.2007 nin oldugu hücreye =DATUM($C$1;12;1) formülünü yazdim.

Sayin Hocam bir sorumdaha olacak. Bulundugumuz aydan bir sonraki aya ait dosyayi olusturabilmek icin Kodun asagidaki satirlarini degistirdim. Dogru mu?
.........
deg = Month(Date)
If deg = 0 Then deg = 11
ad = Format(DateSerial(Year(Date), Month(Date) + 1, 1), "mmmm")
......
End Sub
Hocam yardimlarinizdan dolayi tesekkür ederim. Calismalarinizda basarilar dilerim.

Saygilarimla
kaleci
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Sayin Hocam bir sorumdaha olacak. Bulundugumuz aydan bir sonraki aya ait dosyayi olusturabilmek icin Kodun asagidaki satirlarini degistirdim. Dogru mu?
.........
deg = Month(Date)
If deg = 0 Then deg = 11
ad = Format(DateSerial(Year(Date), Month(Date) + 1, 1), "mmmm")
......
End Sub
İlaveniz yerindedir.
 
Katılım
3 Nisan 2006
Mesajlar
118
Excel Vers. ve Dili
Vers. 2013 Almanca
Sayin Hocam,

Tesekkür ederim. Simdi emin olmak icin gelecek ayi beklememe gerek kalmadi.

Saygilarimla
kaleci
 
Üst