Excel'de vba kullanarak bir sayfayı nasıl yeniden adlandırabilirim?

Çalışma kitabına yeni bir sayfa eklediğinizde, bunu adlandırma seçeneğiniz vardır. Ancak çalışma sayfasının name özelliğini kullanarak istediğiniz zaman yeniden adlandırabilirsiniz. Bu öğreticide, VBA kodunu kullanarak bir sayfayı veya birden çok sayfayı yeniden adlandırmanın farklı yollarına bakacağız.

VBA kodunu kullanarak bir sayfayı yeniden adlandırma adımları

  1. Öncelikle, çalışma sayfası nesnesini kullanarak yeniden adlandırmak istediğiniz sayfayı tanımlayın.
  2. Bundan sonra değiştirmek istediğiniz name özelliğine erişmek için (.Name) kullanmanız gerekir.
  3. Ardından, VBA’ya sayfayı yeniden adlandırmak için kullanmak istediğiniz değeri belirtmek üzere eşittir işareti yazın.
  4. Sonunda kullanmak istediğiniz sayfanın adını yazın.
yeniden adlandırmak istediğiniz sayfayı tanımlayın

Yararlı bağlantılar: Makro çalıştırmaMakro kaydediciVisual Basic DüzenleyiciKişisel Makrolar El Kitabı

Etkin sayfayı yeniden adlandır

Etkin sayfayı yeniden adlandırmak istiyorsanız bu durumda sayfa adını ayarlamanıza gerek yoktur; bunun yerine VBA’ya şu anda etkin sayfaya başvurmasını söyleyen ActiveSheet nesnesini kullanmanız gerekir. İşte kod.

 Activesheet.Name = "mySheet"
etkin sayfayı yeniden adlandır

Not: Bir sayfayı yeniden adlandırmak için onu etkinleştirmenize gerek yoktur.

Sayfa numarasını kullanarak bir sayfayı yeniden adlandırın

Bildiğiniz gibi her sayfanın çalışma kitabındaki konumuna göre bir numarası vardır. Diyelim ki beşinci numaradaki sayfanızı yeniden adlandırmak istiyorsunuz, kod şöyle olacaktır.

 Sheets(5).Name = "mySheet5"
sayfa numarasını kullanarak bir sayfayı yeniden adlandırın

Yukarıdaki makroyu çalıştırdığınızda beşinci numaradaki sayfayı yeniden adlandırır.

sayfayı numaraya göre yeniden adlandır

Yeniden adlandırmadan önce sayfanın mevcut olup olmadığını kontrol edin

Var olmayan bir çalışma sayfasını yeniden adlandırmaya çalışırsanız VBA size aşağıdaki gibi bir hata gösterecektir.

yeniden adlandırmadan önce sayfanın mevcut olup olmadığını kontrol edin

Bu sorunun çözümü, tanımladığınız sayfayı bulmak ve ardından bu sayfayı yeniden adlandırmak için tüm çalışma sayfalarında dolaşabilen FOR EACH kullanan aşağıdaki koddur.

 Sub check_sheet_rename() Dim ws As Worksheet Dim mySheet As String Dim SheetName As String mySheet = InputBox("enter the name of the sheet that you want to rename.") SheetName = InputBox("Enter new name for the sheet.") For Each ws In ThisWorkbook.Worksheets If mySheet = ws.Name Then ws.Name = SheetName End If Next ws End Sub

Bir hücrenin veya aralığın değerini kullanarak sayfayı yeniden adlandırın

Ayrıca bir hücrenin değerini alarak bir sayfayı yeniden adlandırabilirsiniz. Değerin A1 hücresinde olduğunu varsayalım.

 Sheets("Sheet1").name = Range("A1").Value

Ancak diyelim ki birden fazla sayfayı bir hücre aralığındaki değerlere göre adlandırmak istiyorsunuz. Bu durumda aşağıdaki gibi bir koda sahip olmanız gerekir.

 Sub vba_sheet_rename_multiple() Dim wsCount As Long Dim rCount As Long Dim ws As Worksheet Dim name As Range Dim i As Long wsCount = ThisWorkbook.Worksheets.Count rCount = Range("A1:A10").Rows.Count 'Checks if the count of the names provided is less _ or more than the sheets in the workbook If wsCount <> rCount Then MsgBox "There's some problem with the names provided." Exit Sub Else 'Check if any of the cells in the name range is empty. For Each name In Range("A1:A10") If IsEmpty(name) = True Then i = i + 1 End If Next name If i > 0 Then MsgBox "There's is a blank cell in the names range." Exit Sub End If End If 'rename each sheet using the value from the range cell by cell. i = 1 For Each ws In ThisWorkbook.Worksheets ws.name = Range("A1:A10").Cells(i, 1).Value i = 1 + i Next ws End Sub

Bu VBA kodunu çalıştırdığınızda, öncelikle aralıktaki hücrelerin çalışma kitabındaki sayfa sayısına eşit olup olmadığını kontrol eder. Bundan sonra belirttiğiniz aralıktaki tüm hücrelerin değerlerinin olup olmadığını kontrol edecektir. Ve sonunda tüm sayfaları bu adları kullanarak yeniden adlandırın.

IF THEN ELSE kullanarak iki koşulu kontrol edecek ve ardından tüm sayfaları yeniden adlandıracaktır.

Yorum ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir