Sto leggendo su come usare On Error Resume Next
e sto cercando di capire per quanto tempo quella linea si applicherà al programma. Sul sito di Microsoft, ho trovato questa frase: "An On Error Resume Next l'istruzione diventa inattiva quando viene chiamata un'altra procedura." Cosa significa esattamente questo? Che cosa è considerata una procedura?VBA: Quanto dura On Error Resume Next?
Chiedo perché sto usando la linea nel mio programma, ma non lo voglio a Resume Next
tutti gli errori di runtime che si verificano, solo l'ovvio sulla riga successiva.
Codice: Dim zRange come gamma
Call FilterTableFor(fieldNameColumn, Array("baseunitprice", "burden", "MTLBURRATE", "PurPoint", "Vendornum"))
On Error Resume Next
Set zRange = commentsColumnRange.SpecialCells(xlCellTypeVisible)
zRange.Formula = "target"
Call FilterTableFor(fieldNameColumn)
Ho anche scoperto (e conosco da un po ') che On Error
o GoTo
linee sono considerati poveri di codifica. C'è un Try-Catch
che posso usare per una linea come questa?
Sto pensando qualcosa di simile:
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)
Dove non so nemmeno fare qualsiasi cosa con esso, come non mi sento un bisogno.
Grazie per il vostro tempo.
Usando 'On Error ...' non è "considerato povero di codifica". Lo sta usando solo * male *. Non c'è "Try ... Catch' in VBA. –
@TimWilliams VBA non segue tutte le regole di Visual Basic? – Tawm
VBA è basicamente VB6. Non è VB.NET – MatthewD