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,044
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.
 

ÖmerFaruk

Destek Ekibi
Destek Ekibi
Katılım
22 Ekim 2017
Mesajlar
4,779
Excel Vers. ve Dili
Microsoft 365 Tr-64
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.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,239
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
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
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

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.


.
 

tamer42

Destek Ekibi
Destek Ekibi
Katılım
11 Mart 2005
Mesajlar
3,044
Excel Vers. ve Dili
Office 2013 İngilizce
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!
 
Üst