KutoolsforOffice — Tek çözüm, beş güçlü araç.Daha az çabayla daha fazlasını başarmak.

Excel'de aylık veya yıllık takvim nasıl oluşturulur?

YazarSun Değiştirme Tarihi

Bazen Excel’de belirli bir ay veya yıl için takvim oluşturmanız gerekir; bunu hızlıca nasıl yapabilirsiniz? Bu eğitim, Excel’de aylık veya yıllık takvimi hızla oluşturmak için pratik püf noktalarını açıklar.

Excel Şablonu ile aylık veya yıllık takvim oluşturun

VBA ile aylık takvim oluşturun

Sürekli Takvim ile aylık veya yıllık takvimi kolayca oluşturun


Excel Şablonu ile aylık veya yıllık takvim oluşturun

Excel'de aylık ya da yıllık takvim oluşturmak için önceden hazırlanmış bir takvim şablonu kullanabilirsiniz.

1. Excel 2010/2013’te Dosya > Yeni seçeneğine tıklayın; Excel 2007’de ise Office Düğmesi > Yeni seçeneğine tıklayın. Ardından açılan pencerenin sağ bölümündeki arama kutusuna takvim yazın. Ekran görüntüsüne bakın:

Excel 2010/2013'da

Excel'de bir takvim şablonu aramanın ekran görüntüsü

Excel 2007'da

Excel 2007'de bir takvim şablonu aramanın ekran görüntüsü

2. Enter tuşuna basın; ardından pencerede çeşitli takvim türleri listelenir. İhtiyacınız olan takvim türünü seçin ve sağ bölmede İndir (veya Oluştur) seçeneğine tıklayın. Ekran görüntüsüne bakın:

Seçilen takvim şablonunun indirilmesinin ekran görüntüsü

Şimdi bir takvim Yeni Çalışma Kitabı’nda oluşturuldu. Ekran görüntüsüne göz atın:

Oluşturulan takvimin ekran görüntüsü


VBA ile aylık takvim oluşturun

Bazen belirli bir ay için (örneğin Ocak 2015) yalnızca o ayı içeren bir takvim oluşturmanız gerekebilir. Bu tür özel aylık takvim şablonlarını yukarıdaki yöntemle bulmak biraz zor olabilir. İşte tam da bu durumda, belirli bir aylık takvimi oluşturmanıza yardımcı olacak bir VBA kodu!

1. Alt + F11 tuşlarına basarak Microsoft Visual Basic for Applications penceresini açın, ardından Ekle > Modül seçeneğine tıklayıp aşağıdaki VBA kodunu pencereye kopyalayıp yapıştırın.

VBA ile aylık takvim oluşturun.

Sub CalendarMaker()
       ' Unprotect sheet if had previous calendar to prevent error.
       ActiveSheet.Protect DrawingObjects:=False, Contents:=False, _
          Scenarios:=False
       ' Prevent screen flashing while drawing calendar.
       Application.ScreenUpdating = False
       ' Set up error trapping.
       On Error GoTo MyErrorTrap
       ' Clear area a1:g14 including any previous calendar.
       Range("a1:g14").Clear
       ' Use InputBox to get desired month and year and set variable
       ' MyInput.
       MyInput = InputBox("Type in Month and year for Calendar ")
       ' Allow user to end macro with Cancel in InputBox.
       If MyInput = "" Then Exit Sub
       ' Get the date value of the beginning of inputted month.
       StartDay = DateValue(MyInput)
       ' Check if valid date but not the first of the month
       ' -- if so, reset StartDay to first day of month.
       If Day(StartDay) <> 1 Then
           StartDay = DateValue(Month(StartDay) & "/1/" & _
               Year(StartDay))
       End If
       ' Prepare cell for Month and Year as fully spelled out.
       Range("a1").NumberFormat = "mmmm yyyy"
       ' Center the Month and Year label across a1:g1 with appropriate
       ' size, height and bolding.
       With Range("a1:g1")
           .HorizontalAlignment = xlCenterAcrossSelection
           .VerticalAlignment = xlCenter
           .Font.Size = 18
           .Font.Bold = True
           .RowHeight = 35
       End With
       ' Prepare a2:g2 for day of week labels with centering, size,
       ' height and bolding.
       With Range("a2:g2")
           .ColumnWidth = 11
           .VerticalAlignment = xlCenter
           .HorizontalAlignment = xlCenter
           .VerticalAlignment = xlCenter
           .Orientation = xlHorizontal
           .Font.Size = 12
           .Font.Bold = True
           .RowHeight = 20
       End With
       ' Put days of week in a2:g2.
       Range("a2") = "Sunday"
       Range("b2") = "Monday"
       Range("c2") = "Tuesday"
       Range("d2") = "Wednesday"
       Range("e2") = "Thursday"
       Range("f2") = "Friday"
       Range("g2") = "Saturday"
       ' Prepare a3:g7 for dates with left/top alignment, size, height
       ' and bolding.
       With Range("a3:g8")
           .HorizontalAlignment = xlRight
           .VerticalAlignment = xlTop
           .Font.Size = 18
           .Font.Bold = True
           .RowHeight = 21
       End With
       ' Put inputted month and year fully spelling out into "a1".
       Range("a1").Value = Application.Text(MyInput, "mmmm yyyy")
       ' Set variable and get which day of the week the month starts.
       DayofWeek = WeekDay(StartDay)
       ' Set variables to identify the year and month as separate
       ' variables.
       CurYear = Year(StartDay)
       CurMonth = Month(StartDay)
       ' Set variable and calculate the first day of the next month.
       FinalDay = DateSerial(CurYear, CurMonth + 1, 1)
       ' Place a "1" in cell position of the first day of the chosen
       ' month based on DayofWeek.
       Select Case DayofWeek
           Case 1
               Range("a3").Value = 1
           Case 2
               Range("b3").Value = 1
           Case 3
               Range("c3").Value = 1
           Case 4
               Range("d3").Value = 1
           Case 5
               Range("e3").Value = 1
           Case 6
               Range("f3").Value = 1
           Case 7
               Range("g3").Value = 1
       End Select
       ' Loop through range a3:g8 incrementing each cell after the "1"
       ' cell.
       For Each cell In Range("a3:g8")
           RowCell = cell.Row
           ColCell = cell.Column
           ' Do if "1" is in first column.
           If cell.Column = 1 And cell.Row = 3 Then
           ' Do if current cell is not in 1st column.
           ElseIf cell.Column <> 1 Then
               If cell.Offset(0, -1).Value >= 1 Then
                   cell.Value = cell.Offset(0, -1).Value + 1
                   ' Stop when the last day of the month has been
                   ' entered.
                   If cell.Value > (FinalDay - StartDay) Then
                       cell.Value = ""
                       ' Exit loop when calendar has correct number of
                       ' days shown.
                       Exit For
                   End If
               End If
           ' Do only if current cell is not in Row 3 and is in Column 1.
           ElseIf cell.Row > 3 And cell.Column = 1 Then
               cell.Value = cell.Offset(-1, 6).Value + 1
               ' Stop when the last day of the month has been entered.
               If cell.Value > (FinalDay - StartDay) Then
                   cell.Value = ""
                   ' Exit loop when calendar has correct number of days
                   ' shown.
                   Exit For
               End If
           End If
       Next

       ' Create Entry cells, format them centered, wrap text, and border
       ' around days.
       For x = 0 To 5
           Range("A4").Offset(x * 2, 0).EntireRow.Insert
           With Range("A4:G4").Offset(x * 2, 0)
               .RowHeight = 65
               .HorizontalAlignment = xlCenter
               .VerticalAlignment = xlTop
               .WrapText = True
               .Font.Size = 10
               .Font.Bold = False
               ' Unlock these cells to be able to enter text later after
               ' sheet is protected.
               .Locked = False
           End With
           ' Put border around the block of dates.
           With Range("A3").Offset(x * 2, 0).Resize(2, _
           7).Borders(xlLeft)
               .Weight = xlThick
               .ColorIndex = xlAutomatic
           End With

           With Range("A3").Offset(x * 2, 0).Resize(2, _
           7).Borders(xlRight)
               .Weight = xlThick
               .ColorIndex = xlAutomatic
           End With
           Range("A3").Offset(x * 2, 0).Resize(2, 7).BorderAround _
              Weight:=xlThick, ColorIndex:=xlAutomatic
       Next
       If Range("A13").Value = "" Then Range("A13").Offset(0, 0) _
          .Resize(2, 8).EntireRow.Delete
       ' Turn off gridlines.
       ActiveWindow.DisplayGridlines = False
       ' Protect sheet to prevent overwriting the dates.
       ActiveSheet.Protect DrawingObjects:=True, Contents:=True, _
          Scenarios:=True

       ' Resize window to show all of calendar (may have to be adjusted
       ' for video configuration).
       ActiveWindow.WindowState = xlMaximized
       ActiveWindow.ScrollRow = 1

       ' Allow screen to redraw with calendar showing.
       Application.ScreenUpdating = True
       ' Prevent going to error trap unless error found by exiting Sub
       ' here.
       Exit Sub
   ' Error causes msgbox to indicate the problem, provides new input box, 
   ' and resumes at the line that caused the error.
   MyErrorTrap:
       MsgBox "You may not have entered your Month and Year correctly." _
           & Chr(13) & "Spell the Month correctly" _
           & " (or use 3 letter abbreviation)" _
           & Chr(13) & "and 4 digits for the Year"
       MyInput = InputBox("Type in Month and year for Calendar")
       If MyInput = "" Then Exit Sub
       Resume
   End Sub

Bu VBA kodu şu web sitesinden alınmıştır:https://support.microsoft.com/en-us/kb/150774

2. F5 tuşuna basın veya Çalıştır düğmesine tıklayın; ardından takvim oluşturmak istediğiniz ayı girmenizi isteyen bir iletişim kutusu açılacaktır. Ekran görüntüsüne bakın:

Takvimde oluşturmak istediğiniz belirli ayı yazmanın ekran görüntüsü

3. Tamam seçeneğine tıklayın. Artık Ocak 2015 takvimi, Geçerli Çalışma Sayfası’nda oluşturuldu.

Oluşturulan takvimin ekran görüntüsü

Ancak yukarıdaki yöntemlerin bazı sınırlamaları vardır. Örneğin, Ocak’tan Mayıs’a kadar olan dönemi kapsayan bir takvim oluşturmak istiyorsanız, bu iki yöntemi beş kez tekrarlamanız gerekir. Şimdi bunu hızlı ve kolayca çözebilecek son derece kullanışlı bir araçtan bahsedeceğim.


Sürekli Takvim ile aylık veya yıllık takvimi kolayca oluşturun

Sürekli Takvim, Kutools for Excel içinde yer alan güçlü araçlardan biridir ve Excel'de aylık veya yıllık takvimi tek seferde hızlıca oluşturmanıza yardımcı olur.

1. KUTOOLS PLUS > Çalışma Sayfası > Sürekli Takvim seçeneğine tıklayın.

2. Açılan iletişim kutusunda takvim oluşturmak istediğiniz ay aralığını belirtin ve Oluştur seçeneğine tıklayın. Ekran görüntüsüne bakın:

Sürekli Takvim iletişim kutusunda başlangıç ve bitiş aylarını belirtmenin ekran görüntüsü

Beş takvim çalışma sayfası içeren yeni bir Çalışma Kitabı oluşturuldu. Ekran görüntüsüne göz atın:

Excel'de nihai olarak oluşturulan aylık takvimlerin ekran görüntüsü

İpucu:

Yalnızca belirli bir ay için takvim oluşturmak istiyorsanız, iletişim kutusundaki Başlangıç ve Bitiş metin kutularında aynı ayı seçmeniz yeterlidir.

Sürekli Takvim hakkında daha fazla bilgi edinmek için buraya tıklayın


En İyi Office Üretkenlik Araçları

🤖KUTOOLS AI Yardımcısı: Şunu temel alarak Veri Analizi’i devrimleştirin:Akıllı Yürütme   |  Kod Oluştur|  özel formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur|  Geliştirilmiş İşlevler Çağır…
Popüler Özellikler:Bul, Vurgula veya Yinelenenleri İşaretle   |  Boş Satırları Sil   |  Veri Kaybetmeden Sütunları Birleştir veya Hücreleri   |   Formül kullanmadan yuvarlama…
Süper ARA:Çoklu Kriterli Dikey Arama (VLookup)  |  Çoklu Değerli Dikey Arama (VLookup)  |   Birden Fazla Sayfada Dikey Arama (VLookup)   |   Bulanık Eşleme…
Gelişmiş Açılır Liste:Açılır Liste Hızlıca Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste…
Sütun Yöneticisi:Belirli Sayıda Sütun Ekle|Sütunları Taşı|Gizli Sütunların Görünürlük Durumunu Aç/Kapat|Aralıkları ve Sütunları Karşılaştır…
Öne Çıkan Özellikler:Izgara Odaklama   |  Tasarım Görünümü   |Gelişmiş formül çubuğu   | Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynaklar(Otomatik Metin)|  Tarih Seçici   |  Çalışma Sayfalarını Birleştir  |  Şifrele/Hücreleri Şifre Çöz   | Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre(Kalın Yazılı Hücreleri Filtrele/italik/üstü çizili…) …
En Çok Kullanılan 15 Araç Setleri:12 MetinAraçları(Metin Ekle,Belirli Karakterleri Sil, …)|   50+GrafikTürleri(Gantt Grafiği, …)|   40+ Pratik Formüller(Doğum tarihine dayanarak yaş hesapla, …)|   19 EklemeAraçları(QR Kodu Ekle,Yoldan Resim Ekle, …)|   12 DönüştürmeAraçları(Kelimeye Dönüştür,Döviz Kuru Dönüşümü, …)|   7 Birleştir ve AyırAraçları(Gelişmiş Satırları Birleştir,Hücreleri Böl, …)|… ve daha fazlası
Kutools'u tercih ettiğiniz dilde kullanın – İngilizce, İspanyolca, Almanca, Fransızca, Çince ve 40+ başka dillerde de desteklenir!

Excel becerilerinizi Kutools for Excel ile geliştirin ve verimlilikte hiç yaşamadığınız bir deneyim yaşayın.Kutools for Excel, üretkenliği artırmak ve Zamanı Kaydet için 300’den fazla gelişmiş özelliğe sahiptir.İhtiyacınız olan özelliği hemen edinmek için buraya tıklayın…


Office Tab, Office uygulamalarına sekmeli bir arayüz kazandırarak işlerinizi çok daha kolay hale getirir.

  • Word, Excel, PowerPoint, Publisher, Access, Visio ve Project'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Belgeleri yeni pencerelerde değil, aynı pencerenin yeni sekmelerinde açıp oluşturun.
  • Günlük üretkenliğinizi %50 artırır ve her gün yüzlerce fare tıklamasından tasarruf etmenizi sağlar!

Tüm Kutools eklentileri — tek bir kurulum dosyasında!

Kutools for Office paketi, Excel, Word, Outlook ve PowerPoint eklentilerini ve ayrıca Office Tab Pro’yu içeren kapsamlı bir çözümdür; Office uygulamalarında çalışan ekipler için idealdir.

ExcelWordOutlookTabsPowerPoint
  • Hepsi bir arada paket— Excel, Word, Outlook ve PowerPoint eklentileri + Office Tab Pro
  • Tek kurulum, tek lisans— birkaç dakikada hazır (MSI uyumlu)
  • Birlikte daha iyi çalışır— Office uygulamalarında akıcı üretkenlik
  • 30 günlük tam özellikli deneme— kayıt gerekmez, kredi kartı gerekmez
  • En iyi fiyat performans— ayrı ayrı eklenti satın almaya göre tasarruf sağlar