Przeczytałem, jak używać On Error Resume Next
i staram się dowiedzieć, jak długo ta linia będzie miała zastosowanie do programu. Na stronie Microsoftu znalazłem to zdanie: "An On Error Resume Następna instrukcja staje się nieaktywna po wywołaniu innej procedury." Co to dokładnie oznacza? Co uważa się za procedurę?VBA: Jak długo działa opcja On Error Resume Next?
Pytam, ponieważ używam wiersza w moim programie, ale nie chcę, aby to było Resume Next
wszystkie błędy środowiska wykonawczego, które występują, po prostu oczywiste w następnym wierszu.
Kod: Dim zRange jako zakres
Call FilterTableFor(fieldNameColumn, Array("baseunitprice", "burden", "MTLBURRATE", "PurPoint", "Vendornum"))
On Error Resume Next
Set zRange = commentsColumnRange.SpecialCells(xlCellTypeVisible)
zRange.Formula = "target"
Call FilterTableFor(fieldNameColumn)
Ja również znaleźć (i znane na chwilę), że On Error
lub GoTo
linie są uważane ubogich kodowania. Czy istnieje linia Try-Catch
, której mogę użyć do takiej linii?
myślę tak:
Dim zRange As Range
Call FilterTableFor(fieldNameColumn, Array("baseunitprice", "burden", "MTLBURRATE", "PurPoint", "Vendornum"))
Try
Set zRange = commentsColumnRange.SpecialCells(xlCellTypeVisible)
zRange.Formula = "target"
Catch()
Call FilterTableFor(fieldNameColumn)
Gdzie ja nawet nie robić nic z nim, bo nie czują takiej potrzeby.
Dzięki za poświęcony czas.
Korzystanie '' On Error ... nie jest „uznawany za niski kodowanie”. Używa się go tylko * źle *. Nie ma "Spróbuj ... Złapać" w VBA. –
@TimWilliams nie VBA nie przestrzega wszystkich zasad Visual Basic? – Tawm
VBA to w zasadzie VB6. Nie jest to VB.NET – MatthewD