• DİKKAT

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

Şu basit iş neden hata veriyor?

Katılım
7 Mayıs 2005
Mesajlar
35
Þu basit iş neden hata veriyor?

Kod:
     With Workbooks("A.XLS").Worksheets("A")
         .Range("2:2").Insert
         .Range(Cells(2, 9), Cells(2, 11)).Value = .Range(Cells(3, 9), Cells(3, 11)).Value
         End With

Yukarda "object" hatası veriyor. Burada yanlışlık nedir?
Select ile yaptığımda sorun çıkmıyor.
Teşekkürler...
 
Merhaba,

Kod:
With Workbooks("Kitap2.XLS").Worksheets("Sayfa1")
         .Range("2:2").Insert
         .Range(Cells(2, 9), Cells(2, 11)).Value = .Range(Cells(3, 9), Cells(3, 11)).Value
         End With

Yukarıdaki kodu çalıştırdım ve herhangi bir hata almadım, sorun koddan gelmiyor olabilir.

Versiyon : MS Office 2003 TR
 
Sn Sergions,
İlginiz için çok teşekkür ederim.
Boş dosyada çalıştırınca bende de çalışıyor. Ama program içinde

.Range(Cells(2, 9), Cells(2, 11)).Value = .Range(Cells(3, 9), Cells(3, 11)).Value

kısmında "object" hatası veriyor. Acaba ayrı bir çalışma kitabı çağırdığı için mi bu ortaya çıkıyor? Ne olabilir, anlamıyorum.
 
Sizin "kitap2" de çalıştırdığınız kodu ben bir de ayrı kitaptan çalıştırdım. Yine çalışıyor.
Ama program içinde hata alıyorum. Hata mesajını da vereyim.
 
Þu hata mesajını alıyorum:

Run-time error '1004':

Application-defined or object-defined error
 
"1004" çalışma hatası

O zaman sayfanız şifreli demek ki.
Sayfanız da sayfa koruması var mı bir kontrol edin.
 
Sn excelman,
Teşekkür ederim.
Sayfa korumalı değil. Ayrıca "select" yöntemini kullanınca problem olmuyor. "With" yönteminde sorun çıkıyor.
"Select" yöntemini de mümkünse kullanmak istemiyorum.
 
Dosyanızı ekleyebilirseniz yardımcı olmak isteyenler çıkacaktır.
 
Birde aşağıdaki gibi deneyin.

[vb:1:8c25a23e4e] Sheets("sayfa1").[i2:k2] = Sheets("sayfa1").[i3:k3].Value
[/vb:1:8c25a23e4e]
 
Sn leventm,
Ã?neriniz şaşırtıcı biçimde çalıştı. Çok teşekkürler...
"Range" yerine bu biçimde de tanımlama yapabileceğimizi bilmiyordum.
O nedenle de şaşırtıcı buldum.
Sanırım, problemi yaratan "Range" yöntemiymiş. Nedenini de öğrenebilseydik güzel olurdu.
 
Aşağıdaki gibide çalışacaktır.

[vb:1:c8fa1ec35b]sheets("sayfa1").Range(Cells(2, 9), Cells(2, 11)).Value = sheets("sayfa1").Range(Cells(3, 9), Cells(3, 11)).Value
[/vb:1:c8fa1ec35b]

Sorun sanırım aşağıdaki yazım şeklinden kaynaklanıyor. Burada range in başına sheets("sayfa") eklerseniz çalışması gerekir.

=.Range(Cells(3, 9), Cells(3, 11)).Value

Not:range içinde hücreleri eğer satır veya sütun değerleri değişken değilse cells ile tanımlamaya gerek yoktur. Bunun yerine range("i2:k2") şeklindede tanımlama yapabilirsiniz.
 
Bu arada sizin değerli katkılarınızla sorunun nedenini buldum. Gerçekten basitmiş. Ama benim yarım günüme maloldu. Aşağıdaki gibi yapınca sorun çözüldü:

Kod:
     With Workbooks("A.XLS").Worksheets("A")
         .Range("2:2").Insert
         .Range(.Cells(2, 9), .Cells(2, 11)).Value = .Range(.Cells(3, 9), .Cells(3, 11)).Value
         End With

Değerli yardımlarınız için çok teşekkür ederim...
 
Yukardaki mesajı yazdığımda sizin mesajınızı almamıştım.
Ama sonuçta yardımlarınızla çözüme ulaşmış oldum. Bu da benim açımdan önemli bir kazanç oldu.
Herkese kolay gelsin.
 
Geri
Üst