• DİKKAT

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

Sayfada Tanımlı alan adlarını tüm çalışma kitabına uygulama

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,202
Excel Vers. ve Dili
Office 2013 İngilizce
Merhaba,
Bir sayfada tanımlı olan adları; aynı şekilde tüm çalışma kitabına uygula olarak pratik olarak nasıl düzenleyebiliriz?
Buradaki formüller aynı şekilde kalacak, sadece kapsam değişecek

Diğer durumda hepsini silip sıfırdan yeniden oluşturmak gerekecek

Bunun pratik bir yolu olabilir mi diye araştırıyorum.

Teşekkürler,
iyi Çalışmalar.
 
Bu sorunun cevabını ben de merak ediyorum. Zira aynı olay defalarca karşıma geldi ve her seferinde yeniden AD tanımlamak zorunda kaldım.
VBA ile olabilir mi emin değilim. Denemek lazım.
 
Deneyiniz.

C++:
Option Explicit

Sub Name_Change_Scope()
    Dim XL_Names As Name, New_Name As String, New_RefersTo As String
    
    Application.Calculation = xlCalculationManual
    
    For Each XL_Names In ThisWorkbook.Names
        New_Name = Replace(XL_Names.Name, XL_Names.Parent.Name & "!", "")
        New_RefersTo = XL_Names.RefersTo
        XL_Names.Delete
        ThisWorkbook.Names.Add Name:=New_Name, RefersTo:=New_RefersTo
    Next

    Application.Calculation = xlCalculationAutomatic

    MsgBox "Tanımlı adların kapsamları ÇALIŞMA KİTABI olarak revize edilmiştir.", vbInformation
End Sub
 
Ben konuyu biraz daha değişik anladım.

Örneğin, ekli dosyadaki her sayfada C1 hücresinde aşağıdaki formül var;

Kod:
=Alan1+Alan2

ve bu formül, her yazılı olduğu sayfadaki A1 ve B1 hücrelerini topluyor....


.
 

Ekli dosyalar

.

Doğru anladıysam;

Bir Alan adının kapsamı (scope)

Bütün adların, belirli bir çalışma sayfası (yerel çalışma sayfası düzeyi ) veya çalışma kitabının tamamı (genel çalışma kitabı düzeyi ) için bir kapsamı vardır. Bir adın kapsamı, adın niteliksiz olarak tanındığı konumdur.

Örneğin:

Alan_2 gibi bir ad tanımladıysak ve bu adın kapsamı (scope) Sayfa1 ise, ve bu ad, nitelenmemişse yalnızca Sayfa1'de tanınır. Diğer sayfalarda tanınmaz.

Başka bir çalışma sayfasında yerel çalışma sayfası adı kullanmak için bu adın önüne aşağıdaki örnekte gösterildiği gibi çalışma sayfasının adını ekleyerek adı niteleyebiliriz:

Sayfa1!alan_2 gibi.(Excel 2003 ve öncesinde olduğu gibi.)

Alan_1 gibi bir ad tanımladıysak ve bu adın kapsamı (scope) çalışma kitabıysa, söz konusu ad o çalışma kitabındaki bütün çalışma sayfaları için tanınır. Ancak başka bir çalışma kitabı için tanınmaz.

Buradaki dosyayı inceleyin.


.
 
Deneyiniz.

C++:
Option Explicit

Sub Name_Change_Scope()
    Dim XL_Names As Name, New_Name As String, New_RefersTo As String
   
    Application.Calculation = xlCalculationManual
   
    For Each XL_Names In ThisWorkbook.Names
        New_Name = Replace(XL_Names.Name, XL_Names.Parent.Name & "!", "")
        New_RefersTo = XL_Names.RefersTo
        XL_Names.Delete
        ThisWorkbook.Names.Add Name:=New_Name, RefersTo:=New_RefersTo
    Next

    Application.Calculation = xlCalculationAutomatic

    MsgBox "Tanımlı adların kapsamları ÇALIŞMA KİTABI olarak revize edilmiştir.", vbInformation
End Sub
Çok teşekkürler Korhan Hocam, iyi ki varsınız!
 
Geri
Üst