• DİKKAT

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

"subscribe out of range" hatası

  • Konbuyu başlatan Konbuyu başlatan bebar
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Kasım 2014
Mesajlar
255
Excel Vers. ve Dili
2013
Merhaba,

Aynı klasör içinde bulunann dosyalardan tek dosyaya veri kopyalıyorum bunu yaparken her dosya için ana sayfamda bir sekme oluşturup oraya kopyalamaya çalışıyorum.

Aşağıdaki gibi kod oluşturdum fakat " subscribe out of range" hatası veriyor yardımcı olursanız memun olurum.

çağırdığım dosya isimleri 12. ve hedef sekme isimlerim ise 13. Sütunda

Teşekkür ederim.


Sub dd1()
Dim YOL As String
Dim k2 As Workbook
Dim s1 As Worksheet
Dim s2 As Worksheet
Dim s3 As Worksheet
Dim a As String
YOL = ThisWorkbook.Path & "\"
Application.ScreenUpdating = False
Set s1 = Sheets("Veri1")

For i = 3 To s1.Cells(Rows.Count, 12).End(xlUp).Row

Set k2 = Workbooks.Open(YOL & s1.Cells(i, 12) & ".xls")
Set s2 = k2.Worksheets("Sayfa1")

s2.Range("A40:BB40").Copy
a = s1.Cells(i, 13).Value ' burada sorun olduğunu düşünüyorum
Set s3 = Sheets("a")
s3.Range("A40:BB40").PasteSpecial
Application.CutCopyMode = False
k2.Close 0

Next i
End Sub
 
Bu kod yapılan işlemin dosyada/sayfada bulunmayan bir yere yapılmaya çalıştığını gösteriyor. Hangi satırda hata verdiğini görmek için hata verdiğinde Debug tuşuna basabilirsiniz. Eğer bu düğme çıkmıyorsa kodlarınızı bir modüle alın ve makroyu modülden çalıştırın. O zaman debug yapabilirsiniz.
Bence sorun sheets("a") kısmında. Burda a isimli sayfaya referans veriyorsunuz. Halbuki a isimli değil a'nın değerindeki sayfa olmalı. Bunun için de

Sheets(a)

şeklinde dener misiniz?
 
Evet oldu hocam çok teşekkür ederim. 2 saattir kıvranıyordum :)
 
Geri
Üst