• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

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.
 
Merhaba,

Sayfa1.Cells(...) yerine

Sheets(s).cells(...) kullanabilirsiniz.
 
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
 
Merhaba Sayın titris,

Kodlarınıza bakarak önermiştim. Dosyanızı görmedim ki.
 
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.
 
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
 
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:
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.
 
Geri
Üst