Soru Sayfa Çoğaltma Hakkında.

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhabalar,
Çalışma sayfamda forumda bulunan örneklerden bakarak oluşturmuş olduğum userform üzerinden "TASLAK SAYFA" sı üzerinden yeniden sayfa oluşturabiliyorum. Sorunum şu ki, "TASLAK SAYFA" sayfası içerisinde kodlar mevcut ve bu kodlar sadece "TASLAK SAYFA" içerisinde çalışmakta.
Userfomda yeni bir sayfa oluştururken sayfa adı değiştiği için kodlar çalışmamaktadır.
Oluşturulan her yeni sayfa da bu kodların çalışabilmesi mümkün müdür? "TASLAK SAYFA"sı içerisindeki kodlar çok uzun olduğundan burada eklememiştim.:-(
 

Ekli dosyalar

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,873
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Bir sayfanın kod kısmına Range("A1")="Test" kodunu yazar ve çalıştırırsanız, kodun bulunduğu sayfanın A1 hücresine "Test" yazmış olursunuz.

Yani sayfa ismi belirtilmemişse kod bulunduğu sayfada işlem yapar.
Onun için kodun bulunduğu sayfada işlem yapacaksanız sayfa ismini belirtmeyin.

Yani hv.Range yerine sadece Range yazın.
Aşağıdakileri de hiç yazmayacaksınız.
Kod:
Dim hv As Worksheet
Set hv = Sheets("TASLAK SAYFA")
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Merhaba Muzaffer bey,

İki adet kod mevcut ;
Bir tanesinde
Kod:
Set Sayfa = Sheets("TASLAK SAYFA")
bu şekilde sayfa ismi belirtiliyor.

Diğerinde de
Kod:
Set hv = Sheets("TASLAK SAYFA")
bu şekilde.
Bir önceki mesajınız da belirtmiş olduğunuz gibi "hv.Range " yazan yerlere sadece "Range" yazacağım. Lakin "set hv" de sayfa ismi belirtildiğinden orayı nasıl değiştirmek uygun olacak acaba.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,873
Excel Vers. ve Dili
2019 Türkçe
Aşağıdakileri de hiç yazmayacaksınız-Sileceksiniz.
Kod:
Dim hv As Worksheet
Set hv = Sheets("TASLAK SAYFA")
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Muzaffer bey ,
Uzun olan kodu söylediğiniz şekilde yaptım. Sorun olmadı teşekkür ederim.
Lakin aşağıdaki kodu yapamadım.

Bu kısmı silmiştim.

Kod:
Dim son As Integer
Set Sayfa = Sheets("TASLAK SAYFA")
Bu kısımlarda sorun oldu ;
son = Sayfa.Cells(Rows.Count, "C").End(3).Row

a = Left(Sayfa.Cells(i, "A").Value, 1)



Kod:
Sub DDZNLEME()
Dim Sayfa As Worksheet
Dim son As Integer
Set Sayfa = Sheets("TASLAK SAYFA")

son = Sayfa.Cells(Rows.Count, "C").End(3).Row
'Kural 3
For i = 3 To son
a = Left(Sayfa.Cells(i, "A").Value, 1)

If a = "Y" Then
Cells(i, "D") = "C"

ElseIf a = "R" Then
Cells(i, "D") = "T"

ElseIf a = "G" Then
Cells(i, "D") = "A"

ElseIf a = "B" Then
Cells(i, "D") = "G"
Else

End If
Next i

End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,873
Excel Vers. ve Dili
2019 Türkçe
"TASLAK SAYFA" adlı sayfayı hiçbir değişkene hiç atamayacaksınız.
Kod:
Dim Sayfa As Worksheet
Set Sayfa = Sheets("TASLAK SAYFA")
yada benzeri hiçbir kod olmamalı "TASLAK SAYFA" sayfası hiçbir değişkene atama yapılmamalı.

Sayfa.Cells yerine Cells
Sayfa.Range yerine Range
yazmalısınız.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Tamamdır Muzaffer bey, ilginiz için teşekkür ederim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,084
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Bu arada dim ve Set ile yaptığınız tanımlar kodun çalışmasına engel değil. O satırlar kalsa bile kodun kalan bölümünde o tanımlanmış değişkenleri kullanmazsanız sorun olmaz.
 

yesimgurol

Altın Üye
Katılım
8 Aralık 2011
Mesajlar
942
Excel Vers. ve Dili
Excel 2016,32bit
Altın Üyelik Bitiş Tarihi
18-11-2024
Teşekkür ederim Yusuf bey ilginiz ve bilgilendirmeniz için.
 
Üst