• DİKKAT

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

çalışma sayfalarının adlarını değiştirme

  • Konbuyu başlatan Konbuyu başlatan Qosqo
  • Başlangıç tarihi Başlangıç tarihi
Katılım
7 Kasım 2007
Mesajlar
27
Excel Vers. ve Dili
2000 ingilizce ve 2003 ingilizce
selam bu konuda çok araştırdım uyarlamaya çalıştım ama bi türlü beceremedim
şöyle ki ;

d1 hücresine yazdığım bir değeri çalışma sayfasının adı olmasını istiyorum

bu dedğimi bi şekilde yaptım ama bu seferde bu makroyu çalıştırmak için ctrl+f8 e
basıp çalıştırabiliyorum bu da pratik değil . istiyorum ki d1 den farklı bi hücreye
geçince makro aktif olsun.Bi türlü becemedim
bu makroda her çalışma sayfasında aktif olsun çünkü benzer şekilde mesela 10 çalışma sayfası daha olucak.
tabi bunun arkasından şu gelicek aynı isimli olursa çalışma sayfaları :) bu seferde aynı isimli ise yanına sayısal bi değer versin.
ör : qosqo isimli bi sayfası var ama yine diğer çalışma sayfasında qosqo yazarsam
çalışma sayfasının adı qosqo(2) olsun (bu durumda ilkini (1) kabul etsin)
çok oldum galiba :)) şimdiden teşekkürler
 
Thisworkbook kod sayfasına aşağıdaki kodu yazarak deneyiniz...

Kod:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveSheet.Name = Range("D1").Value
End Sub
 
ilginiz için teşekkür ederim.bu kodu eklediğimde isim değişiyor fakat bunu d1 hücresine değeri girdikten sonra değişmesini istiyorum ancak bu şekilde alt+f8 e basınca değişiyor
 
ilginiz için teşekkür ederim.bu kodu eklediğimde isim değişiyor fakat bunu d1 hücresine değeri girdikten sonra değişmesini istiyorum ancak bu şekilde alt+f8 e basınca değişiyor

Merhaba
Kitabınızın Thisworkbooks bölümüne bu kodu kopyalayın ve deneyin. D1 hücresindeki değişlik sayfa adına yansır.
Kod:
Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Intersect(Target, Range("D1")) Is Nothing Then Exit Sub
ActiveSheet.Name = Range("D1")
End Sub
 
Bu şekilde deneyin.
Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    YoksaEkle
End Sub
 Sub YoksaEkle()
    Dim Sh As String
    Dim i As Integer
    AktifSayfa = ActiveSheet.Name
    With Sheets(AktifSayfa)
        Sh = .[d1]
10
        If Not SheetExist(Sh) Then
            Set NewSh = Sheets.Add(After:=Sheets(Sheets.Count))
            NewSh.Name = Sh
           .Select
        Else
        If InStr(1, Sh, "_") > 0 Then
            i = Mid(Sh, Len(Sh), Len(Sh) - Len(.[d1])) + 1
            Sh = .[d1] & "_" & i
            GoTo 10
        Else
            Sh = Sh & "_" & 1
             GoTo 10
        End If
        End If
        Set NewSh = Nothing
    End With
End Sub
Function SheetExist(ShName As String) As Boolean
    On Error Resume Next
    Application.ScreenUpdating = False
    SheetExist = IIf(Sheets(ShName).Select, True, False)
    Application.ScreenUpdating = True
End Function
 
ilgisini gösteren arkadaşlarıma çok teşekkür ederim
yazmış olduğunuz kodlar ihtiyacımı gördü.
bu kodlar üstüne devam edicem :)

excel in kodlarının anlamlarını nasıl ve nerden öğrenebilirm ?
saygılarımla
 
ilgisini gösteren arkadaşlarıma çok teşekkür ederim
yazmış olduğunuz kodlar ihtiyacımı gördü.
bu kodlar üstüne devam edicem :)

excel in kodlarının anlamlarını nasıl ve nerden öğrenebilirm ?
saygılarımla

Rica ederim
:keyif:
 
Geri
Üst