• DİKKAT

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

Otomatik sayfalar açma ve onları adlandırma

Katılım
20 Şubat 2006
Mesajlar
259
Saygıdeğer Arkadaşlar;
Aşağıdaki makroyu nasıl düzenlerim sizce ki, bir butona bunu atayıp ta üzerine tıkladığımda bana "Anasayfa" adlı adlı sayfanın önce kopyasını alacak ve Peşine hangi sayfa numarasında kalmışsa eğer, onun yanına peşpeşe 15 tane sayfa ekleyecek ve bu sayfaların numarası 0001 0002 vb. formatta olacak.


Sub Makro1()
'
' Makro1 Makro
' Makro Gecemavisi tarafından 26.05.2006 tarihinde kaydedildi.
'

'
Sheets("Sayfa1").Select
Sheets.Add
Sheets("Sayfa1").Name = "001"

Sheets("Sayfa2").Name = "002"
Sheets.Add

End Sub

Yardımlarınız için şimdiden teşekkürler...
 
gecemavisi' Alıntı:
Sub Makro1()
'
' Makro1 Makro
' Makro Gecemavisi tarafından 26.05.2006 tarihinde kaydedildi.
'

'
Sheets("Sayfa1").Select
Sheets.Add
Sheets("Sayfa1").Name = "001"

Sheets("Sayfa2").Name = "002"
Sheets.Add

End Sub

Yardımlarınız için şimdiden teşekkürler...

Sn. gecemavisi

Yazdığınız örneğe bağlı olarak :

[vb:1:6bd60c2e58]Dim intI

Sheets(1).Name = "001"
For intI = 2 To 9
Sheets.Add after:=Sheets(intI - 1)
Sheets(intI).Name = "00" & intI
Next intI[/vb:1:6bd60c2e58]
 
Hocam, Örnek çok güzel olmuş ama ben bir sonraki basışımda en son hangi sayfa ise ondan sonra bir 15 sayfa daha eklemesi gerek
 
gecemavisi' Alıntı:
Hocam, Örnek çok güzel olmuş ama ben bir sonraki basışımda en son hangi sayfa ise ondan sonra bir 15 sayfa daha eklemesi gerek
pardon tam okumadan yazmışım, buyrun;

[vb:1:c00dde7fcf]Dim intI As Integer
Sheets(1).Name = "0001"
For intI = 2 To 15

Sheets.Add after:=Sheets(intI - 1)

Sheets(intI).Name = Format(intI, "0000")
Next intI[/vb:1:c00dde7fcf]

15 rakamını istediğiniz kadar arttırın format değişmeyecektir.
 
Hocam burdaki maksatım, ilk 15 sayfam dolunda 1. sayfamın kopyası olarak 15. sayfadan başlayıp 30 kadar bi daha oluşturacak. bir dahaki basmam da 30 dan 45 e kadar peşpeşe ekleyecek.
 
her basışta eklemek için :
[vb:1:de42d7bde4] Dim intI As Integer


For intI = Sheets.Count To Sheets.Count + 15
Sheets(1).Copy after:=Sheets(intI)
Sheets(intI).Name = Format(intI, "0000")
Next intI[/vb:1:de42d7bde4]
 
Selamlar,

Ekteki örneği incelermisiniz.
 
Arkadaşlar,
Her ikinize de çok teşekkür ediyorum. Beni büyük zahmetten kurtardınız. Sağolun.
 
Bir eksik kalan problemim de aa1 hücresine otomatik olarak sayfanın adının yazılması. Ve bu kayıtlar hiç bir zaman değişmeyecek. Yardımınızı rica ediyorum arkadaşlar. Sağolun
 
Selamlar,

Kullanmış olduğumuz kodu aşağıdaki ile değiştiriniz.

Kod:
Sub SAYFA_EKLE()
    Application.ScreenUpdating = False
    Say = Worksheets.Count
    For X = Say To Say + 14
    Sheets("ANASAYFA").Select
    Sheets("ANASAYFA").Copy After:=Sheets(Worksheets.Count)
    ActiveSheet.Shapes("Button 1").Delete
    ActiveSheet.Name = Format(X, "0000")
    ActiveSheet.[AA1].Select
        Selection.NumberFormat = "0000"
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    ActiveSheet.[AA1] = ActiveSheet.Name
    Next
    Sheets("ANASAYFA").Select
    Application.ScreenUpdating = True
End Sub
 
gecemavisi' Alıntı:
Bir eksik kalan problemim de aa1 hücresine otomatik olarak sayfanın adının yazılması. Ve bu kayıtlar hiç bir zaman değişmeyecek. Yardımınızı rica ediyorum arkadaşlar. Sağolun

İstediğiniz düzenlenmiş kodlar aşağıdadır :

[vb:1:1cb60f5094]Dim intI As Integer


For intI = Sheets.Count To Sheets.Count + 15
Sheets(1).Copy after:=Sheets(intI)
Sheets(intI + 1).Name = Format(intI + 1, "0000")
Range("AA1").Value = Sheets(intI + 1).Name
Next intI
[/vb:1:1cb60f5094]
 
gecemavisi' Alıntı:
Bir eksik kalan problemim de aa1 hücresine otomatik olarak sayfanın adının yazılması. Ve bu kayıtlar hiç bir zaman değişmeyecek. Yardımınızı rica ediyorum arkadaşlar. Sağolun

İstediğiniz düzenlenmiş kodlar aşağıdadır :

[vb:1:609dfd5653]Dim intI As Integer


For intI = Sheets.Count To Sheets.Count + 15
Sheets(1).Copy after:=Sheets(intI)
Sheets(intI + 1).Name = Format(intI + 1, "0000")
Range("AA1").Value = Sheets(intI + 1).Name
Next intI
[/vb:1:609dfd5653]
 
Sn Cost Control hocam,
AA1 hücresine çok güzel bir şekilde bilgiler yerleşiyor ama aa1 hücresine yerleşen 0001 hücre değeri başka sayfadan kontrol ediliyor ve o kişi numarasına ait veriler başka hücrelere indis formülü yoluyla yerleşiyor. Elle yazınca hepsi oluyor ama otomatik attırınca veriler güncelleşmiyor. Bunun bir çıkış yolu var mı sizce
 
Selamlar,

Ozaman dosyanızı ekleyin kontrol edelim. Yada kullandığınız formülünüzü ekleyin inceleyelim.
 
Ornek aşağıda verilmiştir arkadaşlar. Yapacağım projenin küçük bir detayı. kartlar kısmındaki yerde her kişinin ID numarasına göre kart açılacak ve o kişinin kişisel bilgileri o kartın içine yerleşecek
 
Selamlar,

Bir önceki mesajımda verdiğim kodda AA1 hücresine yazılan sayfa adı formatını metin olarak ayarlamıştım o mesajımdaki kodu yeniledim kontrol edermisiniz.
 
COST_CONTROL' Alıntı:
Kod:
Sub SAYFA_EKLE()
    Application.ScreenUpdating = False
    Say = Worksheets.Count
    For X = Say To Say 
    Sheets("VERİ").Select
    Sheets("VERİ").Copy After:=Sheets(Worksheets.Count)
    ActiveSheet.Shapes("Button 8").Delete
    ActiveSheet.Name = Format(X, "00")
    ActiveSheet.[F1].Select
        Selection.NumberFormat = "00"
    With Selection
        .HorizontalAlignment = xlCenter
        .VerticalAlignment = xlBottom
        .WrapText = False
        .Orientation = 0
        .AddIndent = False
        .IndentLevel = 0
        .ShrinkToFit = False
        .ReadingOrder = xlContext
        .MergeCells = False
    End With
    ActiveSheet.[F1] = ActiveSheet.Name
    Next
    Sheets("VERİ").Select
    Application.ScreenUpdating = True
End Sub


Herkese iyi akşamlar
Sn COST CONTROL'un yazmış olduğu kodlarda istediğim düzenlemeyi yapamadım.
İstediğim şu şekil ; ben 1 sayfa ilave etmek istiyorum ve sayfa adı olarak "F1" hücresindeki rakamı YAZACAK ama bu arada veri sayfamdaki rakam 5 olacak. Yeni eklenen sayfa "VERİ" sayfası ile daha önce eklenen sayfanın arasında olacak. Şekil biraz daha açık.
İlgilenen tüm arkadaşlara teşekkür ederim.
 
"Next" in hemen altına aşağıdaki satırı ilave edin.
ActiveSheet.Move After:=Sheets("VERİ")
 
sn. anemos
İlginiz için teşekkür ederim. İstediğim şekilde oldu ama yine "F1" hücresindeki değeri okutamadım. F1 hücrsinde 35 yazıyorum sayfa yı eklerken 1 den başlıyor. sn COST CONTROL un son mesajındaki düzeltmeyi açamadım belki onu incelersem düzelebilir.
Tekrar teşekkür ederim.
 
Geri
Üst