• DİKKAT

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

Çözüldü On Error Resume Next:?

Katılım
27 Eylül 2016
Mesajlar
60
Excel Vers. ve Dili
2010 tr
On Error Resume Next: kodunun kendinden sonraki tüm satırlarda değilde, sınırlı sayıda satırda (mesela sonraki 5 satır için) çalışması için ne yapabiliriz.
 
Şöyle yapabilirsiniz.

On error goto hatagec
...satır1
...satır2
...satır3
hatagec:

hatagec kelimesi yerine rakam ile başlamamak kaydı ile istediğinizi yazabilirsiniz
 
Aslında istediğim satır1 de hata varsa satır2 yi çalıştıracak. bu döngüyü 5 satır için yapacak.sonra yoluna normal devam edecek.
 
Merhaba.
Sorunuzu, kullandığınız kod da içerisinde olacak şekilde bir örnek belge üzerinden sorarsanız daha hızlı sonuca ulaşırsınız.
 
.

"Hata olsada durma" işlemini iptal etmek için
on error goto 0 komutunu kullanın.

.
 
Aşağıdaki yapıyı kullanabilirsiniz.

Kod:
Sub Test()
    On Error Resume Next
    Rem Çalışacak kodlarınız...
    Rem Çalışacak kodlarınız...
    Rem Çalışacak kodlarınız...
    Rem Çalışacak kodlarınız...
    On Error GoTo 0
    Rem Buradan sonra yazacağınız satırlarda hata olursa kod size uyarı verecektir.
End Sub
 
Dosya iş yerinde ortak kullanılıyor. açtıracağım diğer excel dosyası bazı pc lerde Z deyken bazılarında D yer alıyor. makro önce Z dekini açmayı denemeli hata bulursa D yi denemeli. tşk.


Sub YENİ_ÜYE_KAYDET()
Application.ScreenUpdating = False

If [B25].Value = "" Then
MsgBox "Yeni Üye ADI Girmediniz!!"
ElseIf [C25].Value = "" Then
MsgBox "Yeni Üye SOYADI Girmediniz!!"
ElseIf [D25].Value = "" Then
MsgBox "Yeni Üye ÜNVANI Girmediniz!!"
Else

'DEĞİŞKEN ATAR
Dim bukitap As Workbook
Set bukitap = ThisWorkbook
'BİLGİLERİ KAYNAK DOSYAYA GÖNDERİR
bukitap.Activate
Sheets("GİRİŞ").Select
Range("B25:F25").Select
Selection.Copy
'KAYNAK DOSYAYI AÇAR
On Error GoTo XXX
Workbooks.Open("Z:\Komisyon Üyeleri_SİLMEYİN.xlsx")
Workbooks.Open("D:\Komisyon Üyeleri_SİLMEYİN.xlsx")

Windows("Komisyon Üyeleri_SİLMEYİN.xlsx").Activate
Sheets("Sayfa1").Select
Range("K5").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Rows("10:10").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove

Range("K6").Select
ActiveCell.FormulaR1C1 = "=PROPER(R[-1]C)"
Range("L6").Select
ActiveCell.FormulaR1C1 = "=UPPER(R[-1]C)"
Range("M6").Select
ActiveCell.FormulaR1C1 = "=PROPER(R[-1]C)"

Range("K7").Select
ActiveCell.FormulaR1C1 = "=CONCATENATE(R[-1]C,"" "",R[-1]C[1])"

Range("K7").Select
Selection.Copy
Range("A10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False

Range("M6").Select
Selection.Copy
Range("B10").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Range("C1").Select

Columns("A:B").Select
Range("A34").Activate
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Sayfa1").Sort.SortFields.Add Key:=Range("A1:A68") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Sayfa1").Sort
.SetRange Range("A1:B68")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Columns("A:B").Select
ActiveSheet.Range("$A$1:$B$68").RemoveDuplicates Columns:=1, Header:=xlNo
Range("D1").Select

Columns("K:O").Select
Selection.Delete Shift:=xlToLeft
Columns("A:B").Select
Selection.Copy
'ANA DOSYAYA DÖNER
bukitap.Activate
Sheets("GİRİŞ").Select
Sheets("Veriler").Visible = True
Sheets("Veriler").Select
Columns("A:B").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("E24").Select
Application.CutCopyMode = False
'KAYNAĞI KAYDEDER KAYNAĞI KAPATIR
Windows("Komisyon Üyeleri_SİLMEYİN.xlsx").Activate
Application.DisplayAlerts = False
ActiveWorkbook.Close True
Application.DisplayAlerts = True
'ANA DOSYAYA DÖNER
bukitap.Activate
Sheets("Veriler").Select
ActiveWindow.SelectedSheets.Visible = False
Range("B25:F25").Select
Application.CutCopyMode = False
Selection.ClearContents
Range("A23").Select
Exit Sub

XXX:
Application.CutCopyMode = False
MsgBox "ORTAK:/ BİLGİSAYAR AÇIK DEĞİL!!"
Range("A23").Select
Exit Sub

End If

Application.ScreenUpdating = True
End Sub
 
Ayrıca Application.ScreenUpdating = False/True komutu işlemiyor. nerde yanlış yapıyorum. tşk.
 
Application.ScreenUpdating = False/True komutuna
Application.EnableEvents = False/True komutunu ekleyince düzeldi.
 
Geri
Üst