• DİKKAT

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

Hata Kodu Sorgulama

  • Konbuyu başlatan Konbuyu başlatan kykbt
  • Başlangıç tarihi Başlangıç tarihi
Katılım
12 Nisan 2006
Mesajlar
303
Excel Vers. ve Dili
Office 2003
Office 2007
Arkadaşlar Merhaba

Run-time error 9: diye bir hata alıyorum.

Yapmak istediğim

Eğer hata = Run-time error '9': ise sonrakı satıra atla

Bunu nasıl yazabilirim?

Kod:
Sub Makro_Kapat()
'
On Error Resume Next

'Aşağıdaki codda hata veriyor. Çünki böyle bir dosya acık değil
'
    Windows("deneme1.XLS").Activate     'Bu kodda hata veriyor. Hata verince
    ActiveWorkbook.Saved = True
    ActiveWindow.Close

'buraya atlamasını istiyorum

    Windows("deneme2.XLS").Activate           'burada hata verince
    ActiveWorkbook.Saved = True
    ActiveWindow.Close

'buraya atlamalı

    Windows("deneme3.XLS").Activate
    ActiveWorkbook.Saved = True
    ActiveWindow.Close

End Sub
 
:cool:
Kod:
Sub Makro_Kapat()
'


'Aşağıdaki codda hata veriyor. Çünki böyle bir dosya acık değil
'
on error goto atla1
    Windows("deneme1.XLS").Activate     'Bu kodda hata veriyor. Hata verince
    ActiveWorkbook.Saved = True
    ActiveWindow.Close
atla1:
on error goto 0
'buraya atlamasını istiyorum
on errror goto atla2
    Windows("deneme2.XLS").Activate           'burada hata verince
    ActiveWorkbook.Saved = True
    ActiveWindow.Close
atla2:
on error goto 0
'buraya atlamalı
on error goto atla3
    Windows("deneme3.XLS").Activate
    ActiveWorkbook.Saved = True
    ActiveWindow.Close
atla3:
End Sub
 
Hocam Merhaba

İlginize teşekkür ederim.

Burada atla diye başladığımız kodla ilgili sabit tekbir kod yazılamazmı cünki kontrol ettiği yaklaşık 100 civarı kitap var yani atla100 gibi devemedecek ve cok uğraştıracak.

Kodu
Kod:
Windows("deneme3.XLS").Activate: ActiveWorkbook.Saved = True: ActiveWindow.Close

Şekinde yazıpta sadece alt satıra git gibi bir şey olamazmı?
Veya kodu daha kısa tek komut halinde abenzer amca uygun yazmak mümkün olmazmı?
 
Kodu değiştirin o zaman.Döngüye girin.
dosya adları deneme ie balyırsa ve 1-2-3 diye gidiyorsa
mesela 20 tane dosya varsa aşağıdaki gibi yapın.Klasör içindeyseler o zaman klasörde döngüye girin.Ne biletyim kodu siz yazmışınız siz bileceksiniz.:cool:
Kod:
for i = 1 to 20
on error goto atla
Windows("deneme" & i ".XLS").Activate     'Bu kodda hata veriyor. Hata verince
    ActiveWorkbook.Saved = True
    ActiveWindow.Close
atla:
on error goto 0
next
 
Şöyle bir matıkta olabilir.
Kod:
for i = 1 to workbooks.count
workbooks(i).Activate     'Bu kodda hata veriyor. Hata verince
    ActiveWorkbook.Saved = True
    ActiveWindow.Close
next i
 
Hocam Tekrar Teşekkürler ediyorum.

İnsan kıskanıyor bu mantığı niye düşünemedim diye;
Ancak hocam kelimesinin anlamıda bu olsa gerek, tüm vucudunuza sağlık...
 
Hocam Tekrar Teşekkürler ediyorum.

İnsan kıskanıyor bu mantığı niye düşünemedim diye;
Ancak hocam kelimesinin anlamıda bu olsa gerek, tüm vucudunuza sağlık...
Rica ederim.
iyi çalışmalar.:cool:
 
Geri
Üst