• DİKKAT

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

Soru Subscript out of range

Katılım
29 Aralık 2012
Mesajlar
30
Excel Vers. ve Dili
Microsoft 365
Merhaba Arkadaşlar,
Deneme.xlsm dosyamdaki "Veri" sayfasında yer alan C5:C77 hücre aralığını kopyalayarak mevcut açmış olduğum exceldeki F2 hücresinden alta doğru kopyalamak istiyorum ancak kodu çalıştırdığımda Workbooks("ad") ile başlayan satırda "Subscript out of range" hatası alıyorum. Acaba neyi yanlış yapıyorum?



Kod:
Sub Veri_Kopyala()

Application.ScreenUpdating = False

Dim ad, yol As String

ad = "Deneme.xlsm"

yol = "Dosya konumu\"

    CreateObject("Shell.Application").Open yol & ad
    Workbooks("ad").Sheets("Veri").Range("C5:C77").Select
    Selection.Copy
    ActiveWorkbook.Worksheets("Sayfa1").Range("F2").Select
    ActiveSheet.Paste
        
Application.ScreenUpdating = True

End Sub
 
Merhaba.
Dosya adına uzantısını da yazmalısınız.

Workbooks("ad.xlsx") şeklinde
 
Deneyiniz.:cool:
Kod:
Workbooks(ad).Sheets("Veri").Range("C5:C77").Select
 
Olası diğer sorunlar
1- Deneme.xlsm dosyasında "Veri" adında bir sayfa yoktur. Yada belki başında yada sonunda yanlışlıkla eklenmiş bir boşluk olabilir. " Veri" yada "Veri " gibi. Kontrol edin.
2- Aktif olmayan sayfada hücre seçimi yapamazsınız. Bir hücre seçmek isterseniz önce o hücrenin bulunduğu sayfayı sayfayı seçmelisiniz(Aktif etmelisiniz).
Kod:
Workbooks("ad").Sheets("Veri").Select
Workbooks("ad").Sheets("Veri").Range("C5:C77").Select
şeklinde.

Önerim, madem kopyalama yapacaksınız o zaman hücre seçmenize gerek yok.
Kodu aşağıdaki gibi yazarak da kopyalama yapabilirsiniz.

Kod:
Sub Veri_Kopyala()
    Dim ad, yol As String
    ad = "Deneme.xlsm"
    yol = "Dosya konumu\"
    Workbooks.Open yol & ad
    Workbooks(ad).Sheets("Veri").Range("C5:C77").Copy ThisWorkbook.Worksheets("Sayfa1").Range("F2")
End Sub
 
Olası diğer sorunlar
1- Deneme.xlsm dosyasında "Veri" adında bir sayfa yoktur. Yada belki başında yada sonunda yanlışlıkla eklenmiş bir boşluk olabilir. " Veri" yada "Veri " gibi. Kontrol edin.
2- Aktif olmayan sayfada hücre seçimi yapamazsınız. Bir hücre seçmek isterseniz önce o hücrenin bulunduğu sayfayı sayfayı seçmelisiniz(Aktif etmelisiniz).
Kod:
Workbooks("ad").Sheets("Veri").Select
Workbooks("ad").Sheets("Veri").Range("C5:C77").Select
şeklinde.

Önerim, madem kopyalama yapacaksınız o zaman hücre seçmenize gerek yok.
Kodu aşağıdaki gibi yazarak da kopyalama yapabilirsiniz.

Kod:
Sub Veri_Kopyala()
    Dim ad, yol As String
    ad = "Deneme.xlsm"
    yol = "Dosya konumu\"
    Workbooks.Open yol & ad
    Workbooks(ad).Sheets("Veri").Range("C5:C77").Copy ThisWorkbook.Worksheets("Sayfa1").Range("F2")
End Sub

Bu şekilde daha kolay oldu teşekkür ederim :)
 
Rica ederim Kolay gelsin.
 
Geri
Üst