Sayfa adı yerine değişken kullanma

Katılım
26 Ekim 2006
Mesajlar
77
Excel Vers. ve Dili
2003 TR
z=2
For s = 1 To 10
For t = 1 To 25
Sayfa00.Cells(z, 2) = Sayfa1.Cells(t * 39 - 34, 7)
Sayfa00.Cells(z, 3) = Sayfa1.Cells(t * 39 - 33, 7)
Sayfa00.Cells(z, 4) = Sayfa1.Cells(t * 39 - 32, 7)
Sayfa00.Cells(z, 5) = Sayfa1.Cells(t * 39 - 27, 12)
Sayfa00.Cells(z, 6) = Sayfa1.Cells(t * 39 - 7, 10)
Sayfa00.Cells(z, 7) = Sayfa1.Cells(t * 39 - 6, 10)
z = z + 1
Next t
Next s



Şeklinde bir kod hazırladım ancak burada sayfa1.cells yerine birinci sayfa değilde s değişkenine göre sayfaya gitmesini istiyorum yani şöyle anlatayım s 1 olduğunda 1 nolu sayfadaki belirtilen bilgileri alsın s 2 olunca 2 nolu sayfaya geçsin ve o sayfadaki bilgileri alsın bu işlemi nasıl yapabilirim.



şimdiden yardımcı olmaya çelışan ve çalışacak arkadaşlara teşekkür ederim.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Sayfa1.Cells(...) yerine

Sheets(s).cells(...) kullanabilirsiniz.
 
Katılım
26 Ekim 2006
Mesajlar
77
Excel Vers. ve Dili
2003 TR
Necedet Bey;

Yardımınız için çok teşekkür ederim ama Sheets kullandığım zaman sayfa adları değişince problem yaşıyorum. o yüzden sıkıntı oluyor birde Sheets kuladığım zaman numerik olmayan sayfalardan alamıyorum. bu yüzden Sayfa1.cells şeklinde kullandım lakin değişkene göre yönlendiremiyorum
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,371
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba Sayın titris,

Kodlarınıza bakarak önermiştim. Dosyanızı görmedim ki.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. titris,

Necdet beyin önerdiği yöntemde sayfaların index sıralaması kullanılır. Örnek dosya eklemediğiniz ve yeterli açıklama yapmadığınız için sadece tahmin yürüterek iki önderide bulunmak istiyorum.

Eğer sayfa isimleriniz (1,2,3 ...) şeklinde ise Sheets("" & s).Cells(....) kodunu kullanabilirsiniz.

Ya da Necdet beyin kodunu kullanarak sayfa ismini denetleyerek sonuca gidebilirsiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Eklemiş olduğunuz örnek dosyaya göre aşağıdaki kodu kullanabilirsiniz.

Kod:
Sub AKTAR()
    Sheets("Liste").Select
    Range("B2:G706").ClearContents
    z = 2
    For t = 1 To 25
    For s = 3 To Sheets.Count
    Cells(z, 2) = Sheets(s).Cells(t * 39 - 34, 7)
    Cells(z, 3) = Sheets(s).Cells(t * 39 - 33, 7)
    Cells(z, 4) = Sheets(s).Cells(t * 39 - 32, 7)
    Cells(z, 5) = Sheets(s).Cells(t * 39 - 27, 12)
    Cells(z, 6) = Sheets(s).Cells(t * 39 - 7, 10)
    Cells(z, 7) = Sheets(s).Cells(t * 39 - 6, 10)
    z = z + 25
    Next
    Next
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 
Katılım
26 Ekim 2006
Mesajlar
77
Excel Vers. ve Dili
2003 TR
TeŞekkÜr

Korhan Bey;

Biraz değişiklik yapınca verdiğiniz kodlar tam olarak işimi gördü emeğiniz ve ayırdığınız zaman için çok teşekkür ederim korhan bey.


Saygılarımla.


Mehmet Cevher



Not: Korhan bey bi konuda bilgi edinmek istiyorum yazdığınız kodda s değeri 3 ten başladığı halde neden 1. sayfadaki değerler geliyor. buradaki sırrı çözemedim. Çok fazla zamanınızı aldığımı biliyorum eğer müsaitseniz bu bilgiyide öğrenmek isterim TŞK.

Not2:Galiba Çözdüm exceldeki sıralamaya göre gidiyor sayfa isimleri değişse dahi değerleri alıyor :)
 
Son düzenleme:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,269
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. titris,

Dikkat ederseniz 1 isimli sayfanızın index (sıra numarası) 3 tür. Dolayısı ile döngüyü 3 ile başlatığımızda ve sayfanın index numarasını döngüye aldığımızda problem çözülmüş oluyor.
 
Üst