• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Çoklu sayfa ismi değiştirmek?

  • Konbuyu başlatan Konbuyu başlatan redheat
  • Başlangıç tarihi Başlangıç tarihi
Katılım
18 Şubat 2007
Mesajlar
90
Excel Vers. ve Dili
2003
Merhaba..
Aylık olarak tuttuğum bi kasa formatım var daha doğrusu şirketin formatı.
Günlük olarak tuttuğum için 31 adet sayfa var. Yeni aya geçtiğimde bu 31 sayfa ismini tek tek değiştirmem gerekiyor. Bunu makro ile yapabileceğimi düşünüm ama bilgim yetersiz kaldı.
İnputbox yaptım. Çıkan inputboxa tarih giriyorum, örnek olarak mart ayı. 01.03.2010 tarihini inputbox a girip onayladığımda sıradan tüm sayfaların değişmesini istiyorum. yani 01.03.2010-02.03.2010-03.03.2010-.... gibi.
Örnek dosyayı ekledim. Yardımcı olursanz sevinirim.
 

Ekli dosyalar

Merhaba,

Bu şekilde denermisiniz..

Kod:
Sub degistir()
On Error Resume Next
a = InputBox("Çalışacağınız Tarih !", "Tarih Gir")
    For i = 1 To Worksheets.Count
        If Sheets(i).Name <> "Sayfa1" Then
            Sheets(i).Name = Format(CDate(a) + i - 2, "dd.mm.yyyy")
        End If
    Next i
End Sub
.
 
SÜPERSİNİZ YAA.. Teşekkürler. Yalnız son bişii daha rica etsem, kodların açıklamasını yazarmısınız, öğrenmek amacıyla :$
 
On Error Resume Next 'hata varsa es geç devam et.

a = InputBox("Çalışacağınız Tarih !", "Tarih Gir") 'inputboxa girilecek veriyi a değeri ile tanımlar.

For i = 1 To Worksheets.Count 'Worksheets.Count ile kaç tane sayfa olduğu bulunur daha sonra 1 ile bu sayfa kadar yani tüm sayfalarda döngü kurulur.

If Sheets(i).Name <> "Sayfa1" Then ' kurulan döngüde sayfa adı Sayfa1 hariç diğer sayfalarda işlem yap tanımı.

Sheets(i).Name = Format(CDate(a) + i - 2, "dd.mm.yyyy") ' burada sayfa adlarını değiştirme işlemi yapılır. önce cdate ile inputboxa girilen değer tarihe çevrilir daha sonra + i ile 1 den başlayarak artarak bu tarihe değer eklenir. - 2 ile de matematiksel olarak istenen tarihe ulaşılır.

Şu şekilde düşünün. Inputboxa girilen tarih. 01.05.2010 olsun

01.05.2010 + i - 2 ' i değeri 1 artarak ilerler. İlk sayfa Sayfa1 olduğu için bu sayfayı es geçeceğinden bizim istediğimiz sayfada i değeri 2 üreterek artarak ilerler.

01.05.2010 + 2 - 2 sonunu 01.05.2010 a eşittir.

01.05.2010 + 3 - 2 sonucu 02.05.2010 a eşittir.

01.05.2010 + 4 - 2 sonucu 03.05.2010 a eşittir. Bu şekilde döngü ilerler.

format tanımı ile de bulunan tarihi dd.mm.yyyy formatına çevirerek sayfa adlarını yazar.

End If ' şartın bitimi

Next i ' döngünün bitimi

.
 
Geri
Üst