Thisworkbook ta Rapor sayfası yoksa yeni sayfa ekle ve adını rapor yap

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Değerli Arkadaşlar yardımlarınız ile hazırlamış olduğum bir makroda Rapor adlı sayfa shr değişkenine set edilmekte

Ancak data sayfamda 5-6 yıla ait ayrı ayrı raporlar alınacak ve sayfada kalacak.

bunun için

Kod:
yıl = 2007 
syfKont= "Rapor" & yıl 'yani Rapor2007
ise kitaptaki çalışma sayfalarının adlarına bakacak Rapor2007 sayfası yoksa yeni sayfa ekleyecek ve adını Rapor2007 olarak değiştirecek
varsa işlem yapmayacak daha sonra kodlar

dim shr as worksheet
set shR = thisworkbook("Rapor2007")

şeklinde devam edecek yardım edebilirmisiniz.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,455
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Yıl kodu nasıl anlaşılacak?
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
alakanıza teşekkürler
srgYil = InputBox("Sorgu Yılını Giriniz")
ile
 
Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Hallettim.


Kod:
Sub sftest_dizi()
Dim sfkont As String
srgYil = InputBox("Sorgu Yılını Giriniz")
arrsf = Array("", "Maliyet", "Personel", "GrfData")

For i = 1 To UBound(arrsf)
    sfkont = arrsf(i) & "_" & srgYil
    If sayfa_varmı(sfkont) = 0 Then
            ThisWorkbook.Sheets.Add After:=Sheets(ThisWorkbook.Sheets.Count)
            Sheets(ThisWorkbook.Sheets.Count).Name = sfkont
    End If
Next i

Dim shTest As Worksheet
Set shTest = ThisWorkbook.Worksheets("Maliyet_" & srgYil)

shTest.Range("A1") = "maliyet İşlemleri Başlayabilir."
End Sub



Sub sftest_tek()
Dim sfkont As String
srgYil = InputBox("Sorgu Yılını Giriniz")

sfkont = "Rapor-" & srgYil
If sayfa_varmı(sfkont) = 0 Then
        ThisWorkbook.Sheets.Add After:=Sheets(ThisWorkbook.Sheets.Count)
        Sheets(ThisWorkbook.Sheets.Count).Name = sfkont
End If

Dim shTest As Worksheet
Set shTest = ThisWorkbook.Worksheets(sfkont)

shTest.Range("A1") = "İşlemler Başlayabilir."
End Sub


Function sayfa_varmı(metin As String) As Double
            For Each Sayfa In ThisWorkbook.Worksheets
                If Sayfa.Name = metin Then
                    Var = Var + 1
                Else
                    Var = Var + 0
                End If
            Next
 sayfa_varmı = Var
End Function
 
Son düzenleme:
Üst