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
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,363
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Dosya adına uzantısını da yazmalısınız.

Workbooks("ad.xlsx") şeklinde
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,248
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
Deneyiniz.:cool:
Kod:
Workbooks(ad).Sheets("Veri").Range("C5:C77").Select
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,363
Excel Vers. ve Dili
2019 Türkçe
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
 
Katılım
29 Aralık 2012
Mesajlar
30
Excel Vers. ve Dili
Microsoft 365
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 :)
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
6,363
Excel Vers. ve Dili
2019 Türkçe
Rica ederim Kolay gelsin.
 
Üst