Soru Sayfa Ekleme (Var olan sayfayı eklememe)

Katılım
27 Mart 2019
Mesajlar
37
Excel Vers. ve Dili
2013 türkçe
Arkadaşlar merhaba aşağıdaki gibi bir kodla sayfa ekliyorum. Fakat yeni eklediğim sayfa ismi varsa olan sayfaları eklemesini istemiyorum. Bunun için ne yapmam lazım. Bir kaç deneme yaptım ama başaramadım. Yardımcı olabilirseniz sevinirim.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim sayı, i As Integer
sayı = WorksheetFunction.CountA(Range("A1", Range("A1").End(xlDown)))
i = 2
Do While i <= sayı
Sheets.Add(after:=Sheets(Sheets.Count)).Name = Sheets("Sayfa1").Cells(i, 1).Value
i = i + 1
Loop
End Sub
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,742
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Çözümü paylaşmayacak mısınız?
 
Katılım
15 Aralık 2008
Mesajlar
202
Excel Vers. ve Dili
excel 2010
Üstadım bari biz yazalım da çözümü arayan arkadaşlar bu alandan faydalansın.

Sayfa Adını TextBox1 e yazalım
Kodu bir CommandButtona atayalım.

Private Sub Commandbutton1_Click()
Dim UrunAdiSayfasi As String
UrunAdiSayfasi = TextBox1.Text
If Worksheets(UrunAdiSayfasi).Name = True Then
Sheets.Add after:=Worksheets(Worksheets.Count)
Worksheets(UrunAdiSayfasi).Select
ActiveSheet.Name = UrunAdiSayfasi
End If
Worksheets(UrunAdiSayfasi).Select
End Sub
 
Katılım
27 Mart 2019
Mesajlar
37
Excel Vers. ve Dili
2013 türkçe
Arkadaşlar niye paylaşmayayım. Ben ihtiyaç olmaz belki diye yazmamıştım. Hakkınızı helal edin.
Şöyle bir yöntemle halledildi.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

Dim sayı As Integer
Dim ad As String
Dim i As Integer
sayı = WorksheetFunction.CountA(Range("A1", Range("A1").End(xlDown)))
For i = 1 To sayı
ad = Sheets("Sayfa1").Cells(i, 1).Value

If (Sheet_Exists(ad) = False) And (ad <> "") Then
Worksheets.Add().Name = ad
End If
Next i
End Sub

Function Sheet_Exists(WorkSheet_Name As String) As Boolean
Dim Ws As Worksheet

Sheet_Exists = False

For Each Ws In ThisWorkbook.Worksheets

If Ws.Name = WorkSheet_Name Then
Sheet_Exists = True
End If
Next
End Function
 
Üst