EXCEL VBADA ÇALIŞMA SAYFASI ADI DEĞİŞTİRME

 

Name özelliği, bir nesnenin adını almak veya ayarlamak için kullanılır. VBA'da bir çalışma sayfasına başvurduğunuzda, o çalışma sayfasının adını almak veya değiştirmek için Name özelliğini kullanabilirsiniz.


VBA ile Çalışma Sayfasının ismini değiştirmek için “Name” özelliğinin nasıl kullanılacağını basit bir örnekle görebilirsiniz.

VBA Adı Çalışma Sayfası - Tanım Örneği - 1

Burada, Excel Çalışma Kitabındaki etkin sayfa veya geçerli sayfa “Sheet1”dir. Aşağıda gösterildiği gibi, bunu adıyla çağırabilir veya ActiveSheet anahtar sözcüğünü kullanabilirsiniz.

VBA Ad Çalışma Sayfası - Tanım Örneği - 2

Şu anda kullanılan sayfayı verilen herhangi bir dize biçimine dönüştürmek için bir alt rutin oluşturulur. "Sheet1" olan ActiveSheet, kod çalıştırıldığında bunun yerine "Example_name" olarak değiştirilir. Bu şekilde, VBA Name çalışma sayfası işlevi zahmetsizce kullanılabilir.

VBA Adı Çalışma Sayfası - Tanım Örneği - 3

ÖNEMLİ NOKTALAR

  • VBA'da (Visual Basic for Applications) Name özelliği bir nesnenin adını almak veya ayarlamak için kullanılır.
  • VBA'da bir çalışma sayfasının adını değiştirmek için Çalışma Sayfası nesnesinin Ad özelliğini kullanırsınız.
  • Name özelliği belirli bir çalışma sayfasına uygulanır ve bu çalışma sayfasının adını değiştirmek için kullanabilirsiniz. VBA'daki çalışma sayfası adları bir çalışma kitabı içinde benzersiz olmalıdır. Örnek:Worksheets("Sheet1").Name = "NewSheetName" renames "Sheet1" to "NewSheetName."
  • Sorunları önlemek için sayfaları yeniden adlandırırken benzersizliği sağlayın ve hataları işleyin.

Excel VBA İsim Çalışma Sayfası Nasıl Kullanılır?

VBA'da çalışma sayfalarına isim vermenin nasıl yapılacağını öğrenmek için aşağıdaki adımları izleyin.

  1. Excel Çalışma Kitabını açtığınızda, başlık çubuğundan “Geliştirici” simgesini seçin ve üzerine tıklayın.


    Excel VBA Ad Çalışma Sayfası nasıl kullanılır - Adım 1a

    Geliştirici simgesine tıkladıktan sonra “Visual Basic” seçeneğini seçin. Kodlamaya başlayabileceğiniz VBA penceresi açılır.



    VBA Editöründe, başlık çubuğunda “Ekle” butonuna tıklayın ve “Modül” seçeneğini seçin.



    Artık Excel VBA'da kodlamaya başlamaya hazırsınız. Yeni Çalışma Sayfasının adı şu anda "Sheet1"dir.

  2. Değişkenli VBA isim çalışma sayfasını uygulamak için kullandığınız alt rutine bir isim verin.


    Excel VBA Ad Çalışma Sayfası nasıl kullanılır - Adım 2

  3. Çalışma sayfalarını aşağıda gösterildiği gibi indeksleyebilirsiniz. İkinci indeksteki çalışma sayfasının adını bir değişkene atayın.


    Excel VBA Ad Çalışma Sayfası nasıl kullanılır - Adım 3

  4. Değişkeni Debug.Print fonksiyonunu kullanarak yazdırın.


    Excel VBA Ad Çalışma Sayfası nasıl kullanılır - Adım 4a

    Çıktı

  5. Aynı değişkeni yeni Çalışma Sayfasının adıyla atayın.


    Excel VBA Ad Çalışma Sayfası Nasıl Kullanılır - Adım 5

  6. Çalışma sayfasının adını, daha önce başlatılan değişkenin değerine atayarak değiştirin.


    Excel VBA Ad Çalışma Sayfası Nasıl Kullanılır - Adım 6

  7. Yeni adı bir MsgBox işlevi kullanarak yazdırın. Excel'deki her çalışma sayfasının bir çalışma sayfası adı vardır ve yaptığınız ad değişikliğinden bağımsız olarak aynı kalan çalışma sayfasının kod adı vardır.


    Excel VBA Ad Çalışma Sayfası nasıl kullanılır - Adım 7a



    Bu, Çalışma Sayfasının adını, MsgBox fonksiyonunda yazdırılan değer olan “Sheet2” kod adıyla çağırarak çağırabileceğimiz anlamına gelir.
     
    Kod:

    Sub Change_name_with_variable()
    SheetName = Worksheets(2).name
    Debug.Print SheetName
    SheetName = “NewWorksheet”
    Worksheets(2).name = SheetName
    MsgBox “Name has been changed to ” & Sheet2.name
    End Sub

  8. Programı çalıştırmak için Excel VBA Modülündeki etkinlik çubuğundaki “Çalıştır” simgesine tıklayın. Farklı tarih biçimleriyle bir çıktı yazdırır.


    Excel VBA Ad Çalışma Sayfası nasıl kullanılır - Adım 8a

    Eğer imlecinizi herhangi bir alt programın üzerine getirmediyseniz, çalıştırmak istediğiniz makroların listesini alacaksınız.



    Alt yordamı çalıştırmak için üzerine çift tıklayın. Sayfanın önceki adı Immediate sekmesinde yazdırılır.



    Şimdi bir MsgBox istemi alacaksınız.



    Artık değiştirilen Çalışma Sayfası adını görüntüleyebilirsiniz.



    Daha fazlasını öğrenmek için birkaç örneğe daha göz atın.


VBA kullanarak İsim Çalışma Sayfasına Örnekler

Aşağıdaki örnekleri inceleyerek Excel VBA'da çalışma sayfalarını adlandırmanın farklı yollarını görebilirsiniz.

Örnek 1

Bu örnekte, çalışma sayfalarını VBA'da kopyalayabilir ve daha sonra yeniden adlandırabilirsiniz. Çalışma sayfasında geçerli günün kotasını depolamak için VBA adı çalışma sayfası bugünün tarihi'ni kullanabilirsiniz. Aşağıdaki adımları izleyin.

  • Adım 1: Kopyalanan çalışma sayfasının adını değiştirmek için alt rutine bir ad verin.
Örnek 1 - Adım 1

  • Adım 2: VBA Kopyalama işlevini kullanarak, seçtiğiniz çalışma sayfasını adını belirterek kopyalayın ve “After” anahtar sözcüğünü kullanarak sonuna yakın bir yere koyun. 'Sheets.Count', Çalışma Sayfası sayısını döndürür; kopyalanan çalışma sayfasını çalışma sayfası dizininin sonuna yerleştirir.
Örnek 1 - Adım 2

Kopyalanan çalışma sayfası, kopyalandığı çalışma sayfasının adıyla aynı ada sahip olacaktır; ancak bir kopya olduğu ve adlandırma çakışmalarını önlemek için Excel, aşağıda görüldüğü gibi sayfa adının sonuna sayısal bir değer ekler.

Örnek 1 - Adım 2b
  • Adım 3: MsgBox fonksiyonunu kullanarak kopyalanan çalışma sayfasının adını yazdırın .
Örnek 1 - Adım 3
  • Adım 4: Alt programın çalışmasını kesintiye uğratan bir hatayı önlemek için hata işlemeyle birlikte Resume Next'i kullanabilirsiniz.
Örnek 1 - Adım 4
  • Adım 5: Çalışma sayfası kopyalandıktan sonra, kopyalanan çalışma sayfası etkin sayfa olur. Bu nedenle, gösterildiği gibi ActiveSheet anahtar sözcüğünü kullanarak adını CopyedSheets olarak değiştirebilirsiniz .
Örnek 1 - Adım 5
  • Adım 6: Hatalar devam ederse, herhangi bir hata oluştuğunda varsayılan değerine dönerek hata işlemeyi devre dışı bırakabilirsiniz. Bu, kodun sürekli çalışmasını sağlamak içindir.
Örnek 1 - Adım 6
  • Adım 7: Kopyalanan sayfanın çalışma sayfası adını yazdırın.
Örnek 1 - Adım 7
  • Adım 8: Şimdi, VBA ad çalışma sayfası bugünün tarihi komutunu kullanarak geçerli çalışma sayfasının adını günün tarihine atayabilirsiniz.
Örnek 1 - Adım 8

Excel VBA'daki Tarih işlevi, Excel çalışma kitabınızda ayarlanan geçerli tarihi veya bugünün tarihini döndürür.

  • Adım 9: MsgBox fonksiyonu ile çalışma sayfasının değiştirilen ismini yazdır.
Örnek 1 - Adım 9

Kod:

Sub Change_Copied_Sheet()
Worksheets(“NewWorksheet”).Copy After:=Sheets(Sheets.Count)
MsgBox ActiveSheet.name, vbInformation
On Error Resume Next
ActiveSheet.name = “CopiedSheets”
On Error GoTo 0
MsgBox “Changed to ” & ActiveSheet.name
ActiveSheet.name = Date
MsgBox “Changed to ” & ActiveSheet.name
End Sub

  • Adım 10: Alt rutini çalıştırmak için “F5” tuşuna basın. İlk olarak, kopyalanan Çalışma Sayfasının adı bir Mesaj kutusuna yazdırılır.
Örnek 1 - Adım 10a
Örnek 1 - Adım 10b

Daha sonra çalışma sayfasının adı değişir. Yeni ad bir mesaj kutusunda yazdırılır.

Örnek 1 - Adım 10c
Örnek 1 - Adım 10d

Daha sonra değişiyor çünkü kod VBA Name Worksheet'in bugünün tarihini uyguluyor.

Örnek 1 - Adım 10e
Örnek 1 - Adım 10f

Örnek 2

Diyelim ki Excel çalışma kitabınızda bir çalışma sayfası listeniz var ve hepsini farklı adlara değiştirmek istiyorsunuz. Değiştirmek istediğiniz adı herhangi bir hücreye girebilir ve tüm çalışma sayfalarını bir FOR döngüsünden geçirebilirsiniz. VBA Name Worksheet'i bir FOR döngüsünde kullanabilirsiniz.

Excel - Excel'de VBA Ad Çalışma Sayfası - Örnek 2

Örneğin, bunlar çalışma kitabınızda bulunan çalışma sayfalarıdır. Her çalışma sayfasında gösterildiği gibi "A1" hücresinde seçili bir adınız var.

Örnek 2 - 1
Örnek 2 - 2
Örnek 2 - 3
Örnek 2 - 4

Aşağıdaki adımları izleyerek Çalışma Sayfalarının adlarını değiştirmek için kod oluşturmaya başlayabilirsiniz.

  • Adım 1: Hücre değerinden VBA Ad Çalışma Sayfasını gerçekleştirmek için bir alt rutin başlatın.
Örnek 2 - Adım 1
  • Adım 2: Bir çalışma sayfası değişkeni bildirin, bu durumda w . Bu, çalışma kitabındaki her sayfayı çalıştırmak için bir FOR döngüsünde yinelemeli bir değişken olarak kullanılacaktır.
Örnek 2 - Adım 2
  • Adım 3: VBA'da hücre değerini depolamak için bir dize değişkeni tanımlayın ve daha sonra değişkenle VBA Adlandırma Çalışma Sayfasını gerçekleştirin.
Örnek 2 - Adım 3
  • Adım 4: Çalışma Kitabının tüm sayfalarını seçmek için “ThisWorkbook.Worksheets” fonksiyonunu kullanarak Çalışma Sayfası değişkenini tanımlayarak bir FOR döngüsü başlatın.
Örnek 2 - Adım 4
  • Adım 5: FOR döngüsünde “A1” hücresinin değeriyle dize değişkenini başlatın.
Örnek 2 - Adım 5

Bu, her çalışma sayfasında “A1” hücre değerinin alınıp, çalışma sayfasının isminin değiştirilmesinde kullanılması anlamına gelir.

  • Adım 6: Herhangi bir hatayı önlemek için değerlerin boş olup olmadığını kontrol eden bir If-Else ifadesi tanımlayın.
Örnek 2 - Adım 6

Hücre değeri boş değilse, Name özelliğini kullanarak çalışma sayfasının adını dize değerine eşitleyerek değiştirin. Ardından, koşullu ifadeyi sonlandırın.

  • Adım 7: Sonraki çalışma sayfaları için FOR döngüsünü sürdürün.
Örnek 2 - Adım 7

Kod:

Sub Rename_Sheets_with_cell_values()
Dim w As Worksheet
Dim val As String
ThisWorkbook.Worksheets'teki her w için
val = w.Range(“A1”).Value
If val <> “” ise
w.name = val
End If
Next w
End Sub

  • Adım 8: VBA Araç Çubuğu'ndaki yeşil butona tıklayarak alt programı çalıştırın.
Excel - Excel'de VBA Ad Çalışma Sayfası - Örnek 2 - Adım 8a

Kodu çalıştırdıktan sonra sayfaların kod adının değişmediğini görebilirsiniz.

Excel - Excel'de VBA Ad Çalışma Sayfası - Örnek 2 - Adım 8b

Değişiklikleri görüntülemek için çalışma sayfasına gidin.

Excel - Excel'de VBA Ad Çalışma Sayfası - Örnek 2 - Adım 8c

Dikkat Edilmesi Gereken Önemli Noktalar

  • Çakışmaları önlemek için yeni çalışma sayfası adının çalışma kitabında benzersiz olduğundan emin olun.
  • Yeni adın, sayfa adlarında izin verilmeyen karakterleri içermediğini doğrulayın.
  • Çalışma sayfası adlarını boş değerlere ayarlamayın. Yeni adın boş bir dize olmadığından emin olun.
  • Hata işlemeyi ihmal etmek, özellikle seçilen ad zaten mevcutsa veya geçersiz karakterler içeriyorsa, çalışma zamanı hatalarına yol açabilir.

1. VBA'da bir çalışma sayfasını dinamik olarak adlandırmak için bir değişken kullanabilir miyim?

Evet, VBA'da bir Worksheet'i dinamik olarak adlandırmak için bir değişken kullanabilirsiniz. Değişkeni bildirin ve sayfanızın değiştirilmesini istediğiniz değere atayın.
Aşağıdaki örneğe bakın: Bu kod parçası, dize değerini depolamak ve daha sonra Worksheet'e atamak için değişkeni kullanır.
 
SheetName = "NewWorksheet"
Worksheets(2).name = SheetName

 

2. VBA'da bir çalışma sayfasının adını değiştirmeden önce o adın zaten var olup olmadığını nasıl kontrol edebilirim?

VBA'da bir çalışma sayfası adının yeniden adlandırılmadan önce bu kod satırını kullanarak zaten var olup olmadığını kontrol edebilirsiniz: Bundan sonra alternatif ifadeler yazın. Bu şekilde, bir çalışma sayfası adının zaten var olup olmadığını kontrol edebilirsiniz.
 
If WorksheetExists(newName) Then
 

3. VBA'da yeni çalışma sayfası adı olarak bir hücre değeri kullanabilir miyim?

Evet, VBA'da çalışma sayfası adlarını yeniden adlandırmak için hücre değerinden VBA Adı çalışma sayfasını kullanabilirsiniz. Değişkenleri kullanabilir veya doğrudan atayabilirsiniz.
 
"A1" hücresinin değerinin "TEST" olduğunu varsayalım. Ad değişiklikleri 2 şekilde yapılabilir.
 
Değişkenlerle: Değişkenler olmadan: Bu iki yolla, VBA'da hücre değerlerini kullanarak bir çalışma sayfasını yeniden adlandırabilirsiniz .
Sub eg()
    v = Worksheets(1).Range("A1").Value
    Worksheets(1).name = v
End Sub

 

Sub eg2()
    Worksheets(2).name = Worksheets(2).Range("A1").Value
End Sub

 

4. VBA'da birden fazla çalışma sayfasını aynı anda yeniden adlandırmak mümkün müdür?

Evet, Worksheet değişkeni ThisWorkbook.Sheets üzerinden çalışırken FOR döngülerini kullanarak birden fazla çalışma sayfasını aynı anda yeniden adlandırabilirsiniz.

Örneğin: Bu şekilde birden fazla çalışma sayfasını aynı anda yeniden adlandırabilirsiniz.
For Each w In ThisWorkbook.Worksheets
        val = w.Range("A1").Value
        w.name = val

Yorum Gönder

DT KARİYER KPSS Dünyasına Hoş Geldiniz
Sevgili dostum nasıl yardımcı olabilirim?
Bu alana yazınız...