• DİKKAT

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

Kodların Verdiği Hataya Göre İşlem yapmak

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Selam,

Bir makroda belirli bir kod satrında oluşan hataya göre mesaj yazmak veya işlem yapmak istiyorum. Nasıl yapabilirim?
(Yani herhangi bir satırda veya herhangi bir arıza verdiğine değilde, belirtilen satırda belirtilen hata olduğu zaman çalışacak)

Kod:
Örneğin;
Kod:
.............
[COLOR="Red"][B]
BT.PrintOut Copies:=1, Collate:=True[/B][/COLOR]

.................
kodlarımda kırmızı satırda
Run-time error '1004:'
Method 'PrintOut' of object '_Worksheet' failed


hatası oluyor. aynı kodlu hata oluğu zaman " Hata kodu=xxx yazdırma başarılı değil" gibi bir uyarı vermesini istiyorum.

Böyle birşey mümkün müdür? Yardımcı olabilirseniz çok sevinirim.

İyi çalışmalar.
 
Merhaba,

Bu mantıkla olabilir. Deneme yapmadım..

Kod:
If Err.Number = 1004 Then
    MsgBox "Hata Kodu 1004 Yazdırma Başarısız."
    Exit Sub
Else
    BT.PrintOut Copies:=1, Collate:=True
End If

.
 
Merhaba,

Bu mantıkla olabilir. Deneme yapmadım..

Kod:
If Err.Number = 1004 Then
    MsgBox "Hata Kodu 1004 Yazdırma Başarısız."
    Exit Sub
Else
    BT.PrintOut Copies:=1, Collate:=True
End If

.

Selam Sayın Ömer Hocam,
Kodları denedim ama olmadı. 1004 hatası aşağıdaki kırmızı satıda verdi.
Kod:
[CODE] 
If Err.Number = 1004 Then
    MsgBox "Hata Kodu 1004 Yazdırma Başarısız."
    Exit Sub
Else
    [COLOR="Red"]BT.PrintOut Copies:=1, Collate:=True[/COLOR]
End If
[/CODE]
 
Selamlar,

Aşağıdaki kod yapısını kullanabilirsiniz.

Kod:
Option Explicit
 
Sub HATA_KONTROLÜ()
    On Error GoTo Hata
    Sheets("Sayfa100").Select
Hata:
    If Err.Number = 9 Then
        MsgBox "Hata Kodu : " & Err.Number & Chr(10) & _
        "İlgili sayfa bulunamadı !", vbCritical
    End If
End Sub
 
Selamlar,

Aşağıdaki kod yapısını kullanabilirsiniz.

Kod:
Option Explicit
 
Sub HATA_KONTROLÜ()
    On Error GoTo Hata
    Sheets("Sayfa100").Select
Hata:
    If Err.Number = 9 Then
        MsgBox "Hata Kodu : " & Err.Number & Chr(10) & _
        "İlgili sayfa bulunamadı !", vbCritical
    End If
End Sub

Selam Hocam,
Çok teşekkür ederim. Verdiğiniz kodlardan istifade ile aşağıdaki gibi yaptım. Sorun giderildi.
Kod:
On Error Resume Next
BT.PrintOut Copies:=1, Collate:=True
'If Err.Number = 1004 Then
If VBA.Error = Error(1004) Then
MsgBox "Hata Kodu 1004 Yazdırma Başarısız."
Exit Sub
End If
İyi çalışmalar.
 
Geri
Üst