• DİKKAT

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

Copy Destination hatası, neden?

Katılım
11 Nisan 2009
Mesajlar
43
Excel Vers. ve Dili
2010 TR
Merhaba

Kod: Tümünü seç
dim a as integer
for a=1 to 100
as1 = a
Worksheets("Liste").Range(Cells(as1, 9), Cells(as1, 14)).Copy Destination:=Worksheets("Rapor").[AF1:AK1]
'print et
next a


...şeklinde rapor çıkarma komutlarım var, ancak aşağıdaki satırdan dolayı Run-time error '1004' hatası veriyor. Neden olabilir?

Worksheets("Liste").Range(Cells(as1, 9), Cells(as1, 14)).Copy Destination:=Worksheets("Rapor").[AF1:AK1]

Bu arada komutlar "Rapor" sayfası aktifken çalışıyor. Bundan olabilir mi?
 
Merhaba

Sub Tümünüseç()
Dim a As Integer
Application.ScreenUpdating = False
For a = 1 To 100
as1 = a
Sheets("Liste").Select
Worksheets("Liste").Range(Cells(as1, 9), Cells(as1, 14)).Copy Destination:=Worksheets("Rapor").[AF1:AK1]
'print et
Next a
Sheets("Rapor").Select
Application.ScreenUpdating = True
End Sub
Şeklinde denermisiniz
 
aşağıdaki şekilde kullanılır ise sayfayı aktif hale getirmek gerekmez.
diğer husus as1 diye bir değişkene ihtiyaç yok. a zaten var.

Kod:
Dim a As Integer

For a = 1 To 10
    Worksheets("Liste").Range("I" & a & ":N" & a).Copy _
        Destination:=Worksheets("Rapor").Range("AF1")
    'print et
Next a
 
Merhaba

Sub Tümünüseç()
Dim a As Integer
Application.ScreenUpdating = False
For a = 1 To 100
as1 = a
Sheets("Liste").Select
Worksheets("Liste").Range(Cells(as1, 9), Cells(as1, 14)).Copy Destination:=Worksheets("Rapor").[AF1:AK1]
'print et
Next a
Sheets("Rapor").Select
Application.ScreenUpdating = True
End Sub
Şeklinde denermisiniz

Aslında bu yol aklıma gelmişti ama ben "liste" sayfasını aktive etmeden bunu yapmanını yolunu arıyorum... teşekkürler.
 
aşağıdaki şekilde kullanılır ise sayfayı aktif hale getirmek gerekmez.
diğer husus as1 diye bir değişkene ihtiyaç yok. a zaten var.

Kod:
Dim a As Integer

For a = 1 To 10
    Worksheets("Liste").Range("I" & a & ":N" & a).Copy _
        Destination:=Worksheets("Rapor").Range("AF1")
    'print et
Next a

Bu adres tarif yöntemi aklıma gelmemişti. İşimi görecek.

Çok teşekkür ederim. İyi çalışmalar.
 
Geri
Üst